Você está na página 1de 75

Mapeamento Entidaderelacionamento p/ Modelo lgico

Prof. Halley Wesley Gondim halley@engenhariadesoftware.inf.br


1

Tipos de Atributos

Atributos Simples (Exemplo: ID) Atributos Compostos (Exemplo: Nome) Atributos Derivados (Exemplo: Tempo_atividade) Estes atributos devem ser identificados na anlise, mas no devem fazer parte da entidade pois podem ser calculados Atributos Multivalor (Exemplo: Localizaes) Para cada atributo multivalor cria-se uma nova entidade Exemplo(Loc_Dep: Nmero, Localizao)
2

Que atributos considerar na descrio de uma entidade ?


Entidades CO e DONO_DO CO vistas pelo veterinrio:

Entidades CO e DONO_DO CO vistas pela administrao municipal

Chave primria e chaves candidatas


Instncia: Ocorrncia particular de uma entidade. Cada instncia tem de ser identificadas univocamente
Chave ou Identificador de uma entidade: Atributo ou conjunto de atributos que permitem identificar univocamente uma instncia de uma entidade. Chave primria: Corresponde a uma das chaves possveis e possui as seguinte caractersticas: unvoca - os atributos da chave primria tm um valor unvoco par qualquer instncia; no redundante - se algum dos atributos que formam a chave primria for retirado, os restantes atributos deixam de ser unvocos no nula - nenhum dos atributos que formam a chave primria poder ter um valor nulo.
4

Chave primria e chaves candidatas


Chave candidata: Atributo ou conjunto de atributos que podem ser usados como chave primria de uma entidade Exemplo: Chaves candidatas: N_ID N_Eleitor, Freguesia

Nome

N_eleitor

N_ID

Freguesia

Rua

Chave estrangeira
Chave forasteira ou chave externa: Atributo ou conjunto de atributos que aparecem como chave primria numa outra entidade relacionada.
A chave forasteira permite estabelecer uma ligao (relacionamento) entre as entidades representadas. Uma entidade pode conter tantas chaves forasteiras quantas as necessrias.

O atributo nome_do_dono : na entidade CO uma chave estrangeira na entidade DONO_DO_CO a chave primria
6

Relacionamento
As entidades no esto isoladas, esto relacionadas com outras entidades. necessrio identificar relacionamentos para ser possvel representar corretamente o mundo real.
Relacionamento: Associao entre entidades Relacionamento binrio: Associao entre duas entidades Tipos de relacionamentos binrios entre entidades: O nmero de ocorrncias de uma entidade, que podem estar associadas com uma ocorrncia de outra entidade permitem distinguir 3 tipos de relacionamentos:

Relacionamento

Modelo de dados relacional


Todos os dados bem como os relacionamento existentes entre estes so representados por um conjunto de tabelas (relaes) relacionadas entre si:
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 contm valores atmicos pertencentes ao domnio do atributo; Cada linha da tabela (tupla) representa uma nica instncia ou um relacionamento entre entidades; Cada relao contm zero ou mais tuplas.
9

Integridade
Existem trs tipos de integridade:
Integridade de domnio: os valores de cada coluna devem ser atmicos e pertencentes ao domnio do atributo;

Integridade de entidade: os valores dos atributos que correspondem chave primria no podem ser nulos nem iguais a outros j existentes na tabela. Notar que, como as tuplas so diferenciados pela chave primria, se os valores dos atributos correspondentes chave primria fossem nulos no seria possvel distinguir entre tuplas.
Integridade referencial: a chave estrangeira numa tabela deve referenciar sempre uma chave primria existente numa outra tabela(respeitando os domnios).
10

Estratgias de concepo do modelo de dados

11

Estratgias de concepo do modelo de dados

Top-down

12

Estratgias de concepo do modelo de dados

Top-down - Etapas

13

Estratgias de concepo do modelo de dados

Top-down

14

Estratgias de concepo do modelo de dados

Top-down Anlise de Requisitos Exemplo

15

Estratgias de concepo do modelo de dados

Top-down

16

Estratgias de concepo do modelo de dados

Top-down Projeto Conceitual ex.

17

Estratgias de concepo do modelo de dados

Top-down Vantagens Proj. Conceitural

18

Estratgias de concepo do modelo de dados

Top-down

19

Estratgias de concepo do modelo de dados

Top-down Ex. Projeto Lgico

20

Estratgias de concepo do modelo de dados

Top-down

21

Estratgias de concepo do modelo de dados

Top-down Ex. Projeto Fsico

22

Estratgias de concepo do modelo de dados

Top-down - Objetivos

23

Estratgias de concepo do modelo de dados

Bottom Up

24

Estratgias de concepo do modelo de dados

Bottom Up - Etapas

25

Estratgias de concepo do modelo de dados

Bottom Up - Etapas

26

Estratgias de concepo do modelo de dados

Bottom Up Ex. Fonte de Dados

27

Estratgias de concepo do modelo de dados

Bottom Up

28

Estratgias de concepo do modelo de dados

Bottom Up Ex. Tabela Aninhada

29

Estratgias de concepo do modelo de dados

Bottom Up

30

Estratgias de concepo do modelo de dados

Bottom Up - Ex. Normalizao

31

Estratgias de concepo do modelo de dados

Bottom Up

32

Estratgias de concepo do modelo de dados

Bottom Up Ex. Integrao

33

Estratgias de concepo do modelo de dados

Bottom Up Ex. Integrao

34

Estratgias de concepo do modelo de dados

Bottom Up Engenharia Reversa

35

Estratgias de concepo do modelo de dados

Top-Down x Bottom-Up

36

Relacionamento binrio de grau 1:1


Caso 1 (1:1) - participao obrigatria das duas entidades: Todos os docentes tm de lecionar uma s disciplina; Cada disciplina tem de ser assegurada por um docente.

apenas necessrio uma entidade; A chave primria dessa relao pode ser a chave primria de qualquer das entidades.
37

Relacionamento binrio de grau 1:1


Caso 2 (1:1) - participao obrigatria de apenas uma das entidades: Todos os docentes tm de lecionar uma s disciplina.

So necessrias duas entidades; A chave primria de cada entidade serve de chave primria na entidade correspondente; A chave primria da entidade com participao no obrigatria tem de ser usada como atributo na entidade correspondente entidade cuja participao obrigatria.
38

Relacionamento binrio de grau 1:1


Caso 3 (1:1) - sem participao obrigatria em ambas as entidades: Os docentes lecionam uma s disciplina, se no estiverem dispensados do servio docente; Cada disciplina assegurada por um docente, exceto se for opcional e se o nmero de inscries for inferior a 15 alunos.

Com a utilizao de uma s entidade, surgem valores nulos quer para as disciplinas que ainda no tm docente, quer para os docentes que no lecionam nenhuma disciplina.
39

Relacionamento binrio de grau 1:1

A subdiviso da entidade em duas, segundo soluo anloga regra 2, tambm origina valores nulos.

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


40

Relacionamento binrio de grau 1:1

So necessrias trs entidades, uma para cada entidade e a terceira para o relacionamento; A chave primria de cada entidade serve de chave primria na entidade correspondente; A entidade correspondente ao relacionamento ter entre os seus atributos as chaves primrias das duas entidades.

41

Relacionamento binrio de grau 1:N


Caso 4 (1:N) - participao obrigatria do lado N: (a participao obrigatria no lado 1 no afeta resultado) Os docentes podem lecionar vrias disciplinas; Cada disciplina tm de ser assegurada por um s docente.

42

Relacionamento binrio de grau 1:N


So necessrias duas entidades; A chave primria de cada entidade serve de chave primria na entidade correspondente; A chave primria da entidade do lado 1 tem de ser usada como atributo na entidade correspondente entidade do lado N.

43

Relacionamento binrio de grau 1:N


Caso 5 (1:N) - participao no obrigatria do lado N.

44

Relacionamento binrio de grau 1:N


So necessrias trs entidades, uma para cada entidade e a terceira para o relacionamento; A chave primria de cada entidade serve de chave primria na entidade correspondente; A entidade relativa ao relacionamento ter de ter entre os seus atributos as chaves primrias de cada uma das entidades.

45

Relacionamento binrio de grau N:M


Caso 6 (N:M) - Quando o grau de relacionamento binrio N:M, independentemente do tipo de participao, so sempre necessrias 3 entidades. Um docente pode lecionar vrias disciplinas Uma disciplina pode ser lecionada por vrios docentes

Com a utilizao de uma s entidade, surgem valores nulos quer para as disciplinas que ainda no tm docente, quer para os docentes que no lecionam nenhuma disciplina.
46

Relacionamento binrio de grau N:M

So sempre necessrias trs entidades, uma para cada entidade e uma terceira para o relacionamento;
A chave primria de cada entidade serve de chave primria na entidade correspondente; A entidade relativa ao relacionamento ter de ter entre os seus atributos as chaves primrias de cada uma das entidades.
47

Relacionamentos binrios mltiplos


Na maioria dos casos, uma entidade pode ter relacionamentos binrios com diversas entidades, ou seja, relacionamentos binrios mltiplos. Exemplo: Um aluno pode inscrever-se em vrios seminrios; Um seminrio dirigido por vrios instrutores; Um instrutor dirige vrios seminrios.

48

Relacionamentos binrios mltiplos


Supondo que um aluno tem de ser orientado por um instrutor nos vrios seminrios (a interveno do aluno sempre a mesma, mas ocorre em vrios seminrios), seria necessrio acrescentar outro relacionamento, obtendo-se:

49

Relacionamentos binrios mltiplos


Supondo ainda, que o mesmo aluno pode ter vrios instrutores, que podero ser diferentes, o seminrio (intervenes diferentes em cada seminrio ), o relacionamento orientado passaria a ser do tipo N:M.

50

Relacionamento ternrio
So sempre necessrias quatro entidades, uma para cada entidade e uma quarta para o relacionamento; A chave primria de cada entidade serve de chave primria na entidade correspondente; A entidade relativa ao relacionamento ter de ter entre os seus atributos as chaves primrias de cada uma das entidades; Num relacionamento de grau n so necessrias n+1 relaes, de modo inteiramente idntico.

51

Relacionamento ternrio

Obs.: Se cada aluno tiver um s instrutor num dado seminrio, a chave primria da entidade seria somente N_Aluno, N_seminrio.
52

53

Especializao/Generalizao
Entidade superior possui atributos que so comuns as entidades inferiores.

No podemos incluir os atributos da hierarquia inferior para a hierarquia superior, pois os estudantes e professores se diferem em dois atributos (nvel e categoria.)

54

Especializao/Generalizao

Modelo conceitual

Nvel inferior recebe a chave da entidade superior.

Modelo lgico

55

Especializao/Generalizao

Nvel inferior possui chave primria diferente da chave superior.

56

Especializao/Generalizao

Entidades inferiores tero chave composta.

57

Agregao

58

Agregao
A tabela para o conjunto de relacionamentos agente_emprstimo inclui uma coluna para cada atributo, uma para chave primria do conjunto de entidades empregado e uma para o conjunto de relacionamentos devedor. Poderia tambm incluir uma coluna para cada um dos atributos descritivos do conjunto de relacionamentos agente_emprstimo, se eles existirem. Assim:

cliente, com os atributos nome_cliente, seguro_cliente, rua, cidade; emprstimo, com os atributos nmero_emprstimo, total; devedor, com os atributos seguro_cliente, nmero_emprstimo; empregado, com os atributos seguro_empregado, nome_empregado, nmero_telefone; agente_emprstimo, com os atributos seguro_empregado, nmero emprstimo e seguro_cliente.
59

Relaes Reflexiva (auto-relacionamentos)


As relaes reflexivas caracterizam-se por relacionar uma nica entidade com ela mesma.

60

Relaes Reflexiva (auto-relacionamentos)


Neste caso, a entidade cria relao com as suas propriedades como atributos. A associao, por sua vez, cria uma relao que tem por chave primria e por atributo a chave primria da relao criada a partir da entidade.

61

Relaes Reflexiva (auto-relacionamentos)


Neste caso, a entidade cria relao e a associao cria relao tendo como chave primria a concatenao de duas chaves primrias (renomeadas) da relao criada a partir da entidade.

62

Relaes Reflexiva (auto-relacionamentos)

63

Relaes Reflexiva (auto-relacionamentos)

64

Exemplo:

65

66

67

68

69

70

71

72

73

Exerccio

74

Exerccio

75