Sistemas de Informação e Bases de Dados 2012/2013 Modelo Entidade-Associação (EA) Alberto Sardinha
Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 2 1
Sumário Modelo Entidade-Associação (EA) Concepção/Desenho de Bases de Dados revisitada 2
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
Sumário Ø Modelo Entidade-Associação (EA) Concepção de Bases de Dados revisitada 4
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
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
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. ssn name lot Employees
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
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
Representação do Conjunto de Associações O conjunto de associações é representado por um losango name since dname ssn lot did budget Employees Works_In Departments
Instâncias (exemplares) do conjunto de associações Instância ou exemplar de um conjunto de associações é um conjunto de associações
Conjunto de Associações Ternárias ssn name lot did dname budget Employees Works_In4 Departments from Duration to
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
Papéis na Associação Os conjuntos de entidades envolvidos numa associação não têm necessariamente que ser distintos. name ssn lot Employees subordinate supervisor Reports_To
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
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 name since dname ssn lot did budget Employees Manages Departments
Restrição de Chave nas Ternárias Cada empregado trabalha no máximo em um departamento e num único sítio ssn name lot did dname budget Employees Works_In3 Departments address Location capacity
Instâncias da Ternária
Combinações de Restrições 1-para-1 1-para-muitos muitos-para-1 muitos-para-muitos
Representação do Conjunto de Associações Uma associação de muitos-para-muitos name since dname ssn lot did budget Employees Works_In Departments
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 name since dname ssn lot did budget Employees Manages Departments Works_In since
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
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
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
Exemplo de Entidade Fraca Representada por linhas a cheio A chave parcial está sublinhada a tracejado name ssn lot cost pname age Employees Policy Dependents
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
Generalizações Classifica um conjunto de entidades em subconjuntos Os atributos do conjunto das super-entidades são herdados pelos subconjuntos de hourly_wages sub-entidades ssn hours_worked name Employees IS-A lot contractid Hourly_Emps Contract_Emps
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
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
Restrições de Cobertura Restrições de cobertura determinam se a união das entidades das sub-classes é igual ao conjunto de entidades na superclasse Por omissão são parciais A restrição de cobertura é representada por: Motorboats AND Cars COVER Motor-Vehicles
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
Agregação Agregação indica que um conjunto de associações está associado com um outro conjunto de associações ssn name Employees Monitors lot until pid started_on pbudget since did dname budget Projects Sponsors Departments
Atributos Multi-valor e Derivados Atributos* podem ser: Simples ou compostos De valor único ou valor múltiplo ssn Street City Address name lot Employees age derivados phone Date_of_birth * Notação do Livro: Database System Concepts, Silberchatz, Korth, Sudarshan, 5th Ed., 2005, McGraw Hil
Restrições de Integridade (RIs) Quando não é possível modelar em EA uma restrição aos dados definida nos requisitos Exemplo: ssn name lot from to did dname budget Employees Works_In4 Departments RI: Um empregado não pode estar num departamento por um período inferior a 3 meses.
Sumário Modelo Entidade-Associação (EA) Próxima Aula: Concepção de Bases de Dados revisitada 35