programação com acesso a bd - professor baesse...observação: nome da chave 13 • chave...
TRANSCRIPT
![Page 2: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/2.jpg)
Agenda
2
• Transformação entre Modelos
• Algoritmo de Mapeamento ER ���� Relacional
![Page 3: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/3.jpg)
Abordagem ER para o projeto lógico de BD relacionais
3
![Page 4: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/4.jpg)
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.
![Page 5: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/5.jpg)
Transformações entre Modelos
5
![Page 6: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/6.jpg)
Transformações entre Modelos
6
![Page 7: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/7.jpg)
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.
![Page 8: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/8.jpg)
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)
![Page 9: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/9.jpg)
Exemplo de um diagrama ER
9
![Page 10: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/10.jpg)
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.
![Page 11: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/11.jpg)
a. Entidades Regulares (sem atributos multivalorados)
11
![Page 12: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/12.jpg)
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
![Page 13: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/13.jpg)
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.
![Page 14: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/14.jpg)
b. Atributos Multivalorados
14
![Page 15: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/15.jpg)
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)
![Page 16: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/16.jpg)
c. Entidade Fraca
16
![Page 17: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/17.jpg)
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.
![Page 18: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/18.jpg)
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
![Page 19: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/19.jpg)
d. Relacionamentos binários 1:1
19
![Page 20: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/20.jpg)
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.
![Page 21: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/21.jpg)
d.b. Relacionamentos binários 1:N
21
![Page 22: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/22.jpg)
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.
![Page 23: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/23.jpg)
d.c. Relacionamentos binários N:M
23
![Page 24: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/24.jpg)
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
![Page 25: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/25.jpg)
d.d. Relacionamento N-ário
25
![Page 26: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/26.jpg)
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.
![Page 27: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/27.jpg)
e.a. Relações: superclasse e subclasses
27
![Page 28: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/28.jpg)
e.a. Relações: superclasse e subclasses
28
![Page 29: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/29.jpg)
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.
![Page 30: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/30.jpg)
e.b. Relações: subclasses
30
![Page 31: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/31.jpg)
e.b. Relações: subclasses
31
![Page 32: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/32.jpg)
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.
![Page 33: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/33.jpg)
e.c. Relação Única
33
![Page 34: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/34.jpg)
e.c. Relação Única
34
![Page 35: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/35.jpg)
e.c. Relação Única
35
• Vantagem:
• Simplicidade.
• Desvantagem:
• Valores nulos.
![Page 36: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/36.jpg)
e.d. Relação Única: atributos tipo
36
![Page 37: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/37.jpg)
e.d. Relação Única: atributos tipo
37
• Vantagem:
• Simplicidade.
• Desvantagens:
• Valores nulos;
• Difícil evolução.
![Page 38: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/38.jpg)
Exercício em SalaTransforme o modelo ER abaixo no modelo R.
38
![Page 39: Programação com acesso a BD - Professor Baesse...Observação: Nome da Chave 13 • Chave primária: • Pode aparecer em outras tabelas na forma de chave estrangeira. • Recomendável:](https://reader033.vdocuments.net/reader033/viewer/2022052616/60a6bb885202416e341a3ac2/html5/thumbnails/39.jpg)
FIM
39