View
3
Download
0
Category
Preview:
Citation preview
Programação com acesso a BD
Prof.: Clayton Maciel Costa
clayton.maciel@ifrn.edu.br 1
Agenda
2
• Transformação entre Modelos
• Algoritmo de Mapeamento ER ���� Relacional
Abordagem ER para o projeto lógico de BD relacionais
3
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 entre Modelos
5
Transformações entre Modelos
6
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)
Exemplo de um diagrama ER
9
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.
a. Entidades Regulares (sem atributos multivalorados)
11
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
14
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)
c. Entidade Fraca
16
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. Relacionamentos binários 1:1
19
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.b. Relacionamentos binários 1:N
21
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.c. Relacionamentos binários N:M
23
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
d.d. Relacionamento N-ário
25
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
27
e.a. Relações: superclasse e subclasses
28
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
30
e.b. Relações: subclasses
31
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.c. Relação Única
33
e.c. Relação Única
34
e.c. Relação Única
35
• Vantagem:
• Simplicidade.
• Desvantagem:
• Valores nulos.
e.d. Relação Única: atributos tipo
36
e.d. Relação Única: atributos tipo
37
• Vantagem:
• Simplicidade.
• Desvantagens:
• Valores nulos;
• Difícil evolução.
Exercício em SalaTransforme o modelo ER abaixo no modelo R.
38
FIM
39
Recommended