banco de dados - professor baesse · transformações entre modelos 4 ... •escolher uma das...

39
Banco de Dados Prof.: Clayton Maciel Costa [email protected] 1

Upload: phamdien

Post on 11-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Banco de Dados

Prof.: Clayton Maciel Costa [email protected] 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 Sala Transforme o modelo ER abaixo no modelo R.

38

FIM

39