2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER...

38
2.1.1 Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificad Capítulo 2: Modelo ER Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos do desenho Restrições Chaves Diagrama ER Extensões ao modelo ER Desenho dum Esquema de Base de Dados ER

Transcript of 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER...

Page 1: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.1Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Capítulo 2: Modelo ERCapítulo 2: Modelo ER

Conjuntos de entidades

Conjuntos de relações

Aspectos do desenho

Restrições

Chaves

Diagrama ER

Extensões ao modelo ER

Desenho dum Esquema de Base de Dados ER

Page 2: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.2Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Modelo ERModelo ER(Entidade-Relações ou Entidades-Associações)(Entidade-Relações ou Entidades-Associações)

“Ferramenta” [Chen 76] para descrever: informação

relações entre tipos de informação

significado da informação

(algumas formas de) restrições sobre os dados

Construção de grafos que objectivam as características da informação a armazenar

Page 3: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.3Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Conjuntos de entidadesConjuntos de entidades

No modelo ER, uma base de dados pode ser modelada como: uma colecção de entidades, uma colecção de relações (ou associações) entre entidades.

Uma entidade é um objecto existente e que é distinguível de todos os outros objectos. Eg: O cliente 33 do banco, que se chama João mora em Lisboa e tem o

telefone 22222 A conta 11111 que pertence aos clientes 33 e 22 e cujo saldo é

1000 Euros

As entidades possuem atributosExemplo: os clientes têm nº, nome, endereço e telefone

Um conjunto de entidades é um conjunto de entidades do mesmo tipo e que partilham as mesmas propriedades.

Exemplo: o conjunto de todas os clientes, o conjunto de todas as contas, etc

Page 4: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.4Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

AtributosAtributos

Atributo: Propriedade de uma entidade. E.g. Nome dum cliente Saldo duma conta

Entidades são representadas por atributos Conjuntos Entidades agregam entidades todas descritas pelos mesmos atributos Cada atributo tem um domínio (conjunto de valores permitidos para o atributo).

Domínio de “Nome”´: strings de até 50 caractéres Domínio de “Saldo”: números inteiros

Tipos de atributos: Atributo simples Atributo compostos: Composto por vários atributos simples

E.g. Morada (com nome de rua, nº de porta, Localidade, CP) Atributos univalor e multivalor

E.g. atributo multivalor: números de telefone Atributos derivados: Que podem ser calculado a partir de outros atributos

E.g. idade, a partir da data de nascimento Vamos fazer as coisas por forma a ter sempre atributos simples, univalor e não

derivados. Lá mais para a frente veremos melhor porquê!!

Page 5: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.5Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Conjuntos de RelaçõesConjuntos de Relações

Uma relação é uma associação entre várias entidades. E.g.: Associação entre a conta 1111 e o cliente 33 (um dos titulares

da conta)

Um conjunto de relações é um conjunto de relações todas do mesmo tipo. E.g. :

Conjunto entre todas as associações entre contas e clientes seus titulares (depositantes)

Formalmente é uma relação matemática entre n 2 entidades, cada uma pertencente a um conj. de entidades

{(e1, e2, … en) | e1 E1, e2 E2, …, en En}

em que (e1, e2, …, en) é uma relação Exemplo: (conta 1111, cliente 33) depositante

Page 6: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.6Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

33 João Lisboa 22222 22 Maria Caparica 7111111 11 Manuel Almada 2910000

Exemplo de RelaçõesExemplo de Relações

Uma relação pode ter atributos adicionais Data em que um cliente movimentou uma conta pela última vez

(data de acesso)

EntidadeConjunto Entidade

Relação

Conjunto Relação

9/1/996/3/99

6/2/992/2/99

11111 1000€ 11112 500€ 11113 1300€

Page 7: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.7Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Restrições de Mapeamento (Cardinalidades)Restrições de Mapeamento (Cardinalidades)

Restringem o número de entidades com as quais pode estar associada uma outra entidade num determinado conjunto de relações.

Para um conjunto de relações binárias a restrição de mapeamento pode ser uma das seguintes: um para um (ou 1:1)

um para muitos (ou um para vários, ou 1:N)

muitos para um (ou vários para 1, ou N:1)

muitos para muitos (ou vários para vários, N:M)

Page 8: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.8Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Atributos vs relaçõesAtributos vs relações

Depende da aplicação em causa

Há que ver, intuitivamente, caso a caso

Só é atributo (univalor), se for 1:1 Um cliente tem no máximo um telefone e um telefone é de um

cliente.

33 João Lisboa 22222 22 Maria Caparica 7111111

Em vez de:

Porque não:

33 João Lisboa 22 Maria Caparica

222227111111

Permitia

Page 9: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.9Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Restrições mapeamentoRestrições mapeamento

Um para um (1:1)

Numa empresa, um empregado tem no máximo um carro, e uma carro está no máximo atribuído a um empregado.

a1

a3

a2

b1

b3

b2

• (e1,e2) R (e1,e3) R e2 = e3

• (e1,e2) R (e3,e2) R e1 = e3

Page 10: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.10Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Restrição 1:1Restrição 1:1

Nota: Alguns elementos de A ou B podem não estar relacionados com elementos do outro conjunto.

Proibe que uma entidade de A se relacione com mais do que uma entidade de B.

Proibe que uma entidade de B se relacione com mais do que uma entidade de B.

Exemplo: Um empregado está associado no máximo a um carro, e um carro está associado no máximo a um empregado

Page 11: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.11Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Restrições mapeamentoRestrições mapeamento

Um para vários (1:N)

Uma turma tem vários alunos, mas um aluno só pertence a uma turma

a1

a2

b1

b3

b2

• (e1,e2) R (e1,e3) R e2 = e3

• Não há restrição no outro sentido

Page 12: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.12Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Restrição N:1 Restrição N:1

Nota: Alguns elementos de A ou B podem não estar relacionados com elementos do outro conjunto.

Proibe que uma entidade de A se relacione com mais do que uma entidade de B.

Permite que uma entidade de B se relacione com mais do que uma entidade de B.

Exemplo: Um aluno está associado a no máximo uma turma, mas uma turma pode estar associada a mais que um aluno

Page 13: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.13Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Restrições mapeamentoRestrições mapeamento

Vários para vários (M:N) Um cliente pode ter várias contas e uma conta pode pertencer a

vários clientes Um livro pode ser requisitado por vários leitores, e um leitor pode

requisitar vários livros.

a1

a3

a2

b1

b3

b2

• Não há restrições em nenhum dos sentidos

Page 14: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.14Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

““Restrição” N:M Restrição” N:M

Nota: Alguns elementos de A ou B podem não estar relacionados com elementos do outro conjunto.

Não impõe restrições Permite que uma entidade de A

se relacione com mais do que uma entidade de B.

Permite que uma entidade de B se relacione com mais do que uma entidade de B.

Exemplo: Uma conta pode estar associada a mais do que um cliente, e um cliente pode ter mais do que uma conta associada

Page 15: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.15Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

As cardinalidades afectam o desenhoAs cardinalidades afectam o desenho

Se a a relação entre clientes e contas fosse de um para vários (i.e. um cliente pode ter várias contas mas uma conta só pode pertencer a um cliente) então data-de-acesso poderia ser um atributo de conta, em vez de um atributo da relação.

Page 16: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.16Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

ChavesChaves

Como distinguir entre várias entidades (ou entre várias relações) dentro dum mesmo conjunto?

Super-chave de um conjunto de entidades é um conjunto de um ou mais atributos cujos valores determinam univocamente cada uma das entidades dentro do conjunto.

A determinação unívoca, depende do contexto em causa, e é imposta como restrição.

O nº de cliente é super-chave em clientes O nº e nome também é super-chave

Uma super-chave pode ter informação desnecessária. O nome é desnecessário na super-chave com o nº e nome.

Page 17: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.17Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Chaves primárias e candidatasChaves primárias e candidatas

Uma chave candidata de um conjunto de entidades é uma super-chave minimal

O nº de cliente é minimal {telefone, nome} também (assumindo que podem haver várias

pessoas com o mesmo nome, com o mesmo telefone, mas nunca com o mesmo nome e telefone)

Chave primária é uma chave candidata designada (escolhida) por quem projecta a base de dados para identificar as entidades dum conjunto

O nº de cliente é mais conveniente como chave primária por ser mais “curta”

Page 18: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.18Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Diagramas ER (DER)Diagramas ER (DER)

Rectângulos representam conjuntos de entidades.

Losangos representam conjuntos de associações.

Linhas ligam atributos aos conjuntos de entidades e conjuntos de entidades a conjuntos de associações.

Elipses representam atributos

Sublinhado representa atributos constituintes da chave primária

Permitem representar graficamente as entidades, atributos, relações, restrições de mapeamento

Page 19: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.19Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Conjs. de Relação com AtributosConjs. de Relação com Atributos

Page 20: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.20Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Restrições de MapeamentoRestrições de Mapeamento

As restrições de mapeamento são expressas desenhando uma seta (), significando “um,” ou uma linha (—), significando “muitos,” entre o conj. de relações e o conj. de entidades.

E.g.: relação um para um: Um cliente está associado no máximo com um empréstimo (loan)

através da relação mutuário (borrower).

Um empréstimo está associado no máximo com um cliente.

Page 21: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.21Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Associações um para muitosAssociações um para muitos

Na relação um para muitos, um empréstimo está associado no máximo com um cliente através de mutuário, enquanto que um cliente está associado com vários empréstimos (podendo ser 0) através de mutuário

Page 22: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.22Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Associações muitos para muitosAssociações muitos para muitos

Um cliente está associado com vários empréstimos (possivelmente 0) através de mutuário

Um empréstimo está associado com vários clientes (possivelmente 0) através de mutuário

Page 23: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.23Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Papéis Papéis Os conjuntos de entidades participantes numa relação não são

obrigatoriamente distintos: As etiquetas “manager” e “worker” são designadas papéis; especificam como

as entidades employee interagem por intermédio do conjunto de relações works-for.

Os papéis são indicadas nos DERs anotando as linhas que ligam os losangos aos rectângulos.

Os papéis são opcionais, sendo utilizados para clarificar a semântica da relação.

Page 24: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.24Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Participação de um Conj. de Entidades num Participação de um Conj. de Entidades num Conj. de RelaçãoConj. de Relação

Participação total (indicado por uma linha dupla): toda a entidade do conjunto de entidades participa em pelo menos uma relação do conjunto de relações.

E.g. a participação de loan em borrower é total

todo o empréstimo tem de ter um cliente associado

Participação parcial: algumas entidades podem não participar em qualquer relação do conjunto de relações.

E.g. a participação de customer em borrower é parcial

Page 25: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.25Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Conjunto de entidades fraco Conjunto de entidades fraco

Um conjunto de entidades pode não ter atributos suficientes para formar uma chave primária. Nesse caso é designado por conjunto de entidades fraco. Exemplo: Movimentos de conta, com nº de movimento data/hora e

valor. Pode haver dois movimentos com o mesmo nº, do mesmo valor e a mesma data/hora. Têm é que ser de contas diferentes

A existência de um conjunto de entidades fraco depende da existência de um conjunto de entidades dominante o conjunto de entidades identificador deve relacionar-se com o

conjunto de entidades fraco através de uma relação um para muitos, total do lado do conjunto de entidades fraco.

Exemplo: Conta é conjunto de entidades dominante de Movimentos

Page 26: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.26Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Conjunto de entidades fraco (cont.) Conjunto de entidades fraco (cont.)

O discriminante (ou chave parcial) é o conjunto de atributos que distingue as entidades de um conjunto fraco, associadas a uma mesma entidade do conjunto dominante. Exemplo: Nº de movimento é discriminante pois, para uma mesma

conta, não pode haver dois movimentos com o mesmo nº.

A chave primária de um conjunto de entidades fraco é constituída pela chave primária do conjunto de entidades dominante do qual depende e pelo discriminante do conjunto de entidades fraco.

Page 27: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.27Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Conjunto de Entidades Fracas (Cont.)Conjunto de Entidades Fracas (Cont.) Um conjunto de entidades fracas é representado por um

rectângulo duplo. O discriminante do conjunto de entidades fracas é sublinhado a

tracejado. A relação entre o conjunto fraco e o dominante é representada

por um losango duplo

Page 28: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.28Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Conjunto de Entidades Fracas (Cont.)Conjunto de Entidades Fracas (Cont.)

Nota: a chave primária do conjunto de entidades identificador (ou forte) não é explicitamente representado no conjunto de entidades fracas, dado ser implícito na associação identificadora.

Se loan-number fosse representado explicitamente, payment poderia ser um conjunto de entidades fortes, mas assim a relação entre payment e loan seria duplicada por uma associação implícita definida pelo atributo loan-number comum a payment e a loan

Page 29: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.29Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Outro exemploOutro exemplo

Numa operadora telefónica, um telefone é um conjunto de entidades fortes enquanto que chamada pode ser modelada como um conjunto de entidades fracas

O discriminante de chamada seria data e hora

Se modelássemos chamada como uma entidade forte teríamos de modelar número-telefone como um atributo.

Assim a relação com telefone ficaria implícita no atributo número-telefone

Page 30: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.30Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Especialização/GeneralizaçãoEspecialização/Generalização

Há entidades que são “parecidas” mas não exactamente dum mesmo conjunto. E.g. quer os empregados quer os clientes têm um nome, morada, telefone, etc. Mas os

empregados têm salário (e os clientes não) e os clientes tem rating de crédito (e os empregados, enquanto tal, não).

Método de desenho descendente: designamos subgrupos dentro de um conjunto de entidades que são distintas de outras entidades nesse conjunto (Especialização). E.g. Designar subgrupo empregados e clientes dentro do conjunto mais geral de

pessoas. Outra maneira de ver - Método de desenho ascendente (bottom-up) – combinar num

conjunto de entidades de maior nível um certo número de conjuntos de entidades que partilham as mesmas características

Estes subgrupos tornam-se conjuntos de entidades de menor nível que têm atributos ou participam em relações que não se aplicam ao conjunto de entidades de maior nível.

Desenhado por um triângulo anotado com ISA: um cliente é uma (“is a”) pessoa. Herança de atributos – um conjunto de entidades de menor nível herda todos os

atributos e participa em todas as relações do conjunto de entidades de maior nível ao qual está ligado.

Page 31: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.31Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Exemplo de EspecializaçãoExemplo de Especialização

Page 32: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.32Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Restrições de Desenho para Restrições de Desenho para Especialização/GeneralizaçãoEspecialização/Generalização

Restrição de pertença – especifica se uma entidade no conjunto de maior nível pode ou não pertencer a mais que um conjunto do nível inferior. disjuntas : só pode pertencer a um do nível inferior (anotado com a

palavra disjoint ao lado do triângulo)

sobrepostas: pode pertencer a mais que um.

Restrição de completude – especifica se uma entidade no conjunto de maior nível tem ou não que pertencer a pelo menos um dos conjuntos do nível inferior. total : tem de pertencer pelo menos a um (anotado com a palavra

total ao lado do triângulo)

parcial: pode não pertencer a nenhum

Page 33: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.33Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

AgregaçãoAgregação

Considere: Um empregado pode trabalhar em vários projectos (e num projecto pode

haver vários empregados).

Há que saber que máquinas são usadas por cada empregado em cada projecto

A associação com máquinas não é feita com empregados nem com projectos. Deve é ser feita com a relação (par) empregados/projectos

Agregação: Trata-se a relação como uma entidade abstracta

Permitem-se relações entre relações (ou entre relações e entidades)

Abstracção de uma relação numa nova entidade

Page 34: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.34Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

DER com AgregaçãoDER com Agregação

uses

tool

project

Page 35: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.35Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Decisões de DesenhoDecisões de Desenho

A utilização de um atributo ou conjunto de entidades para representar um objecto.

Se um conceito da realidade é expresso mais adequadamente com um conjunto de entidades ou de relações.

Utilização de um conjunto de entidades forte ou fraco.

Utilização de especialização/generalização – contribui para a modularidade do desenho.

Utilização de agregação – pode tratar-se o conjunto de entidades agregado independentemente da sua estrutura interna.

Page 36: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.36Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

DER para um bancoDER para um banco

Page 37: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.37Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Sumário dos Símbolos Utilizados na Sumário dos Símbolos Utilizados na Notação ERNotação ER

Page 38: 2.1.1Database System Concepts©Silberschatz, Korth and Sudarshan (Modificado) Capítulo 2: Modelo ER Conjuntos de entidades Conjuntos de relações Aspectos.

2.1.38Database System Concepts ©Silberschatz, Korth and Sudarshan (Modificado)

Sumário dos Símbolos (Cont.)Sumário dos Símbolos (Cont.)