principal: construir uma base de dados para produção de · apresentação postgresql - download e...
TRANSCRIPT
• 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;
VantagensFacilidade criação e manutenção dados;Simplicidade uso dos comandos (dBase);
DesvantagensMonousuá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 caractereschar;varchar;
Númerointeger/int;decimal/numeric;
Datasdate;timestamp;
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;
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 objetosExemplos: 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;