Banco de Dados - Professor Baesse · Transformações entre Modelos 4 ... •Escolher uma das...
Transcript of Banco de Dados - Professor Baesse · Transformações entre Modelos 4 ... •Escolher uma das...
Transformações entre Modelos
4
• 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.
Transformações ER para Relacional
7
• 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.
Algoritmo de Mapeamento
8
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)
a. Entidades Regulares (sem atributos multivalorados)
10
• 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.
Observação: Nomes das Colunas
12
• 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
Observação: Nome da Chave
13
• 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.
b. Atributos Multivalorados
15
• 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)
d. Relacionamentos
17
a. Relacionamentos binários 1:1;
b. Relacionamentos binários 1:N;
c. Relacionamentos binários N:M;
d. Relacionamentos N-ários.
d.a. Relacionamentos binários 1:1
18
• Seja as entidades E1 e E2:
• Escolher uma das tabelas, por exemplo E2, e incluir como chave estrangeira em E2 a chave primária da outra tabela (E1).
• Critério de escolha
• Entidade com participação total no relacionamento
• Atributos de relacionamentos devem ser incluídos na tabela com chave estrangeira
d.b. Relacionamentos binários 1:N
20
• Seja as entidades E1 e E2:
• Identificar o lado N (suponha que seja E2);
• Incluir como chave estrangeira na tabela E2 a chave primária da outra tabela (E1);
• Atributos de relacionamentos devem ser incluídos na tabela com chave estrangeira.
d.c. Relacionamentos binários N:M
22
• Seja as entidades E1 e E2:
• Criar uma nova tabela auxiliar tab-aux para representar o relacionamento;
• Incluir como chaves estrangeiras na tabela tab-aux as chaves primárias de E1 e E2;
• Estes dois atributos comporão a chave primária de tab-aux;
• Atributos de relacionamentos devem ser incluídos na tabela tab-aux.
d.d. Relacionamento N-ário
24
• 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
e. Hierarquias
26
• 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.
e.a. Relações: superclasse e subclasses
29
•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.
e.b. Relações: subclasses
32
•Vantagens: • Evita valores nulos;
• Todos os dados de um objeto estão em uma única tabela.
•Desvantagem: • Duplicação de relacionamentos com outras
entidades.
e.d. Relação Única: atributos tipo
37
•Vantagem: • Simplicidade.
•Desvantagens: • Valores nulos;
• Difícil evolução.