Transformação de Diagramas MER em Diagramas DR

Documentos relacionados
Unidade 4 Projeto de BD Relacional

Banco de Dados I Unidade 3: Projeto de BD Relacional. Cláudio Baptista

MODELAGEM DE DADOS MODELO RELACIONAL

Dependência Funcional e Normalização)

Modelo Relacional. Modelo Relacional. Modelo Relacional. Banco de Dados. Modelo Relacional. Modelo Relacional. Fernando Fonseca Ana Carolina

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO PROJETO DE BANCO DE DADOS RELACIONAL. Profº Erinaldo Sanches Nascimento

Normalização. Prof. Rogério Gonçalves Bittencourt, M.Sc.

NORMALIZAÇÃO. Lílian Simão Oliveira

Banco de Dados - Senado

Modelo Relacional. Gerenciamento de Dados e Informação. Modelo Relacional Sejam os domínios D 1 (D- Pessoa) e D 2 (D- Endereço) Modelo Relacional

Modelo Entidade Relacionamento Estendido (ERE)

Banco de Dados I. Aula 17 - Prof. Bruno Moreno 08/11/2011

Modelagem semântica permite aproximar o modelo obtido do mundo real Exemplo de modelos:

Projeto de BD Relacional

Projeto de BD Relacional

Bancos de Dados. 7. Mapeamento ER/ERE para Relacional

Sistemas de Banco de Dados Prof. Flávio de Oliveira Silva, M.Sc. O esquema de uma relação é escrito da seguinte forma:

Projeto de BD Relacional

Aula 12 BD1 Dependências Funcionais e Normalização. Profa. Elaine Faria UFU

GES013 Sistema de Banco de Dados Normalização de Relações em Projeto de BD (1FN a FNBC)

Parte NORMALIZAÇÃO. As regras mais importantes oferecidas pelo Sistema Gerenciador de Banco de Dados. são:

Ano: 2014 Banca: FCC Órgão: TJ-AP Prova: Analista Judiciário - Área Apoio Especializado - Tecnologia da Informação

Mapeamento Modelo Entidade Relacionamento para Modelo Relacional. Evandro E.S Ruiz, Ph.D.

Modelo Relacional. André Restivo. Faculdade de Engenharia da Universidade do Porto. February 24, 2012

Unidade 2 Modelo Conceitual

Normalização. Anomalias Dependência e determinantes Normalização

Prof.: Clayton Maciel Costa

UNIVERSIDADE FEDERAL DA GRANDE DOURADOS PRÓ-REITORIA DE GRADUAÇÃO PROGRAD FACULDADE DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE SISTEMAS DE INFORMAÇÃO

BANCO DE DADOS I/MODELAGEM DE DADOS Prof. Ricardo Rodrigues Barcelar

Bases de Dados. Parte III. O Modelo Relacional

Normalização: Noções Básicas

Revisão e Exercícios. Relacionamento. Projeto de Bancos de Dados. Chave e Domínio. Tipos de Atributos

Modelagem Conceitual e o Modelo Entidade-Relacionamento

Modelo de dados relacional e as restrições de um BD relacional

Modelo Entidade-Relacionamento (E-R)

Banco de Dados Mapeamento Entidade Relacionamento para Relacional

Objetivos:

Modelo Relacional e Normalização de Dados. ENG1518/3VC Sistemas de Informação Gerenciais Prof. Marcos Villas

Roteiro. Normalização. BCC321 - Banco de Dados I. Ementa. Para que serve a normalização? Posicionamento

18/03/2012. Independência de Dados: capacidade de modificar a definição dos esquemas em. determinado nível, sem afetar o esquema do nível superior;

INF1383 -Bancos de Dados

Normalização para Bancos de Dados Relacionais

IEC Banco de Dados I Aula 09 Modelo E. R. para relacional

MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos. Prof. Daniela Barreiro Claro

Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance.

Modelo Relacional. Aula 02

Análise e Projeto de Sistemas

Banco de Dados I Engenharia Reversa e Normalização

Fundamentos de Banco de Dados e Modelagem de Dados

Banco de Dados I. Aula 10 - Prof. Bruno Moreno 23/09/2011

Qualidade de projeto de BD relacional

Entidade Associativa

Análise e Projeto de Sistemas I

GBC043 Sistemas de Banco de Dados Normalização de Relações em Projeto de BD

Modelagem de dados usando MER. Andre Noel

Banco de Dados. André Luís Duarte Capítulo 2. exatasfepi.com.br

1. MINI MUNDO Descrição formal da realidade a ser representada. Exemplo: suponhamos que as Faculdades Dom Bosco funcionem assim:

Engenharia Reversa e Normalização

Engenharia Reversa e Normalização

1. MINI MUNDO Descrição formal da realidade a ser representada. Exemplo: suponhamos que as Faculdades Dom Bosco funcionem assim:

Banco de Dados. Modelo de Dados Relacional. João Eduardo Ferreira Osvaldo Kotaro Takai DCC-IME-USP

ENGENHARIA REVERSA DE ARQUIVOS

MODELAGEM DE DADOS. Projeto de Banco de Dados Modelo Conceitual. Prof. Rosemary Melo

Revisando Banco de Dados. Modelo Relacional

Introdução aos Sistemas de Bancos de Dados 1 a versão - MAC5760 DCC-IME-USP J.E.FERREIRA e O.TAKAI Terceira Forma Normal (3FN)

NORMALIZAÇÃO. Quantidade do Produto. Produto

Banco de Dados - INE Projeto de Banco de Dados Relacionais. Prof. Mario Dantas

Banco de Dados. Dependências Funcionais e Normalização de Bancos de Dados Relacionais. João Eduardo Ferreira Osvaldo Kotaro Takai

Banco de Dados I 2007 Módulo II: Modelagem Entidade- Relacionamento versus Relacional. (Aula 6) Clodis Boscarioli

Normalização. Curso: Técnico em Informática (Integrado) Disciplina: Banco de Dados Prof. Abrahão Lopes

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

Normalização para Bancos de Dados Relacionais

TABELA ENTIDADE LINHA OCORRÊNCIA DA ENTIDADE COLUNA ATRIBUTO DA ENTIDADE

BDI Capitulo 2 Revisão 9

Banco de Dados. Diagramas de Entidade Relacionamento (DER) - Complementos. Ref. Prof. Renato de Oliveira Violin - UFSCar

Modelo Lógico de Dados (MLD) Origens do modelo relacional

Ciência da Computação MODELAGEM DE DADOS Professor Décio Jorge Craveiro Machado

Projeto Banco de Dados

26/03/2012. É uma restrição entre dois conjuntos de atributos do banco de dados. Definição formal: Significa que: Exemplos

BANCO DE DADOS. Bacharelado em Sistemas de Informação MODELAGEM DE DADOS. Profº Luciano Roberto Rocha. Itararé, 2º período

Técnicas de Modelação de Dados

Banco de Dados Modelagem e Normalização

Banco de Dados. Dependências Funcionais e Normalização de Bancos de Dados Relacionais. João Eduardo Ferreira Osvaldo Kotaro Takai Marcelo Finger

DCC/UFRJ Bancos de Dados IPedro Manoel da Silveira. Projeto de BD Relacionais. Objetivos do Projeto de BD. PMS v2bancos de Dados Relacionais 1

Modelo Entidade-Relacionamento

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

GBC043 Sistemas de Banco de Dados

Introdução ao Modelo Relacional

Conceitos Básicos de modelagem de dados Modelo conceitual Modelo Lógico Modelo Físico

Aula 7 SBD ER para Relacional. Profa. Elaine Faria UFU

MATA60 BANCO DE DADOS Aula 6- Mapeamento Relacional. Prof. Daniela Barreiro Claro

Normalização de Dados. Bancos de Dados I Normalização Principais Conceitos

Projeto de Bancos de Dados Relacional- Normalização. Vantagens da decomposição Normalização

MODELO DE BANCO DE DADOS RELACIONAL

2010 Diagrama Entidade - Associação

Banco de dados. Conteúdo: Tradução entre os modelos Entidade Relacionamento e Relacional Prof. Patrícia Lucas

MODELO RELACIONAL Prof.: Jacson Tiola Técnico em Redes de Computadores

5 a e 6 a Técnicas de BD Normalização e Modelagem (1)

INTRODUÇÃO AO MODELO RELACIONAL

Transcrição:

Transformação de Diagramas MER em Diagramas DR Principais conceitos do MER: Tipos de entidades (regular, fraca) Graus de relacionamentos (binário, n-ário) Atributos (simples, compostos, multivalorados) Restrições (chave, cardinalidade, etc.) A seguir, mostraremos um conjunto de regras para efetuar o mapeamento entre modelo ER e modelo Relacional

Modelo de Exemplo Projeto Relacional

Transformação de Diagramas MER em Diagramas DR Regra 1: Entidades Regulares 1.1. Para cada entidade regular E no esquema E-R, criamos uma relação R que inclui os atributos simples de E. 1.2. Para cada atributo composto de E incluímos somente os seus atributos simples. 1.3. Escolhemos um dos atributos chaves de E para ser a chave primária de R.

Modelo de Exemplo Projeto Relacional

Transformação de Diagramas MER em Diagramas DR Regra 2: Entidades Fracas 2.1. Para cada entidade fraca W, com entidade forte E, no esquema E-R, criamos uma relação R e incluímos todos os atributos simples de W como atributos de R. 2.2. Incluímos como atributos da chave estrangeira de R os atributos que compõem a chave primária da entidade forte E. 2.3. A chave primária de R é a combinação da chave primária da entidade forte E e a chave da entidade fraca W.

Modelo de Exemplo Projeto Relacional

Transformação de Diagramas MER em Diagramas DR Regra 3: Relacionamentos 1:1 3.1. Identificamos as relações S e T que correspondem às entidades que participam do relacionamento. 3.2. Escolhemos uma das relações, digamos S, e incluímos como chave estrangeira em S a chave primária de T. É melhor escolher para desempenhar o papel de S, a entidade que tenha participação total no relacionamento. 3.3. Incluímos todos os atributos simples do relacionamento 1:1 como atributos de S.

Modelo de Exemplo Projeto Relacional

Transformação de Diagramas MER em Diagramas DR Regra 4: Relacionamentos 1:N que não envolvem entidades fracas 4.1. Identificamos a relação S que representa a entidade que participa do lado N do relacionamento. 4.2. Incluímos como chave estrangeira em S, a chave primária da relação T que representa a outra entidade (lado 1) que participa do relacionamento. 4.3. Incluímos qualquer atributo simples do relacionamento 1:N em S.

Modelo de Exemplo Projeto Relacional

Transformação de Diagramas MER em Diagramas DR Regra 5: Relacionamento N:M 5.1. Criamos uma nova relação S para representar o relacionamento. 5.2. Incluímos como chave estrangeira em S as chaves primárias das relações que participam do relacionamento. A combinação destas chaves formará a chave primária da relação S. 5.3. Incluímos qualquer atributo do relacionamento N:M em S. Podemos mapear o relacionamento 1:1 ou 1:N de maneira similar ao M:N. Isto é usado quando poucas instâncias do relacionamento existe, evitando valores nulos nas chaves estrangeiras.

Modelo de Exemplo Projeto Relacional

Transformação de Diagramas MER em Diagramas DR Regra 6: Atributos Multivalorados 6.1. Criamos uma nova relação R que inclui o atributo multivalorado A mais a chave primária K da relação que representa a entidade (ou relacionamento) que tem A como atributo. 6.2. A chave primária de R é a combinação de A e K. 6.3. Se o atributo multivalorado é composto => incluir seus componentes atômicos

Modelo de Exemplo Projeto Relacional

Transformação de Diagramas MER em Diagramas DR Regra7: Especialização/Generalização 7.1. Converta cada especialização com m subclasses {S 1,S 2,...,S m } e superclasse C, cujos atributos são {k, a 1,..., a n } onde k é a chave primária, em esquemas de relações usando uma das seguintes opções:

Transformação de Diagramas MER em Diagramas DR Regra7: Especialização/Generalização A) Criar uma relação L para C com os atributos Atrib(L) = {k,a 1,..., a n } e chave primária k. Criar também uma relação L i para cada subclasse S i, 1 <= i <= m, com os seguintes atributos: Atrib(L i ) = {k} { atributos de S i }, k será a chave primária. Ex.:Empregado(Matrícula,Nome, Salário,Endereço,TipoTrab), Secretária(Matrícula,VelocidadeDigitação), Técnico(Matrícula, Especialidade), Engenheiro(Matrícula, Tipo, CREA)

Transformação de Diagramas MER em Diagramas DR Regra7: Especialização/Generalização B) Criar uma relação L i para cada subclasse S i, 1 <= i <= m, com os atributos Atrib(L i ) = {atributos de S i } {k,a 1,...,a n } e chave primária (L i ) = k. Ex.: Veículo(Identificação, Licença, Preço) => não gera uma nova relação! Carro (Identificação, Licença, Preço, VelMax, NumPassag), Caminhão(Identificação, Licença, Preço, NumEixos, Tonelag)

Transformação de Diagramas MER em Diagramas DR Regra7: Especialização/Generalização C) Criar uma única relação L com atributos Atrib(L) = {k,a 1,...,a n } { atributos de S 1 }... {atributos de S m } {t} e chave primária k. Onde t é um atributo de tipo que indica a subclasse a qual a tupla pertence. (opção usada para especialização cujas subclasses são disjuntas) Ex.: Empregado(Matrícula, Nome, Salário, Endereço, TipoTrab, VelDatilog, EspTec, TipoEng, CREA)

Transformação de Diagramas MER em Diagramas DR Regra7: Especialização/Generalização D) Criar uma única relação L com atributos Atrib(L) = {k,a 1,...,a n } { atributos de S 1 }... { atributos de S m } {t 1,t 2,...,t m } e chave primária k. Onde cada t i, 1 <= i <= m, é um atributo booleano que indica se uma tupla pertence a uma subclasse S i. (opção usada para especialização cujas subclasses são sobrepostas) Ex.:Peça(Código,Descrição,MFLag,NDesenho,DataManufat,NLote, CFlag, Fornecedor, Preço)

Modelo de Exemplo Projeto Relacional

Exercício 4 Para os 3 cenários, aplique as regras de transformação do MER em Diagramas ER. Atualize os projetos usando a ferramenta de modelagem escolhida anteriormente.

Qualidade de Esquemas Relacionais: Normalização A normalização é necessária (embora não suficiente) a um bom projeto relacional. Felizmente, um bom projeto de um esquema de entidades, e sua consequente conversão para um esquema relacional, segundo as regras vistas, praticamente deixa o esquema relacional normalizado. Assim, utiliza-se a normalização somente para validar um projeto relacional. Para entender o que a normalização significa, vamos dar primeiramente um exemplo de motivação.

Qualidade de Esquemas Relacionais: Normalização HABILIDADES-ESPORTIVAS Identidade Nome Endereço Habilidade 8795835 Édson Arantes Ponta da Praia Futebol 8795835 Édson Arantes Ponta da Praia Voleibol 8795835 Édson Arantes Ponta da Praia Basquete 8795835 Édson Arantes Ponta da Praia Atletismo 8795835 Édson Arantes Ponta da Praia Tênis Esta tabela está mal projetada! 1) Se Pelé mudar de endereço? (anomalia de atualização) 2)Um novo esporte para Pelé? (anomalia de inclusão) 3) Retirar Pelé do Banco de Dados (anomalia de remoção)

Qualidade de Esquemas Relacionais: Normalização Idealmente: HABILIDADES-ESPORTIVAS Identidade Nome Endereço Habilidade 8795835 Édson Arantes Ponta da Praia {Futebol, Voleibol, Basquete, Atletismo, Tênis} Mas isto não é uma tabela (atributo habilidade não é atômico)! O que é possível fazer, dentro do modelo relacional?

Qualidade de Esquemas Relacionais: Normalização ESPORTISTAS Identidade Nome Endereço 8795835 Édson Arantes Ponta da Praia......... HABILIDADES Identidade Esporte 8795835 Futebol 8795835 Voleibol 8795835 Basquetebol 8795835 Atletismo 8795835 Tênis A repetição da coluna Identidade é uma redundância necessária

Qualidade de Esquemas Relacionais: Normalização Primeira Forma Normal (1FN) Toda tabela deve ser minimamente normalizada (1FN). Tabela em 1FN: O valor de uma coluna de uma tabela é indivisível.

Qualidade de Esquemas Relacionais: Normalização Ex.: Empregado Matrí Nome Cod NomeCargo CodProj DataFim Horas cula Cargo 120 João 1 Programador 01 17/07/95 37 120 João 1 Programador 08 12/01/96 12 121 Hélio 1 Programador 01 17/07/95 45 121 Hélio 1 Programador 08 12/01/96 21 121 Hélio 1 Programador 12 21/03/96 107 270 Gabriel 2 Analista 08 12/01/96 10 270 Gabriel 2 Analista 12 21/03/96 38 273 Silva 3 Projetista 01 17/07/95 22 274 Abraão 2 Analista 12 21/03/96 31 279 Carla 1 Programador 01 17/07/96 27 279 Carla 1 Programador 08 12/01/96 20 279 Carla 1 Programador 12 21/03/96 51 301 Ana 1 Programador 12 21/03/96 16 306 Manoel 3 Projetista 17 21/03/96 67

Normalização A chave primária para a tabela empregados é (Matrícula,CodProj) Vimos que um dos objetivos da normalização é reduzir a redundância de dados, porém com a tabela anterior aumentamos a redundância?!?! Precisamos realizar outros passos de normalização para termos um bom projeto. A 1FN possui características indesejáveis!

Normalização Anomalias da 1FN Inserção: não podemos inserir um empregado sem que este esteja alocado num projeto, nem um projeto sem que haja um empregado trabalhando nele (integridade de entidade).

Normalização Anomalias da 1FN Remoção: se precisarmos remover um projeto, as informações de empregados que estiverem lotados apenas naquele projeto serão perdidas. Atualização: se um empregado for promovido de cargo teremos que atualizar os atributos CodCargo e NomeCargo em todas as tuplas nas quais aquele empregado está presente.

Normalização Conclusão: Uma tabela em 1FN não evita, anomalias de inclusão, atualização, e remoção. É preciso uma normalização mais fina, ou outras formas formas normais: Segunda Forma Normal (2FN) Terceira Forma Normal (3FN) Esta normalização fina utiliza o conceito de dependência funcional

Dependências Funcionais A B, lê - se: A funcionalmente determina B B é funcionalmente dependente de A B é função de A Para cada valor de A só existe um valor de B. A B, negação de A B.

Dependências Funcionais A ou B podem ser um conjunto de atributos. Identidade Nome Identidade Endereço Identidade Habilidade Nome Identidade Endereço Identidade Habilidade Identidade Identidade Nome, Endereço

Dependências Funcionais Ideia de normalização fina : agrupar numa tabela somente dois conjuntos de atributos X e Y, com X Y. X é então a chave da tabela, e Y é complemento da chave. Consequência das definições de dependência funcional e de chave: se X é chave então cada valor de X é único, e, consequentemente, um valor de X identifica uma linha da tabela.

Dependências Funcionais É importante salientar que mais de um atributo (ou conjunto de atributos) pode ser chave, isto é, pode-se ter vários X Y, cada X sendo uma chave candidata.

Segunda Forma Normal (2FN) Uma tabela está na Segunda Forma Normal (2FN) se ela é 1FN e todo atributo do complemento de uma chave candidata é funcionalmente dependente daquela chave. A, B, C => D (D é funcionalmente dependente de {A, B, C}) se para todo valor de {A, B, C} só existe um valor de D, e se D não é funcionalmente dependente de A, ou B, ou C.

Segunda Forma Normal (2FN) Exemplo 1: ESPORTISTA (Identidade, Nome, Endereço, Esporte) Chaves Candidatas Identidade {Nome, Endereço} Complementos da Chave Nome, Endereço, Esporte Identidade, Esporte

Segunda Forma Normal (2FN) Identidade Nome Identidade Endereço Identidade Esporte {Nome, Endereço} => Identidade {Nome, Endereço} => Esporte

Segunda Forma Normal (2FN) Conclusão: O atributo Esporte deve ser retirado da relação ESPORTISTA. ESPORTISTA (Identidade, Nome, Endereço) PRATICA-ESPORTE (Identidade, Esporte) Um atributo sublinhado faz parte da chave. Atualizar o endereço de Pelé: sem anomalia. Incluir uma nova habilidade de Pelé: sem anomalia.

Segunda Forma Normal (2FN) Exemplo 2: ESTUDANTE-DISCIPLINA E # Enome Sexo Idade D # Dnome Opinião E 1 João M 25 D 1 Mat Boa E 1 João M 25 D 2 Quim Má E 1 João M 25 D 3 Fis Boa E 2 Maria F 22 D 2 Quim Satisf. E 2 Maria F 22 D 3 Fis Satisf. E 2 Maria F 22 D 4 Est Má E 3 João M 27 D 2 Quim Boa E 3 João M 27 D3 Fis Boa Chaves Candidatas {E#, D#} {E#, Dnome}} Complementos da Chave Enome, Sexo, Idade, Dnome, Opinião Enome, Sexo, Idade, D#, Opin

Segunda Forma Normal (2FN) {E#, D# }: {E#, D#} => Enome {E#, D#} => Sexo {E#, D#} => Idade {E#, D#} => Dnome (E# Enome) (E# Sexo) (E# Idade) (D# Dnome) {E#, D#} => Opinião

Segunda Forma Normal (2FN) {E#, Dnome): {E#, Dnome} => Enome (E# Enome) {E#, Dnome} => Sexo (E# Sexo) {E#, Dnome} => Idade (E# Idade) {E#, Dnome} => D# (Dnome D# ) {E#, Dnome} => Opinião Conclusão: Enome, Sexo, Idade e Dnome devem ser retirados de ESTUDANTE-DISCIPLINA

Segunda Forma Normal (2FN) ESTUDANTE E # Enome Sexo Idade E1 João M 25 E2 Maria F 22 E3 João M 27 DISCIPLINA ESTUDANTE-DISCIPLINA D # Dnome E # D # Opinião D1 Mat E1 D1 Boa D2 Quim E1 D2 Pobre D3 Fis E1 D3 Boa D4 Est E2 D2 Satisfatória E2 D3 Satisfatória E2 D4 Pobre E3 D2 Boa E3 D3 Boa

Segunda Forma Normal (2FN) Ex3:A tabela Empregado anterior após passarmos para 2FN resultaria em três tabelas: Empregado Matrícula Nome CodCargo NomeCargo 120 João 1 Programador 121 Hélio 1 Programador 270 Gabriel 2 Analista 273 Silva 3 Projetista 274 Abraão 2 Analista 279 Carla 1 Programador 301 Ana 1 Programador 306 Manuel 3 Projetista

Segunda Forma Normal (2FN) Ex3:A tabela Empregado anterior após passarmos para 2FN resultaria em três tabelas: Projeto CodProj DataFim 01 17/07/95 08 12/01/96 12 21/03/96 Alocação Matrícula CodProj Horas 120 01 37 120 08 12 121 01 45 121 08 21 121 12 107 270 08 10 270 12 78 273 01 22 274 12 31 279 01 27 279 08 20 279 12 51 301 01 16 301 12 85 306 12 67

Segunda Forma Normal (2FN) Anomalias da 2FN: Inserção: Só podemos criar cargos se houver empregados designados para ele. Remoção: Se removermos um empregado que ocupa unicamente um cargo na empresa, perderemos a informação deste cargo. Atualização: Se um cargo muda de nome precisaremos mudar todas as tabelas em que este cargo aparece.

Terceira Forma Normal (3FN) Envolve o conceito de dependência transitiva. Suponha que tenhamos uma tabela com colunas A, B e C. Se a coluna C é funcionalmente dependente de B e B é funcionalmente dependente de A, então C é funcionalmente dependente de A.

Terceira Forma Normal (3FN) Definição: Uma relação está em 3FN se, e somente se, estiver em 2FN e todos os atributos não-chave forem dependentes não-transitivos da chave primária Ex.: Ao analisarmos a nova tabela empregado que está em 2FN temos: Matrícula CodCargo NomeCargo

Terceira Forma Normal (3FN) Empregado NomeCargo é dependente transitivo de Matrícula. Removendo esta dependência transitiva, obteremos,além das tabelas Projeto e Alocação, as seguintes tabelas: Matrícula Nome CodCargo 120 João 1 121 Hélio 1 270 Gabriel 2 273 Silva 3 274 Abraão 2 279 Carla 1 301 Ana 1 306 Manuel 3 Cargo CodCargo Nome 1 Programador 2 Analista 3 Projetista

Terceira Forma Normal (3FN) "Uma relação está em 3FN se todas as colunas da tabela são funcionalmente dependentes da chave primária e nada além da chave". A 3FN elimina as características mais potencialmente indesejáveis dos dados que estão em 2FN ou 1FN. Existem outros casos especiais que requerem mais níveis de normalização: Boyce-Codd, 4FN e 5FN

Uma Metodologia de Normalização Passo 1: Tome projeções de tabelas 1FN para eliminar todas as dependências funcionais não-totais. O resultado é uma coleção de tabelas 2FN. Passo 2: Tome projeções das tabelas obtidas no passo 1 para eliminar todas as dependências transitivas. O resultado é uma coleção de relações 3FN.

Exercício 5 Para os 3 cenários, aplique as regras de normalização até a 3FN. Atualize os projetos usando a ferramenta de modelagem escolhida.

Exercícios 1 - Considere a tabela Estoque(P#, Qte_Estoque, Qte_Pedida) a) A tabela está em 1FN, 2FN ou 3FN? b) Se acrescentar o atributo Qte_Existente = (Qte_Estoque - Qte_Pedida), ainda está em 3FN?

Exercícios 2 - Dada a tabela R(A, B, C) e {A B, B C} a) A é chave candidata? b) B é chave candidata? c) C é chave candidata?

Exercícios 3- Dada a tabela R(A, B, C) e C B, R está em 3FN?

Exercícios 4- Dada a tabela R(A, B, C, D) e B,C D, R está em 3FN?

Exercícios 5- Dada a entidade PedidoVenda, com os seguintes atributos: numero do pedido, prazo de entrega, cliente, endereço, cidade, uf, CNPJ, inscrição estadual, código do produto (*), unidade do produto (*), quantidade do produto (*), descrição do produto (*), valor unitário do produto (*), valor total do produto (*), valor total do pedido (*), código do vendedor, nome do vendedor (*) Atributos que se repetem no documento Crie as tabelas correspondentes à 3FN.

Exercícios 6- Considere a relação para livros publicados: LIVRO (título_do_livro, nome_do_autor, tipo_do_livro, preço_de_tabela, afiliação_do_autor,editora) Suponha as que existam as seguintes dependências: título_do_livro -> editora, tipo_do_livro tipo_do_livro -> preço_de_tabela nome_do_autor -> afiliação_do_autor a ) Em que forma normal está a relação? Justifique sua resposta. b) Aplique a normalização até que não possa mais decompor as relações. Justifique as razões de cada decomposição.

Exercícios 7-Analise o histórico de um dos alunos de uma faculdade: Faculdade Nova Atenas Curso : Ciência da Computação (Código do Curso: 0037) Aluno: Fulano da Silva Matricula: 007043 Status: Regular Histórico Disciplina (código) Professor (Código) Nota Faltas Situação Análise de Sistemas (AN001) James Hetfield- 001 7,5 7 Aprovado Matemática (MA002) Dave Mustaine 002 8,0 4 Aprovado Inglês (IN101) Tom Araya - 003 4,5 0 Reprovado Aplique a 3FN e gere as tabelas correspondentes ao modelo