Upload
hakhuong
View
215
Download
0
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
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
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
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