C - IESC/UFRJ

Propaganda
•
Principal: construir uma base de dados para produção de
informações sobre internações hospitalares;
•
Específicos:
- criar um banco de dados para armazenar registros sobre
internações hospitalares;
- produzir consultas sobre internações hospitalares;

Dados a serem armazenados:
 Pacientes – nome, data de nascimento, gênero, logradouro, bairro,
município, Unidade da Federação (UF) e CEP;
Internações: data da internação, data da alta, diagnóstico principal,
diagnóstico secundário e desfecho;
Hospitais: código (CNES), razão social, CNPJ, logradouro, bairro,
município, Unidade da Federação (UF) e CEP;
•
Consultas
• Pacientes, segundo: gênero, idade e município;
• Internações, segundo: diagnóstico principal e hospital;
• Tempo de permanência, segundo: diagnóstico de internação e hospital;
• Desfecho, segundo: diagnóstico de internação, hospital;
Introdução a bancos de dados e SQL
- sistemas de gerenciamento de bancos de dados;
- modelo entidade/relacionamento (ER)
- chaves: primária e secundária;
- SQL
- sintaxe;
- palavras-chave;
- operadores
Apresentação postgresql
- download e instalação
- ferramenta de adminstração - pgAdmin

•
SQL – Definição de dados
- criação de tabelas
- alterações na estrutura de uma tabela
- exclusão de tabelas
•
SQL – Manipulação de dados
- inserção de registros
- alterações em dados registrados
- exclusão de registros
•
SQL – Consulta aos dados
- seleção de linhas em uma tabela;
- junções
- visões
•
SQL – Funções
- cadeias de caracteres
- numéricas
- manipulação de datas
•
Rotinas de segurança
- cópia de segurança
- restauração de base de dados
•
Migração de dados
- importação de dados a partir de outros formatos de arquivos
- exportação de dados para outros formatos de arquivos
•
Processadores de textos;
•
Planilhas eletrônicas;
•
DBF
dBase;
Vantagens
Facilidade criação e manutenção dados;
Simplicidade uso dos comandos (dBase);
Desvantagens
Monousuário;
Perda de dados – corrupção dos arquivos;
Ausência de mecanismos de consistência dos dados;
Ausência de mecanismos para segurança dos dados;
•
Banco de dados = conjunto integrado de registros formatados segundo regras
específicas e fixas (Sanches et. al, 2002; Taylor, 2003);
•
Registro = representação de algum objeto físico ou conceitual (Taylor, 2003);
•
SGBD = conjunto de programas para definir e manter dados, possibilitando
acesso, modificação e extração de dados (Taylor, 2003; Kriegel & Trukhnov,
2008);
•
Bancos de dados disponíveis:
Oracle – MySQL – SQL Server
Postgresql – DB2 – Access – Firebird

Tabela = Tabelas são estruturas bi-dimensionais identificadas por um nome
e formadas por linhas e colunas para o armazenamento de registros relativos
a objetos do mesmo tipo;
* no modelo em construção, os dados dos pacientes e dos hospitais devem
ser armazenados em tabelas diferentes;
•
Colunas = representam os atributos de um objeto e, como as tabelas, são identificadas
por um nome;
•
Tipos de colunas:
Cadeia de caracteres
char;
varchar;
Número
integer/int;
decimal/numeric;
Datas
date;
timestamp;



Objetos/entidades diferentes na mesma tabela;
Redundância;
Inconsistência de dados;
Criação do banco de dados – Eliminando eventuais
problemas
Criação do banco de dados – Acrescentando novas
tabelas
* Outras tabelas poderiam ser acrescentadas. Por exemplo, para endereços dos pacientes

Relacionamento 1 para 1 (1:1) - uma linha da tabela A relaciona-se com apenas uma linha
da tabela B;

Relacionamento 1 para muitos (1:N) – uma linha da tabela A relaciona-se com várias linhas
da tabela B;

Relacionamento muitos para muitos (M:N) – várias linhas da tabela A relacionam-se com
várias linhas da tabela B;
•
Chave-primária (primary key) – identifica univocamente um objeto em uma tabela;
•
Pode ser gerada por meio de:
uma coluna – simples;
mais de uma coluna – composta;
. A coluna para chave primária pode ser:
um identificador natural do objeto - exemplo: cnes, para hospitais;
um identificador alternativo (surrogate key), cujo valor é gerado automaticamente;
Chave estrangeira (foreign key – fk) - Coluna de uma tabela que aponta para a chave primária de outra
tabela;

unique – indica que a coluna receberá um determinado valor apenas uma vez;

check especifica uma que condição que a coluna precisa atender para salvar um registro;
exemplo: genero= 'M' ou 'F';

not null – torna obrigatório o preenchimento da coluna;

* Uma chave primária possui as restrições: unique e not null;
Criação do banco de dados – Modelo final –
Relacionamentos e uso de chave alternativa como pk

SQL (Structure Query Language) - linguagem para a definição e manutenção das estruturas das
tabelas, bem como, a entrada, atualização e extração de dados;

Baseada em declarações para definição e manipulação dos dados;
Declaração = sequência de comandos;
Comando = uma sequência de termos;
Termo = palavra chave, um identificador, um identificador entre aspas, um literal (ou constante), ou
um caractere especial;



Exemplo: SELECT * FROM minha_tabela;
Os termos SELECT e FROM são palavras-chave;
O termo minha_tabela é um identificador relativo ao nome da tabela;

Palavra chave - palavras que possuem um significado definido na linguagem
SQL;
Exemplos: SELECT, FROM, UPDATE;
- Identificadores – identificam nomes de tabelas, colunas e outros objetos
Exemplos: pacientes, hospitais
-
•
Palavras chave e identificadores:
iniciar com: uma letra (a-z e ou letra não latinas), ou o caractere sublinhado (_);
seguida de: letras, sublinhados, dígitos (0-9)
A linguagem SQL não diferencia letras maiúsculas e minúsculas nas palavras chave e
nos identificadores, a não ser que os identificadores sejam delimitados por aspas (")
Exemplo: SELECT nome FROM pacientes;
select NOME from PACIENTES;
-
Palavras chave e identificadores:
iniciar com: uma letra (a-z e ou letra não latinas), ou o caractere sublinhado (_);
seguida de: sublinhados, dígitos (0-9)
* Recomendação comunidade postgresql:
- Evitar colocar aspas no identificador ao criar tabelas ;
- Utilizar somente caracteres minúsculos em identificadores;

Constantes - seqüência arbitrária de caracteres envolta por apóstrofos (')
Exemplo: ‘Maria’;
- Constantes – numéricas
Exemplos: 10
10.5

Operadores:
Lógicos : AND, OR e NOT;
Comparação: = ,< , <=, >, >=, <> ou != (diferente)
Matemáticos: +, -, *, /, % (módulo – resto), ^ (exponenciação), |/ (raiz
quadrada), @ (absoluto);
Características:
- Livre;
- Open Source;
- Multiplataforma;
- Tamanho Máximo do Banco de Dados – Ilimitado;
- Tamanho máximo de uma Tabela - 32 Tb (terabyte);
- Tamanho Máximo de uma Linha - 1.6 Tb (terabyte);
- Tamanho Máximo de um Campo - 1 Gb (gigabyte);
- Máximo de Linhas por Tabela – Ilimitado;
- Máximo de Colunas por Tabela - 250–1600;
Download