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