Mapeamento Der Logico

75
Mapeamento Entidade- relacionamento p/ Modelo lógico 1 Prof. Halley Wesley Gondim [email protected]

Transcript of Mapeamento Der Logico

Page 1: Mapeamento Der Logico

Mapeamento Entidade-relacionamento p/

Modelo lógico

1

Prof. Halley Wesley [email protected]

Page 2: Mapeamento Der Logico

2

Tipos de Atributos

Atributos Simples (Exemplo: ID)Atributos Compostos (Exemplo: Nome)Atributos Derivados (Exemplo: Tempo_atividade)

•Estes atributos devem ser identificados na análise, mas nãodevem fazer parte da entidade pois podem ser calculados

Atributos Multivalor (Exemplo: Localizações)•Para cada atributo multivalor cria-se uma nova entidadeExemplo(Loc_Dep: Número, Localização)

Page 3: Mapeamento Der Logico

3

Que atributos considerar na descrição de uma entidade ?

Entidades CÃO e DONO_DO CÃO vistas pelo veterinário:

Entidades CÃO e DONO_DO CÃO vistas pela administração

municipal

Page 4: Mapeamento Der Logico

4

Chave primária e chaves candidatas

Chave ou Identificador de uma entidade: Atributo ou conjunto de

atributos que permitem identificar univocamente uma instância de uma

entidade.

Chave primária: Corresponde a uma das chaves possíveis e possui

as seguinte características:

unívoca - os atributos da chave primária têm um valor unívoco

par qualquer instância;

não redundante - se algum dos atributos que formam a chave

primária for retirado, os restantes atributos deixam de ser unívocos

não nula - nenhum dos atributos que formam a chave primária

poderá ter um valor nulo.

Instância: Ocorrência particular de uma entidade.

Cada instância tem de ser identificadas univocamente

Page 5: Mapeamento Der Logico

5

Chave candidata: Atributo ou conjunto de atributos que podem ser

usados como chave primária de uma entidade

Exemplo: Chaves candidatas:

N_ID

N_Eleitor, Freguesia

Nome N_eleitor N_ID Freguesia Rua

Chave primária e chaves candidatas

Page 6: Mapeamento Der Logico

6

A chave forasteira permite estabelecer uma ligação (relacionamento)

entre as entidades representadas. Uma entidade pode conter tantas

chaves forasteiras quantas as necessárias.

Chave forasteira ou chave externa: Atributo ou

conjunto de atributos que aparecem como chave

primária numa outra entidade relacionada.

O atributo nome_do_dono :

• na entidade CÃO é uma chave estrangeira

• na entidade DONO_DO_CÃO é a chave primária

Chave estrangeira

Page 7: Mapeamento Der Logico

7

Relacionamento

Relacionamento: Associação entre entidades

Relacionamento binário: Associação entre duas entidades

Tipos de relacionamentos binários entre entidades:

O número de ocorrências de uma entidade, que podem estar associadas

com uma ocorrência de outra entidade permitem distinguir 3 tipos de

relacionamentos:

As entidades não estão isoladas, estão relacionadas com

outras entidades. É necessário identificar relacionamentos

para ser possível representar corretamente o mundo real.

Page 8: Mapeamento Der Logico

8

Relacionamento

Page 9: Mapeamento Der Logico

9

Modelo de dados relacional

Cada tabela (entidade) tem um nome único pelo qual é referenciada;

Cada coluna da tabela (atributo) tem um nome e refere-se a um

dado aspecto do objeto representado;

Cada coluna contém valores atômicos pertencentes ao domínio do

atributo;

Cada linha da tabela (tupla) representa uma única instância ou um

relacionamento entre entidades;

Cada relação contém zero ou mais tuplas.

Todos os dados bem como os relacionamento existentes

entre estes são representados por um conjunto de tabelas

(relações) relacionadas entre si:

Page 10: Mapeamento Der Logico

10

Integridade

Existem três tipos de integridade:

Integridade de domínio: os valores de cada coluna devem ser

atômicos e pertencentes ao domínio do atributo;

Integridade de entidade: os valores dos atributos que

correspondem à chave primária não podem ser nulos nem iguais a

outros já existentes na tabela. Notar que, como as tuplas são

diferenciados pela chave primária, se os valores dos atributos

correspondentes à chave primária fossem nulos não seria possível

distinguir entre tuplas.

Integridade referencial: a chave estrangeira numa tabela deve

referenciar sempre uma chave primária existente numa outra

tabela(respeitando os domínios).

Page 11: Mapeamento Der Logico

11

Estratégias de concepção do modelo de dados

Page 12: Mapeamento Der Logico

12

Top-down

Estratégias de concepção do modelo de dados

Page 13: Mapeamento Der Logico

13

Top-down - Etapas

Estratégias de concepção do modelo de dados

Page 14: Mapeamento Der Logico

14

Top-down

Estratégias de concepção do modelo de dados

Page 15: Mapeamento Der Logico

15

Top-down – Análise de Requisitos Exemplo

Estratégias de concepção do modelo de dados

Page 16: Mapeamento Der Logico

16

Top-down

Estratégias de concepção do modelo de dados

Page 17: Mapeamento Der Logico

17

Top-down – Projeto Conceitual ex.

Estratégias de concepção do modelo de dados

Page 18: Mapeamento Der Logico

18

Top-down – Vantagens Proj. Conceitural

Estratégias de concepção do modelo de dados

Page 19: Mapeamento Der Logico

19

Top-down

Estratégias de concepção do modelo de dados

Page 20: Mapeamento Der Logico

20

Top-down – Ex. Projeto Lógico

Estratégias de concepção do modelo de dados

Page 21: Mapeamento Der Logico

21

Top-down

Estratégias de concepção do modelo de dados

Page 22: Mapeamento Der Logico

22

Top-down – Ex. Projeto Físico

Estratégias de concepção do modelo de dados

Page 23: Mapeamento Der Logico

23

Top-down - Objetivos

Estratégias de concepção do modelo de dados

Page 24: Mapeamento Der Logico

24

Bottom Up

Estratégias de concepção do modelo de dados

Page 25: Mapeamento Der Logico

25

Bottom Up - Etapas

Estratégias de concepção do modelo de dados

Page 26: Mapeamento Der Logico

26

Bottom Up - Etapas

Estratégias de concepção do modelo de dados

Page 27: Mapeamento Der Logico

27

Bottom Up – Ex. Fonte de Dados

Estratégias de concepção do modelo de dados

Page 28: Mapeamento Der Logico

28

Bottom Up

Estratégias de concepção do modelo de dados

Page 29: Mapeamento Der Logico

29

Bottom Up – Ex. Tabela Aninhada

Estratégias de concepção do modelo de dados

Page 30: Mapeamento Der Logico

30

Bottom Up

Estratégias de concepção do modelo de dados

Page 31: Mapeamento Der Logico

31

Bottom Up - Ex. Normalização

Estratégias de concepção do modelo de dados

Page 32: Mapeamento Der Logico

32

Bottom Up

Estratégias de concepção do modelo de dados

Page 33: Mapeamento Der Logico

33

Bottom Up – Ex. Integração

Estratégias de concepção do modelo de dados

Page 34: Mapeamento Der Logico

34

Bottom Up – Ex. Integração

Estratégias de concepção do modelo de dados

Page 35: Mapeamento Der Logico

35

Bottom Up – Engenharia Reversa

Estratégias de concepção do modelo de dados

Page 36: Mapeamento Der Logico

36

Top-Down x Bottom-Up

Estratégias de concepção do modelo de dados

Page 37: Mapeamento Der Logico

37

Relacionamento binário de grau 1:1

Caso 1 (1:1) - participação obrigatória das duas entidades:

• Todos os docentes têm de lecionar uma só disciplina;

• Cada disciplina tem de ser assegurada por um docente.

É apenas necessário uma entidade;

• A chave primária dessa relação pode ser a chave primária de qualquer das

entidades.

Page 38: Mapeamento Der Logico

38

•São necessárias duas entidades;

•A chave primária de cada entidade serve de chave primária na entidade correspondente;

•A chave primária da entidade com participação não obrigatória tem de ser usada como

atributo na entidade correspondente à entidade cuja participação é obrigatória.

Caso 2 (1:1) - participação obrigatória de apenas uma das entidades:

• Todos os docentes têm de lecionar uma só disciplina.

Relacionamento binário de grau 1:1

Page 39: Mapeamento Der Logico

39

Caso 3 (1:1) - sem participação obrigatória em ambas as entidades:

• Os docentes lecionam uma só disciplina, se não estiverem dispensados do serviço docente;

• Cada disciplina é assegurada por um docente, exceto se for opcional e se o número de

inscrições for inferior a 15 alunos.

Com a utilização de uma só entidade, surgem valores nulos quer para as disciplinas que

ainda não têm docente, quer para os docentes que não lecionam nenhuma disciplina.

Relacionamento binário de grau 1:1

Page 40: Mapeamento Der Logico

40

A subdivisão da entidade em duas, segundo solução análoga à

regra 2, também origina valores nulos.

Obs.: A chave da entidade Lecionar pode ser NDoc ou #Disc.

Relacionamento binário de grau 1:1

Page 41: Mapeamento Der Logico

41

São necessárias três entidades, uma para cada entidade e a

terceira para o relacionamento;

A chave primária de cada entidade serve de chave primária na

entidade correspondente;

A entidade correspondente ao relacionamento terá entre os seus

atributos as chaves primárias das duas entidades.

Relacionamento binário de grau 1:1

Page 42: Mapeamento Der Logico

42

Caso 4 (1:N) - participação obrigatória do lado N:

(a participação obrigatória no lado 1 não afeta resultado)

• Os docentes podem lecionar várias disciplinas;

• Cada disciplina têm de ser assegurada por um só docente.

Relacionamento binário de grau 1:N

Page 43: Mapeamento Der Logico

43

São necessárias duas entidades;

A chave primária de cada entidade serve de chave primária na

entidade correspondente;

A chave primária da entidade do lado 1 tem de ser usada como

atributo na entidade correspondente à entidade do lado N.

Relacionamento binário de grau 1:N

Page 44: Mapeamento Der Logico

44

Caso 5 (1:N) - participação não obrigatória do lado N.

Relacionamento binário de grau 1:N

Page 45: Mapeamento Der Logico

45

São necessárias três entidades, uma para cada entidade e a terceira para

o relacionamento;

A chave primária de cada entidade serve de chave primária na entidade

correspondente;

A entidade relativa ao relacionamento terá de ter entre os seus atributos as

chaves primárias de cada uma das entidades.

Relacionamento binário de grau 1:N

Page 46: Mapeamento Der Logico

46

Caso 6 (N:M) - Quando o grau de relacionamento binário é N:M,

independentemente do tipo de participação, são sempre necessárias 3 entidades.

• Um docente pode lecionar várias disciplinas

• Uma disciplina pode ser lecionada por vários docentes

Com a utilização de uma só

entidade, surgem valores nulos

quer para as disciplinas que

ainda não têm docente, quer

para os docentes que não

lecionam nenhuma disciplina.

Relacionamento binário de grau N:M

Page 47: Mapeamento Der Logico

47

São sempre necessárias três entidades, uma para cada entidade

e uma terceira para o relacionamento;

A chave primária de cada entidade serve de chave primária na

entidade correspondente;

A entidade relativa ao relacionamento terá de ter entre os seus

atributos as chaves primárias de cada uma das entidades.

Relacionamento binário de grau N:M

Page 48: Mapeamento Der Logico

48

Relacionamentos binários múltiplos

Na maioria dos casos, uma entidade pode ter relacionamentos

binários com diversas entidades, ou seja, relacionamentos

binários múltiplos.

Exemplo:

• Um aluno pode inscrever-se em vários seminários;

• Um seminário é dirigido por vários instrutores;

• Um instrutor dirige vários seminários.

Page 49: Mapeamento Der Logico

49

Supondo que um aluno tem de ser orientado por um instrutor

nos vários seminários (a intervenção do aluno é sempre a

mesma, mas ocorre em vários seminários), seria necessário

acrescentar outro relacionamento, obtendo-se:

Relacionamentos binários múltiplos

Page 50: Mapeamento Der Logico

50

Supondo ainda, que o mesmo aluno pode ter vários instrutores,

que poderão ser diferentes, o seminário (intervenções diferentes

em cada seminário ), o relacionamento “orientado” passaria a ser

do tipo N:M.

Relacionamentos binários múltiplos

Page 51: Mapeamento Der Logico

51

Relacionamento ternário

São sempre necessárias quatro entidades, uma para cada

entidade e uma quarta para o relacionamento;

A chave primária de cada entidade serve de chave primária na

entidade correspondente;

A entidade relativa ao relacionamento terá de ter entre os seus

atributos as chaves primárias de cada uma das entidades;

Num relacionamento de grau n são necessárias n+1 relações,

de modo inteiramente idêntico.

Page 52: Mapeamento Der Logico

52

Obs.: Se cada aluno tiver um só instrutor num dado seminário, a

chave primária da entidade seria somente N_Aluno, N_seminário.

Relacionamento ternário

Page 53: Mapeamento Der Logico

53

Page 54: Mapeamento Der Logico

54

Especialização/Generalização

Entidade superior possui atributos que são comuns as entidades

inferiores.

Não podemos incluir os atributos da hierarquia inferior para a

hierarquia superior, pois os estudantes e professores se diferem

em dois atributos (nível e categoria.)

Page 55: Mapeamento Der Logico

55

Modelo conceitual

Modelo lógico

Nível inferior

recebe a chave

da entidade

superior.

Especialização/Generalização

Page 56: Mapeamento Der Logico

56

Nível inferior possui chave primária diferente

da chave superior.

Especialização/Generalização

Page 57: Mapeamento Der Logico

57

Entidades

inferiores

terão chave

composta.

Especialização/Generalização

Page 58: Mapeamento Der Logico

58

Agregação

Page 59: Mapeamento Der Logico

59

A tabela para o conjunto de relacionamentos agente_empréstimo

inclui uma coluna para cada atributo, uma para chave primária do conjunto

de entidades empregado e uma para o conjunto de relacionamentos

devedor.

Poderia também incluir uma coluna para cada um dos atributos

descritivos do conjunto de relacionamentos agente_empréstimo, se eles

existirem.

Assim:

cliente, com os atributos nome_cliente, seguro_cliente, rua,

cidade;

empréstimo, com os atributos número_empréstimo, total;

devedor, com os atributos seguro_cliente, número_empréstimo;

empregado, com os atributos seguro_empregado,

nome_empregado, número_telefone;

agente_empréstimo, com os atributos seguro_empregado,

número empréstimo e seguro_cliente.

Agregação

Page 60: Mapeamento Der Logico

60

Relações Reflexiva (auto-relacionamentos)

As relações reflexivas caracterizam-se por relacionar uma

única entidade com ela mesma.

Page 61: Mapeamento Der Logico

61

Neste caso, a entidade cria relação com as suas propriedades como

atributos. A associação, por sua vez, cria uma relação que tem por chave

primária e por atributo a chave primária da relação criada a partir da

entidade.

Relações Reflexiva (auto-relacionamentos)

Page 62: Mapeamento Der Logico

62

Neste caso, a entidade cria relação e a associação cria relação

tendo como chave primária a concatenação de duas chaves

primárias (renomeadas) da relação criada a partir da entidade.

Relações Reflexiva (auto-relacionamentos)

Page 63: Mapeamento Der Logico

63

Relações Reflexiva (auto-relacionamentos)

Page 64: Mapeamento Der Logico

64

Relações Reflexiva (auto-relacionamentos)

Page 65: Mapeamento Der Logico

65

Exemplo:

Page 66: Mapeamento Der Logico

66

Page 67: Mapeamento Der Logico

67

Page 68: Mapeamento Der Logico

68

Page 69: Mapeamento Der Logico

69

Page 70: Mapeamento Der Logico

70

Page 71: Mapeamento Der Logico

71

Page 72: Mapeamento Der Logico

72

Page 73: Mapeamento Der Logico

73

Page 74: Mapeamento Der Logico

74

Exercício

Page 75: Mapeamento Der Logico

75

Exercício