Mapeamento Der Logico

Post on 08-Aug-2015

39 views 0 download

Transcript of Mapeamento Der Logico

Mapeamento Entidade-relacionamento p/

Modelo lógico

1

Prof. Halley Wesley Gondimhalley@engenhariadesoftware.inf.br

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)

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

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

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

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

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.

8

Relacionamento

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:

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).

11

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

12

Top-down

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

13

Top-down - Etapas

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

14

Top-down

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

15

Top-down – Análise de Requisitos Exemplo

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

16

Top-down

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

17

Top-down – Projeto Conceitual ex.

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

18

Top-down – Vantagens Proj. Conceitural

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

19

Top-down

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

20

Top-down – Ex. Projeto Lógico

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

21

Top-down

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

22

Top-down – Ex. Projeto Físico

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

23

Top-down - Objetivos

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

24

Bottom Up

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

25

Bottom Up - Etapas

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

26

Bottom Up - Etapas

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

27

Bottom Up – Ex. Fonte de Dados

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

28

Bottom Up

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

29

Bottom Up – Ex. Tabela Aninhada

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

30

Bottom Up

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

31

Bottom Up - Ex. Normalização

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

32

Bottom Up

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

33

Bottom Up – Ex. Integração

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

34

Bottom Up – Ex. Integração

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

35

Bottom Up – Engenharia Reversa

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

36

Top-Down x Bottom-Up

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

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.

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

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

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

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

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

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

44

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

Relacionamento binário de grau 1:N

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

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

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

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.

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

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

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.

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

53

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.)

55

Modelo conceitual

Modelo lógico

Nível inferior

recebe a chave

da entidade

superior.

Especialização/Generalização

56

Nível inferior possui chave primária diferente

da chave superior.

Especialização/Generalização

57

Entidades

inferiores

terão chave

composta.

Especialização/Generalização

58

Agregação

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

60

Relações Reflexiva (auto-relacionamentos)

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

única entidade com ela mesma.

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)

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)

63

Relações Reflexiva (auto-relacionamentos)

64

Relações Reflexiva (auto-relacionamentos)

65

Exemplo:

66

67

68

69

70

71

72

73

74

Exercício

75

Exercício