Banco de Dados Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1
Agenda Transformação entre Modelos Algoritmo de Mapeamento ER Relacional 2
Abordagem ER para o projeto lógico de BD relacionais 3
Transformações entre Modelos Uma vez definido o modelo conceitual, o próximo passo é definir o modelo lógico; Uma alternativa: mapear as construções do modelo conceitual para o lógico. 4
Transformações entre Modelos 5
Transformações entre Modelos 6
Transformações ER para Relacional Regras gerais: Aplicáveis à maioria dos casos; Há situações: Por exigências da aplicação, outros mapeamentos são usados. Objetivos básicos: Bom desempenho; Simplificar o desenvolvimento. 7
Algoritmo de Mapeamento a. Entidades regulares b. Atributos multivalorados c. Entidades fracas d. Relacionamentos a. Relacionamentos binários 1:1 b. Relacionamentos binários 1:N c. Relacionamentos binários N:M d. Relacionamentos N-ários e. Hierarquias (Especializações/Generalizações) 8
Exemplo de um diagrama ER 9
a. Entidades Regulares (sem atributos multivalorados) Entidade regular E Relação R; Atributo atômico e composto em E Coluna em R; Atributo identificador em E Chave primária em R. 10
a. Entidades Regulares (sem atributos multivalorados) 11
Observação: Nomes das Colunas Referenciados frequentemente em programas; Para diminuir o trabalho de programadores manter os nomes de colunas curtos; SGBD relacional: nome de uma coluna não pode conter brancos; Nomes de colunas não necessitam conter o nome da tabela Preferível usar o nome de coluna NOME a usar os nomes de coluna NOMEPESS ou NOMEPESSOA 12
Observação: Nome da Chave Chave primária: Pode aparecer em outras tabelas na forma de chave estrangeira. Recomendável: Nomes das colunas que compõem a chave primária: sufixados ou prefixados com o nome ou sigla da tabela na qual aparecem como chave primária; Exemplo: CodigoPess. 13
b. Atributos Multivalorados 14
b. Atributos Multivalorados Solução Alternativa: Quando possível, pode-se limitar a quantidade de ocorrência do atributo multivalorado; Por exemplo: cada departamento tem no máximo 2 ramais. Departamento (Ndept, NomeDept, Ramal1, Ramal2) 15
c. Entidade Fraca 16
d. Relacionamentos a. Relacionamentos binários 1:1; b. Relacionamentos binários 1:N; c. Relacionamentos binários N:M; d. Relacionamentos N-ários. 17
d.a. Relacionamentos binários 1:1 Seja as entidades E 1 e E 2 : Escolher uma das tabelas, por exemplo E 2, e incluir como chave estrangeira em E 2 a chave primária da outra tabela (E 1 ). Critério de escolha Entidade com participação total no relacionamento Atributos de relacionamentos devem ser incluídos na tabela com chave estrangeira 18
d. Relacionamentos binários 1:1 19
d.b. Relacionamentos binários 1:N Seja as entidades E 1 e E 2 : Identificar o lado N (suponha que seja E 2 ); Incluir como chave estrangeira na tabela E 2 a chave primária da outra tabela (E 1 ); Atributos de relacionamentos devem ser incluídos na tabela com chave estrangeira. 20
d.b. Relacionamentos binários 1:N 21
d.c. Relacionamentos binários N:M Seja as entidades E 1 e E 2 : Criar uma nova tabela auxiliar tab-aux para representar o relacionamento; Incluir como chaves estrangeiras na tabela tab-aux as chaves primárias de E 1 e E 2 ; Estes dois atributos comporão a chave primária de tab-aux; Atributos de relacionamentos devem ser incluídos na tabela tab-aux. 22
d.c. Relacionamentos binários N:M 23
d.d. Relacionamento N-ário Não são definidas regras específicas O relacionamento é transformado em uma entidade São aplicadas regras de implementação de relacionamentos binários Nova entidade Rel Colunas = chaves primárias das tabelas relacionadas 24
d.d. Relacionamento N-ário 25
e. Hierarquias Geralmente quatro opções: e.a. Relações : superclasse e subclasses; e.b. Relações : subclasses; e.c. Relação única; e.d. Relação única : atributos tipo. 26
e.a. Relações: superclasse e subclasses 27
e.a. Relações: superclasse e subclasses 28
e.a. Relações: superclasse e subclasses Vantagem: Evita valores nulos. Desvantagem: Os dados de um único objeto estão distribuídos várias tabelas. Precisa fazer a junção destas tabelas para criar o objeto. 29
e.b. Relações: subclasses 30
e.b. Relações: subclasses 31
e.b. Relações: subclasses Vantagens: Evita valores nulos; Todos os dados de um objeto estão em uma única tabela. Desvantagem: Duplicação de relacionamentos com outras entidades. 32
e.c. Relação Única 33
e.c. Relação Única 34
e.c. Relação Única Vantagem: Simplicidade. Desvantagem: Valores nulos. 35
e.d. Relação Única: atributos tipo 36
e.d. Relação Única: atributos tipo Vantagem: Simplicidade. Desvantagens: Valores nulos; Difícil evolução. 37
Exercício em Sala Transforme o modelo ER abaixo no modelo R. 38
FIM 39