Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados Ricardo Luis Balieiro Revisão 2 Modelo Conceitual Transformação ER para Relacional 2 Modelo Lógico Modelo Físico • Evitar junções 3 Relacionamento 1:1 Transformação ER para Relacional • Evitar campos opcionais (permite null). 4 Relacionamento 1:1 Transformação ER para Relacional • Evitar campos opcionais (permite null). 5 Relacionamento 1:1 Transformação ER para Relacional Implementação de relacionamento Relacionamento N:N 6 Primeira Forma Normal (1FN) Uma tabela se encontra na 1FN somente se todos os seus campos possuírem apenas dados atômicos (dados simples e indivisíveis) e os dados vinculados a cada campo também devem ser um valor simples (NÃO COMPOSTO OU MULTIVALORADO). Campo Composto: o seu conteúdo é formado por vários itens menores. Exemplo: endereço. Atributo Multivalorado: o seu conteúdo é formado por mais de um valor. Exemplo: telefone. 7 Está na Primeira Forma Normal ? Código Nome Telefone Endereço 12 Patrícia Campos (16) 3822-1928 (16) 3822-1929 (16) 3822-1930 Av. Nove de Julho, 1334 –Apto 708 – Higienópolis – Ribeirão Preto - SP 13 Juliana Aparecida Cunha (16) 3511-0002 (16) 9144-8712 Rua MartinsPena, 345 – Centro – Ituverava – SP 14 Rogério Martins (31) 7123-8200 Av. Do Brasil, 98 –Apto 1003 – Nova aliança – Recife – PE 15 Paula de Souza Pinho (11) 54231-0023 Largo do Arouche, 51 – Centro – São Paulo - SP 8 Código Nome Tipo Logradouro Logra- douro Número Comple- mento Bairro Cidade Estado 12 Patrícia Campos Avenida Nove de Julho 1334 Apto 708 Higienópolis Ribeirão Preto SP 13 Juliana Aparecida Cunha Rua Martins Pena 345 Centro Ituvera- va SP 14 Rogério Martins Avenida Brasil 98 Apto 1003 Nova Aliança Recife PE 15 Paula de Souza Pinho Vila Largo do Arouche 51 Centro São Paulo SP Código_Telefone DDD_Telefone Número_Telefone Código_Pessoa 1 16 3822-1928 12 2 16 3822-1929 12 3 16 3822-1930 12 4 16 3511-0002 13 5 16 9144-8712 13 6 31 7123-8200 14 7 11 54231-0023 15 Primeira Forma Normal (1FN) 9 Segunda Forma Normal (2FN) • Passo 1: tem algum campo composto ou multivalorado? R.: se não, então está na 1FN. • Passo 2: existe dependência FUNCIONAL PARCIAL? R.: se sim, então não está na 2FN. Código_ Venda Código_ Produto Descrição_Produto Valor_ Unitário Quantidade Valor Total 1 712 Detergente Veja R$ 7,50 2 R$ 15,00 2 715 Sabonete Líquido R$ 4,80 5 R$ 24,00 3 712 Detergente Veja R$ 7,50 3 R$ 22,50 3 715 Sabonete Líquido R$ 4,80 2 R$ 9,60 10 Segunda Forma Normal (2FN) Código_Produto Descrição_Produto Valor_Unitário 712 Detergente Veja R$ 7,50 715 Sabonete Líquido R$ 4,80 Código_Venda Código_Produto Quantidade Valor_Total 1 712 2 R$ 15,00 2 715 5 R$ 24,00 3 712 3 R$ 22,50 3 715 2 R$ 9,60 11 Terceira Forma Normal (3FN) • Passo 1: tem algum campo composto ou multivalorado? 1FN existe dependência funcional parcial? 2FN • Passo 2: existe dependência funcional transitiva? R.: se sim, então não está na 3FN. Código_Cargo → Descrição_Cargo, Salário Código_ Funcionário Nome_ Funcionário Código_ Cargo Descrição_Cargo Salário 10 José Geraldo Neto 1 Analista de Sistemas 1 R$ 5.900,00 20 Armando Silva 2 Administrador de BD R$ 7.200,00 30 Joaquim Ferreira 1 Analista de Sistemas 1 R$ 5.900,00 40 Thiago Mendes 2 Administrador de BD R$ 7.200,00 12 Terceira Forma Normal (3FN) Código_Funcionário Nome_Funcionário Código_Cargo 10 José Geraldo neto 1 20 Armando Silva 2 30 Joaquim Ferreira 1 40 Thiago Mendes 2 13 Código_Cargo Descrição_Cargo Salário 1 Analista de Sistemas 1 R$ 5.900,00 2 Administrador de BD R$ 7.000,00 3 Analista de Sistemas 2 R$ 6.050,00 4 Arquiteto Java R$ 6.900,00 • Union 14 Principais Operadores do Conjunto Relacional • Intersect, O operador Intersect resulta apenas nas linhas que aparecem em ambas as tabelas. 15 Principais Operadores do Conjunto Relacional • Intersect 16 Principais Operadores do Conjunto Relacional CREATE DATABASE nome [argumentos] CREATE DATABASE “GRH” DROP DATABASE “GRH” 17 Linguagem de Definição de Dados(DDL) Linguagem de Definição de Dados(DDL) CREATE TABLE nome da tabela( COLUNA1 TIPO DE DADOS [restrição] COLUNA2 TIPO DE DADOS [restrição] PRIMARY KEY (coluna1, coluna2) FOREIGN KEY (coluna1) REFERENCES nome da tabela (colunas) CONSTRAINT restrição) 18 19 PostgreSQL Linguagem de Manipulação de Dados (DML) INSERT INTO <TABELA> (CAMPO1, CAMPO2, ..., CAMPOn) VALUES (VALOR1, VALOR2, ..., VALORn); 20 21 Linguagem de Manipulação de Dados (DML) Linguagem de Manipulação de Dados (DML) UPDATE <TABELA> SET CAMPO1 = VALOR1 CAMPO2 = VALOR2 (...) CAMPOn = VALORn WHERE <CONDIÇÃO LÓGICA> Mudar o nome do funcionário João Roberto da Silva para João Roberto Junqueira 22 23 Linguagem de Manipulação de Dados (DML) DELETE FROM <TABELA> WHERE <CONDIÇÃO LÓGICA> Excluir o celular particular do funcionário João Roberto Junqueira 24 Linguagem de Manipulação de Dados (DML) 25 Linguagem de Manipulação de Dados (DML) Linguagem de Consulta de Dados (DQL) 26 SELECT 27 28 SELECT Transações 29 30 Transações Criar Índices e Visões 31 32 Criar Índices e Visões Segurança do Banco de Dados 33
Compartilhar