36
© 2012 IST Sistemas de Informação e Bases de Dados 2012/2013 Modelo Entidade-Associação (EA) Alberto Sardinha

Sistemas de Informação e Bases de Dados 2012/2013 · Sistemas de Informação e Bases de Dados 2012/2013 Modelo Entidade-Associação (EA) Alberto Sardinha ... – Uma é escolhida

Embed Size (px)

Citation preview

©  2012  IST  

Sistemas de Informação e Bases de Dados 2012/2013

Modelo Entidade-Associação

(EA) Alberto Sardinha

©  2012  IST  

Bibliografia

•  Raghu Ramakrishnan, Database

Management Systems, Cap. 2

1  

©  2012  IST  

Sumário

•  Modelo Entidade-Associação (EA) •  Concepção/Desenho de Bases de Dados

revisitada

2  

©  2012  IST  

Concepção de uma Base de Dados – príncipios básicos

Especificação de Requisitos

• requisito funcional 1:

• requisito funcional 2:

•  …

• regra de integridade 1:

• regra de integridade 2:

• ...

Modelo Conceptual (Modelo EA, Diagrama classes UML)

Esquema Relacional

Os Requisitos Funcionais e as Regras/Restrições de Integridade são invariantes dos modelos nos vários níveis

3  

©  2012  IST  

Sumário

Ø Modelo Entidade-Associação (EA) •  Concepção de Bases de Dados revisitada

4  

©  2012  IST  

Conjunto de Entidades

•  Entidade: objeto do mundo real

•  Uma entidade é descrita por um conjunto de atributos – Cada atributo tem associado um domínio de

valores possíveis

©  2012  IST  

Conjunto de Entidades •  Conjunto de Entidades: coleção de

entidades semelhantes – Partilham atributos – Partilham associações

•  Uma chave é o conjunto mínimo de atributos cujos valores identificam univocamente cada entidade do conjunto – Podem existir várias chaves candidatas – Uma é escolhida para ser chave primária

©  2012  IST  

Representação de Conjuntos de Entidades

•  Representados por um retângulo

•  Os atributos por elipses –  A chave primária está sublinhada –  Se existirem várias chaves candidatas, só a primária

é representada no modelo, as outras são descritas como uma RI.

Employees

ssn name

lot

©  2012  IST  

Conjuntos de Associações •  Associação: relacionamento entre duas ou mais

entidades

•  Conjunto de Associações: coleção de associações semelhantes

–  Conjunto de n-tuplos tal que •  {(e1,..., en) | e1 ∈ E1, ..., en ∈ En}

–  Relacionam conjuntos de entidades: •  Binárias: dois conjuntos de entidades

–  Não necessariamente distintos •  Ternárias: três conjuntos de entidades

©  2012  IST  

Conjuntos de Associações

•  A associação pode ter atributos descritivos – Com informação sobre a associação – Só um valor por associação

•  Não servem para guardar historial

©  2012  IST  

Representação do Conjunto de Associações

•  O conjunto de associações é representado por um losango

lot dname

budget did

since name

Works_In Departments Employees

ssn

©  2012  IST  

“Instâncias” (exemplares) do conjunto de associações

•  “Instância” ou exemplar de um conjunto de associações é um conjunto de associações

©  2012  IST  

Conjunto de Associações Ternárias

dname budget did

name

Departments

ssn lot

Employees Works_In4

Duration from to

©  2012  IST  

EXERCÍCIO

•  Uma base de dados da universidade contem informações sobre: – professores (identificados pelo BI) – disciplinas (identificadas por um código)

•  As disciplinas podem ser lecionadas por vários professores; além disso, professores podem lecionar várias disciplinas.

13  

©  2012  IST  

Papéis na Associação

Reports_To

lot

name

Employees

subor-dinate

super-visor

ssn

•  Os conjuntos de entidades envolvidos numa associação não têm necessariamente que ser distintos.

©  2012  IST  

EXERCÍCIO

•  Continuação: BD da universidade

– Cada aluno tem um outro aluno, mais sénior, que serve como conselheiro e lhe recomenda as disciplinas que deve frequentar.

15  

©  2012  IST  

Restrição de Chave (multiplicidade)

•  No máximo uma associação por cada entidade –  Uma associação de 1-para-muitos –  Um empregado pode estar associado à vários

departamentos, mas um departamento é gerenciado por no máximo um empregado

–  Representado por uma seta

dname

budget did

since

lot

name

ssn

Manages Employees Departments

©  2012  IST  

Restrição de Chave nas Ternárias

dname budget did

name

Departments

ssn lot

Employees Works_In3

Location address capacity

•  Cada empregado trabalha no máximo em um departamento e num único sítio

©  2012  IST  

“Instâncias” da Ternária

©  2012  IST  

Combinações de Restrições

muitos-para-muitos 1-para-1 1-para-muitos muitos-para-1

©  2012  IST  

Representação do Conjunto de Associações

•  Uma associação de muitos-para-muitos

lot dname

budget did

since name

Works_In Departments Employees

ssn

©  2012  IST  

Restrição de Participação •  No mínimo uma associação por cada entidade

–  A participação do conjunto de entidades Departments no conjunto de associações Manages é dita total (ou simplesmente “participação total”)

–  Representada por uma linha a cheio since

lot name dname

budget did name dname

budget did

Manages

since

Departments Employees

ssn

Works_In

©  2012  IST  

EXERCÍCIO

•  Continuação: BD da universidade

– Cada professor leciona exatamente uma disciplina

– Cada disciplina tem que ser lecionada por pelo menos um professor

– Um professor leciona disciplinas

22  

©  2012  IST  

Entidades Fracas

•  Uma entidade fraca só pode ser identificada

– Através dos seus atributos e da chave primária de outra entidade

•  Chamada de entidade forte

©  2012  IST  

Entidades Fracas

•  As seguintes restrições têm de existir:

– O conjunto de entidades fortes e o conjunto de entidades fracas devem participar numa associação um-para-muitos

•  Chamada de associação identificadora

– O conjunto de entidades fracas deve ter participação total na associação identificadora

©  2012  IST  

Exemplo de Entidade Fraca

•  Representada por linhas a cheio •  A chave parcial está sublinhada a

tracejado

lot

name

age pname

Dependents Employees

ssn

Policy

cost

©  2012  IST  

EXERCÍCIO

•  Continuação: BD da universidade

– Um professor pode ter vários filhos e cada filho é identificado pelo seu nome, sexo e idade

– Não estamos interessados na informação sobre os filhos depois que os professores deixam a universidade

26  

©  2012  IST  

Generalizações

•  Classifica um conjunto de entidades em subconjuntos

•  Os atributos do conjunto das super-entidades são herdados pelos subconjuntos de sub-entidades

Contract_Emps

name ssn

Employees

lot

hourly_wages IS-A

Hourly_Emps

contractid

hours_worked

©  2012  IST  

Especialização vs. Generalização

•  Empregados estão especializados em subconjuntos

–  Especialização é o processo de identificação de subconjuntos de entidades que partilham características comuns: atributos, associações,

•  Hourly_Emps e Contract_Emps são generalizados

por Employees

–  Generalização consiste na identificação de algumas características comuns a vários conjuntos de entidades e mapear essas características num novo conjunto de entidades

©  2012  IST  

Restrições de Sobreposição •  Restrições de sobreposição determinam se

dois subconjuntos podem conter a mesma entidade

•  Por omissão, os subconjuntos são disjuntos

•  Sobreposição é definida explicitamente com a RI: – Contract_Emps OVERLAPS Senior_Emps

©  2012  IST  

Restrições de Cobertura •  Restrições de cobertura determinam se a

união das entidades das sub-classes é igual ao conjunto de entidades na super-classe

•  Por omissão são parciais •  A restrição de cobertura é representada por:

– Motorboats AND Cars COVER Motor-Vehicles

©  2012  IST  

EXERCÍCIO •  Continuação: BD da universidade

–  Há várias categorias na carreira de um professor: •  Professor Auxiliar •  Professor Associado •  Professor Catedrático

–  Além disso, um professor pode ser convidado ou possuir um provimento definitivo

•  O professor convidado tem um contrato por um período fixo

–  Apenas o professor catedrático pode ser presidente de um departamento

31  

©  2012  IST  

Agregação

•  Agregação indica que um conjunto de associações está associado com um outro conjunto de associações

budget did pid

started_on

pbudget dname

until

Departments Projects Sponsors

Employees

Monitors

lot name

ssn

since

©  2012  IST  

Atributos Multi-valor e Derivados

Employees

lot

name ssn

•  Atributos* podem ser: – Simples ou

compostos – De valor único ou

valor múltiplo – derivados phone

age

Date_of_birth

Address

Street City

*  Notação  do  Livro:  Database  System  Concepts  ,  Silberchatz,  Korth,  Sudarshan,  5th  Ed.,  2005,  McGraw  Hil  

©  2012  IST  

Restrições de Integridade (RIs) •  Quando não é possível modelar em EA uma

restrição aos dados definida nos requisitos •  Exemplo:

RI: Um empregado não pode estar num

departamento por um período inferior a 3 meses.

name

Employees

ssn lot

Works_In4

from to dname

budget did

Departments

©  2012  IST  

Sumário

•  Modelo Entidade-Associação (EA) •  Próxima Aula: Concepção de Bases de

Dados revisitada

35