Click here to load reader

Transformação de Diagramas MER em - · PDF fileTransformação de Diagramas MER em Diagramas DR Regra 6: Atributos Multivalorados 6.1. Criamos uma nova relação R que inclui o atributo

  • View
    230

  • Download
    1

Embed Size (px)

Text of Transformação de Diagramas MER em - · PDF fileTransformação de...

Transformao de Diagramas MER em Diagramas DR

Principais conceitos do MER: Tipos de entidades (regular, fraca)

Graus de relacionamentos (binrio, n-rio)

Atributos (simples, compostos, multivalorados)

Restries (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

Transformao de Diagramas MER em Diagramas DR

Regra 1: Entidades Regulares

1.1. Para cada entidade regular E no esquema E-R, criamos uma relao R que inclui os atributos simples de E.

1.2. Para cada atributo composto de E inclumos somente os seus atributos simples.

1.3. Escolhemos um dos atributos chaves de E para ser a chave primria de R.

Modelo de Exemplo Projeto Relacional

Transformao 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 relao R e inclumos todos os atributos simples de W como atributos de R.

2.2. Inclumos como atributos da chave estrangeira de R os atributos que compem a chave primria da entidade forte E.

2.3. A chave primria de R a combinao da chave primria da entidade forte E e a chave da entidade fraca W.

Modelo de Exemplo Projeto Relacional

Transformao de Diagramas MER em Diagramas DR Regra 3: Relacionamentos 1:1

3.1. Identificamos as relaes S e T que correspondem s entidades que participam do relacionamento.

3.2. Escolhemos uma das relaes, digamos S, e inclumos como chave estrangeira em S a chave primria de T. melhor escolher para desempenhar o papel de S, a entidade que tenha participao total no relacionamento.

3.3. Inclumos todos os atributos simples do relacionamento 1:1 como atributos de S.

Modelo de Exemplo Projeto Relacional

Transformao de Diagramas MER em Diagramas DR

Regra 4: Relacionamentos 1:N que no envolvem entidades fracas 4.1. Identificamos a relao S que representa a

entidade que participa do lado N do relacionamento.

4.2. Inclumos como chave estrangeira em S, a chave primria da relao T que representa a outra entidade (lado 1) que participa do relacionamento.

4.3. Inclumos qualquer atributo simples do relacionamento 1:N em S.

Modelo de Exemplo Projeto Relacional

Transformao de Diagramas MER em Diagramas DR

Regra 5: Relacionamento N:M 5.1. Criamos uma nova relao S para representar o

relacionamento.

5.2. Inclumos como chave estrangeira em S as chaves primrias das relaes que participam do relacionamento. A combinao destas chaves formar a chave primria da relao S.

5.3. Inclumos 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 instncias do relacionamento existe, evitando valores nulos nas chaves estrangeiras.

Modelo de Exemplo Projeto Relacional

Transformao de Diagramas MER em Diagramas DR Regra 6: Atributos Multivalorados

6.1. Criamos uma nova relao R que inclui o atributo multivalorado A mais a chave primria K da relao que representa a entidade (ou relacionamento) que tem A como atributo.

6.2. A chave primria de R a combinao de A e K.

6.3. Se o atributo multivalorado composto => incluir seus componentes atmicos

Modelo de Exemplo Projeto Relacional

Transformao de Diagramas MER em Diagramas DR Regra7: Especializao/Generalizao

7.1. Converta cada especializao com m subclasses {S1,S2,...,Sm} e superclasse C, cujos atributos so {k, a1,..., an} onde k a chave primria, em esquemas de relaes usando uma das seguintes opes:

Transformao de Diagramas MER em Diagramas DR Regra7: Especializao/Generalizao

A) Criar uma relao L para C com os atributos Atrib(L) = {k,a1, ... , an} e chave primria k. Criar tambm uma relao Li para cada subclasse Si, 1

Transformao de Diagramas MER em Diagramas DR Regra7: Especializao/Generalizao

B) Criar uma relao Li para cada subclasse Si, 1

Transformao de Diagramas MER em Diagramas DR Regra7: Especializao/Generalizao

C) Criar uma nica relao L com atributos Atrib(L) = {k,a1,...,an} { atributos de S1} ... {atributos de Sm} {t} e chave primria k.

Onde t um atributo de tipo que indica a subclasse a qual a tupla pertence. (opo usada para especializao cujas subclasses so disjuntas)

Ex.: Empregado(Matrcula, Nome, Salrio, Endereo, TipoTrab, VelDatilog, EspTec, TipoEng, CREA)

Transformao de Diagramas MER em Diagramas DR Regra7: Especializao/Generalizao

D) Criar uma nica relao L com atributos Atrib(L) = {k,a1,...,an} { atributos de S1 } ... { atributos de Sm } {t1,t2,...,tm} e chave primria k.

Onde cada ti , 1

Modelo de Exemplo Projeto Relacional

Exerccio 4

Para os 3 cenrios, aplique as regras de transformao do MER em Diagramas ER.

Atualize os projetos usando a ferramenta de modelagem escolhida anteriormente.

Qualidade de Esquemas Relacionais: Normalizao

A normalizao necessria (embora no suficiente) a um bom projeto relacional. Felizmente, um bom projeto de um esquema de entidades, e sua consequente converso para um esquema relacional, segundo as regras vistas, praticamente deixa o esquema relacional normalizado.

Assim, utiliza-se a normalizao somente para validar um projeto relacional.

Para entender o que a normalizao significa, vamos dar primeiramente um exemplo de motivao.

Qualidade de Esquemas Relacionais: Normalizao

HABILIDADES-ESPORTIVASIdentidade Nome Endereo Habilidade

8795835 dson Arantes Ponta da Praia Futebol8795835 dson Arantes Ponta da Praia Voleibol8795835 dson Arantes Ponta da Praia Basquete8795835 dson Arantes Ponta da Praia Atletismo8795835 dson Arantes Ponta da Praia Tnis

Esta tabela est mal projetada! 1) Se Pel mudar de endereo ? (anomalia de atualizao)

2)Um novo esporte para Pel ? (anomalia de incluso)

3) Retirar Pel do Banco de Dados (anomalia de remoo)

Qualidade de Esquemas Relacionais: Normalizao

Idealmente:

HABILIDADES-ESPORTIVASIdentidade Nome Endereo Habilidade

8795835 dson Arantes Ponta daPraia

{Futebol,

Voleibol,Basquete,Atletismo,Tnis}

Mas isto no uma tabela (atributo habilidadeno atmico)! O que possvel fazer, dentrodo modelo relacional?

Qualidade de Esquemas Relacionais: Normalizao

ESPORTISTASIdentidade Nome Endereo

8795835 dson Arantes Ponta da Praia... ... ...

HABILIDADESIdentidade Esporte

8795835 Futebol8795835 Voleibol8795835 Basquetebol8795835 Atletismo8795835 Tnis

A repetio da coluna Identidade uma redundncianecessria

Qualidade de Esquemas Relacionais: Normalizao

Primeira Forma Normal (1FN)

Toda tabela deve ser minimamente

normalizada (1FN).

Tabela em 1FN: O valor de uma coluna de uma

tabela indivisvel.

Qualidade de Esquemas Relacionais: Normalizao

Ex.: EmpregadoMatr

cula

Nome Cod

Cargo

NomeCargo CodProj DataFim Horas

120 Joo 1 Programador 01 17/07/95 37

120 Joo 1 Programador 08 12/01/96 12

121 Hlio 1 Programador 01 17/07/95 45

121 Hlio 1 Programador 08 12/01/96 21

121 Hlio 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 Abrao 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

Normalizao

A chave primria para a tabela empregados (Matrcula,CodProj)

Vimos que um dos objetivos da normalizao reduzir a redundncia de dados, porm com a tabela anterior aumentamos a redundncia ?!?!

Precisamos realizar outros passos de normalizao para termos um bom projeto.

A 1FN possui caractersticas indesejveis!

Normalizao

Anomalias da 1FN

Insero: no podemos inserir um empregado sem que este esteja alocado num projeto, nem um projeto sem que haja um empregado trabalhando nele (integridade de entidade).

Normalizao

Anomalias da 1FN

Remoo: se precisarmos remover um projeto, as informaes de empregados que estiverem lotados apenas naquele projeto sero perdidas.

Atualizao: 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.

Normalizao

Concluso:

Uma tabela em 1FN no evita, anomalias de incluso, atualizao, e remoo. preciso uma normalizao mais fina , ou outras formas formas normais:

Segunda Forma Normal (2FN)

Terceira Forma Normal (3FN)

Esta normalizao fina utiliza o conceito de dependncia funcional

Dependncias Funcionais

A B, l - se:

A funcionalmente determina B

B funcionalmente dependente de A

B funo de A

Para cada valor de A s existe um valor de B.

A B, negao de A B.

Dependncias Funcionais

A ou B podem ser um conjunto de

atributos.

Identidade Nome

Identidade Endereo

Identidade Habilidade

Nome Id

Search related