Abordagem ER Capítulo 2
Abordagem Entidade-Relacionamento Técnica para construir modelos conceituais de bases de dados. Técnica de modelagem de dados mais difundida e utilizada. Criada em 1976, por Peter Chen. Carlos A. Heuser 2
Abordagem Entidade-Relacionamento Padrão de fato para modelagem conceitual. Não é única: NIAM/ORM (técnica européia da década de 70) UML (técnica para modelos orientados a objeto) Técnicas de modelagem orientada a objeto (UML) baseiam-se nos conceitos da abordagem ER Carlos A. Heuser 3
Abordagem Entidade-Relacionamento Modelo de dados é representado através de um modelo entidade-relacionamento (modelo ER) Modelo ER é representado graficamente diagrama entidade-relacionamento (DER) Carlos A. Heuser 4
Conceitos centrais da abordagem ER Entidade Relacionamento Atributo Generalização/especialização Entidade associativa Carlos A. Heuser 5
Entidade Entidade Conjunto de objetos da realidade modelada sobre os quais deseja-se manter informações no banco de dados Carlos A. Heuser 6
Entidade exemplos Sistema de informações industrial: produtos tipos de produtos vendas compras Sistema de contas correntes: clientes contas correntes cheques agências Carlos A. Heuser 7
Entidade representa Uma entidade pode representar: objetos concretos da realidade (uma pessoa, um automóvel) objetos abstratos (um departamento, um endereço) Carlos A. Heuser 8
Entidade representação diagramática Representada através de um retângulo. PESSOA Carlos A. Heuser 9
Entidade representação diagramática Representada através de um retângulo. PESSOA Nome da entidade Carlos A. Heuser 10
Entidade e instância Para referir um objeto particular fala-se em: instância ou ocorrência de entidade. Carlos A. Heuser 11
Entidade e instância - terminologias Há terminologias conflitantes na literatura conjunto entidade conjunto de entidades classe elemento do conjunto instância entidade instância Carlos A. Heuser 12
Entidade e instância - terminologias Há terminologias conflitantes na literatura conjunto entidade conjunto de entidades classe elemento do conjunto instância entidade terminologia instância adotada no livro Carlos A. Heuser 13
Entidade e instância - terminologias Há terminologias conflitantes na literatura conjunto entidade conjunto de entidades classe elemento do conjunto instância entidade instância terminologia adotada em textos acadêmicos em Inglês Carlos A. Heuser 14
Entidade e instância - terminologias Há terminologias conflitantes na literatura conjunto entidade conjunto de entidades classe elemento do conjunto instância entidade instância terminologia de orientação a objetos Carlos A. Heuser 15
Propriedades de entidades Entidade isoladamente pouco informa. É necessário atribuir propriedades às entidades Em um modelo ER, propriedades são especificadas através de: Relacionamentos Atributos Generalizações/especializações Carlos A. Heuser 16
Relacionamento - conceito Relacionamento Conjunto de associações entre entidades sobre as quais deseja-se manter informações na base de dados Carlos A. Heuser 17
Relacionamento representação gráfica DEPARTAMENTO LOTAÇÃO EMPREGADO Carlos A. Heuser 18
Relacionamento e instância Relacionamento é um conjunto de associações entre instâncias de entidades Uma instância (ocorrência) é uma associação específica entre determinadas instâncias de entidade Exemplo (relacionamento LOTAÇÃO): instância de LOTAÇÃO = par específico formado por uma ocorrência de PESSOA e uma ocorrência de DEPARTAMENTO Carlos A. Heuser 19
Diagrama de ocorrências p1 p2 p3 p4 p6 p7 p5 p8 entidade EMPREGADO p1,d1 p2,d1 p4,d2 p5,d3 relacionamento LOTAÇÃO d1 d2 d3 entidade DEPARTAMENTO Carlos A. Heuser 20
Auto-relacionamento PESSOA CASAMENTO Carlos A. Heuser 21
Papel no relacionamento Função que uma ocorrência de uma entidade cumpre em uma ocorrência de um relacionamento. PESSOA marido esposa CASAMENTO papel no relacionamento Carlos A. Heuser 22
Papel no relacionamento Relacionamentos entre entidades diferentes: não é usual indicar os papéis das entidades DEPARTAMENTO LOTAÇÃO PESSOA Carlos A. Heuser 23
Auto-relacionamento diagrama de ocorrências PESSOA p1 p2 p3 p4 p6 p7 p5 p8 marido CASAMENTO esposa marido esposa marido esposa p1,p3 p6,p8 Carlos A. Heuser 24
Cardinalidade de relacionamentos Propriedade importante de um relacionamento: Número de ocorrências de uma entidade que podem estar associadas a uma determinada ocorrência de entidade através do relacionamento Chamada de cardinalidade de uma entidade em um relacionamento. Há duas cardinalidades: máxima mínima Carlos A. Heuser 25
Cardinalidade máxima - valores Para projeto de BD relacional: não é necessário distinguir entre diferentes cardinalidades máximas > 1 Dois valores de cardinalidades máximas são usados: cardinalidade máxima: 1 cardinalidade máxima não limitado ( muitos ), referida pela letra n Carlos A. Heuser 26
Cardinalidade máxima no DER DEPARTAMENTO 1 LOTAÇÃO n EMPREGADO Carlos A. Heuser 27
Cardinalidade máxima - DER DEPARTAMENTO 1 LOTAÇÃO n EMPREGADO expressa que a uma ocorrência de EMPREGADO (entidade do lado oposto da anotação) pode estar associada no máximo uma ( 1 ) ocorrência de DEPARTAMENTO Carlos A. Heuser 28
Cardinalidade máxima - DER DEPARTAMENTO 1 LOTAÇÃO n EMPREGADO expressa que não há um limite superior para o número de ocorrências de EMPREGADO associadas a uma ocorrência de DEPARTAMENTO Carlos A. Heuser 29
Classificação de relacionamentos Cardinalidade máxima pode ser usada para classificar relacionamentos binários. Relacionamento binário: é aquele cujas instâncias envolvem duas instâncias de entidades. Relacionamentos binários n:n (muitos-para-muitos) 1:n (um-para-muitos) 1:1 (um-para-um) Carlos A. Heuser 30
Relacionamentos 1:1 PESSOA marido 1 1 esposa CASAMENTO Carlos A. Heuser 31
Relacionamentos 1:1 EMPREGADO 1 ALOCAÇÃO 1 MESA Carlos A. Heuser 32
Relacionamentos 1:n n ALUNO INSCRIÇÃO 1 CURSO Carlos A. Heuser 33
Relacionamentos 1:n EMPREGADO 1 n DEPENDENTE Carlos A. Heuser 34
Relacionamentos 1:n EMPREGADO 1 n DEPENDENTE Nomenclatura: uso de verbos entidades dão o nome Carlos A. Heuser 35
Relacionamentos 1:n EMPREGADO supervisor supervisionado 1 n SUPERVISÃO Carlos A. Heuser 36
Relacionamentos n:n n ENGENHEIRO ALOCAÇÃO n PROJETO Carlos A. Heuser 37
Relacionamentos n:n n MÉDICO CONSULTA n PACIENTE Carlos A. Heuser 38
Relacionamentos n:n n PEÇA CAPACIDADE n FORNECEDOR Carlos A. Heuser 39
Relacionamentos n:n PRODUTO composto n componente n COMPOSIÇÃO Carlos A. Heuser 40
Relacionamento ternário CIDADE DISTRIBUIDOR DISTRIBUIÇÃO PRODUTO Carlos A. Heuser 41
Cardinalidade de relacionamento ternário CIDADE DISTRIBUIDOR n 1 DISTRIBUIÇÃO n PRODUTO Carlos A. Heuser 42
Cardinalidade de relacionamento ternário CIDADE DISTRIBUIDOR n 1 DISTRIBUIÇÃO n a cardinalidade 1 refere-se a um par (cidade,fornecedor) PRODUTO Carlos A. Heuser 43
Cardinalidade mínima Cardinalidade mínima Número mínimo de ocorrências de entidade que são associadas a uma ocorrência de uma entidade através de um relacionamento. Carlos A. Heuser 44
Cardinalidade mínima Para fins de projeto de BD relacional, são consideradas apenas duas cardinalidades mínimas: cardinalidade mínima 0 cardinalidade mínima 1 Denominação alternativa: cardinalidade mínima 0 = associação opcional cardinalidade mínima 1 = associação obrigatória Carlos A. Heuser 45
Cardinalidade mínima - DER EMPREGADO e1 e2 e3 e4 (0,1) ALOCAÇÃO e1,m1 e2,m2 e3,m6 e4,m4 (1,1) MESA m1 m2 m3 m4 m5 m6 Carlos A. Heuser 46
Cardinalidade mínima - DER EMPREGADO e1 e2 e3 e4 (0,1) cardinalidade mínima ALOCAÇÃO e1,m1 e2,m2 e3,m6 e4,m4 (1,1) MESA m1 m2 m3 m4 m5 m6 Carlos A. Heuser 47
Exemplo - entidades e relacionamentos liberada (0,n) PRÉ-REQUIS DEPARTAMENTO RESPONSÁVEL DISCIPLINA (1,1) (0,n) (0,n) DISC-CURSO (0,n) ALUNO (0,n) INSCRIÇÃO (1,1) CURSO liberadora (0,n) Carlos A. Heuser 48
Atributo Atributo Dado ou informação que é associado a cada ocorrência de uma entidade ou de um relacionamento Carlos A. Heuser 49
Atributo Atributo Dado ou informação que é associado a cada ocorrência de uma entidade ou de um relacionamento PROJETO código nome tipo Carlos A. Heuser 50
Atributos com cardinalidade Cardinalidade mínima: atributo obrigatório (cardinalidade mínima 1 ) cada entidade possui no mínimo um valor associado atributo opcional (cardinalidade mínima 0 ) Cardinalidade máxima: atributo mono-valorado (cardinalidade máxima 1 ) cada entidade possui no máximo um valor associado atributo multi-valorado (cardinalidade máxima n ) Carlos A. Heuser 51
Atributo com cardinalidade CLIENTE código nome telefone (0,n) atributo obrigatório e mono-valorado - (1,1) é o default Carlos A. Heuser 52
Atributo com cardinalidade CLIENTE código nome telefone (0,n) atributo opcional e multi-valorado Carlos A. Heuser 53
Atributo em relacionamento (1,n) (0,n) ENGENHEIRO ATUAÇÃO PROJETO Código Nome Título Função Código Carlos A. Heuser 54
Atributo em relacionamento 1:n nº de parcelas (0,1) (0,n) FINANCEIRA FINANCIAMENTO VENDA taxa de juros Carlos A. Heuser 55
Identificador de entidade Cada entidade deve possuir um identificador Identificador de entidade = conjunto propriedades (atributos, relacionamentos) de uma entidade cujos valores servem para distinguir uma ocorrência da entidade das demais ocorrências da mesma entidade Carlos A. Heuser 56
Atributo identificador PESSOA código nome endereço PRATELEIRA capacidade número do corredor número da prateleira Carlos A. Heuser 57
Relacionamento identificador código nome número de seqüência nome EMPREGADO (1,1) (0,n) DEPENDENTE entidade fraca Carlos A. Heuser 58
Relacionamento identificador código nome número de seqüência nome EMPREGADO (1,1) (0,n) Observar a linha mais densa DEPENDENTE Carlos A. Heuser 59
Relacionamento identificador (recursão) GRUPO código (1,1) (0,n) EMPRESA (1,1) número da empresa (0,n) FILIAL número da filial Carlos A. Heuser 60
Identificador de relacionamento Uma ocorrência de relacionamento diferencia-se das demais do mesmo relacionamento pelas ocorrências de entidades que dela participam. n n ENGENHEIRO ALOCAÇÃO PROJETO Carlos A. Heuser 61
Relacionamento com atributo identificador (1,n) (0,n) MÉDICO CONSULTA PACIENTE data/hora Carlos A. Heuser 62
Generalização/especialização Conceito permite: atribuir propriedades particulares a um subconjunto das ocorrências (especializadas) de uma entidade genérica. Carlos A. Heuser 63
Generalização/especialização FILIAL (1,1) (0,n) CLIENTE nome código PESSOA FÍSICA PESSOA JURÍDICA CIC sexo CGC tipo de organização Carlos A. Heuser 64
Generalização/especialização FILIAL (1,1) (0,n) Símbolo da generalizaçãoespecialização CLIENTE nome código PESSOA FÍSICA PESSOA JURÍDICA CIC sexo CGC tipo de organização Carlos A. Heuser 65
Generalização/especialização FILIAL Entidade genérica (1,1) (0,n) CLIENTE nome código PESSOA FÍSICA PESSOA JURÍDICA CIC sexo CGC tipo de organização Carlos A. Heuser 66
Generalização/especialização FILIAL (1,1) (0,n) CLIENTE nome código Entidade especializada PESSOA FÍSICA PESSOA JURÍDICA CIC sexo CGC tipo de organização Carlos A. Heuser 67
Generalização/especialização FILIAL (1,1) (0,n) CLIENTE nome código Herda as propriedades da entidade genérica PESSOA FÍSICA PESSOA JURÍDICA CIC sexo CGC tipo de organização Carlos A. Heuser 68
Generalização/especialização FILIAL (1,1) (0,n) CLIENTE nome código Identificador somente na entidade genérica PESSOA FÍSICA PESSOA JURÍDICA CIC sexo CGC tipo de organização Carlos A. Heuser 69
Generalização/especialização (recursão) VEÍCULO VEÍCULO TERRESTRE VEÍCULO AQUÁTICO AUTOMÓVEL VEÍCULO ANFÍBIO BARCO Carlos A. Heuser 70
Generalização/especialização (recursão) VEÍCULO VEÍCULO TERRESTRE VEÍCULO AQUÁTICO AUTOMÓVEL Herança múltipla VEÍCULO ANFÍBIO BARCO Carlos A. Heuser 71
Generalização/especialização (recursão) A árvore de herança deve ter uma única entidade raiz, que define o identificador. VEÍCULO VEÍCULO TERRESTRE VEÍCULO AQUÁTICO AUTOMÓVEL VEÍCULO ANFÍBIO BARCO Carlos A. Heuser 72
Generalização/especialização (recursão) A árvore de herança deve ter uma única entidade, que define o identificador. VEÍCULO Identificador de veículo definido aqui VEÍCULO TERRESTRE VEÍCULO AQUÁTICO AUTOMÓVEL VEÍCULO ANFÍBIO BARCO Carlos A. Heuser 73
Generalização/especialização (recursão) Caso proibido: Herança de múltiplos identificadores. VEÍCULO TERRESTRE VEÍCULO AQUÁTICO AUTOMÓVEL VEÍCULO ANFÍBIO BARCO Carlos A. Heuser 74
Generalização/especialização (recursão) Caso proibido: Herança de múltiplos identificadores. VEÍCULO TERRESTRE Qual seria o identificador desta entidade? VEÍCULO AQUÁTICO AUTOMÓVEL VEÍCULO ANFÍBIO BARCO Carlos A. Heuser 75
Especialização total CLIENTE t nome código indica que todo CLIENTE é ou PESSOA FÍSICA ou PESSOA JURíDICA PESSOA FÍSICA PESSOA JURÍDICA CIC sexo CGC tipo de organização Carlos A. Heuser 76
Especialização parcial FUNCIONÁRIO tipo de funcionário p indica que nem todo FUNCIONÁRIO é MOTORISTA ou SECRETÁRIA MOTORISTA SECRETÁRIA Carlos A. Heuser 77
Especialização parcial necessário em especialização parcial FUNCIONÁRIO tipo de funcionário p MOTORISTA SECRETÁRIA Carlos A. Heuser 78
Especialização não exclusiva (compartilhada) PESSOA c Uma instância de PESSOA pode aparecer em mais de uma de suas especializações PROFESSOR FUNCIONÁRIO ALUNO Carlos A. Heuser 79
Tipos de generalizações/especializações Total (t) Parcial (p) Exclusiva (x) xt xp Compartilhada (c) ct cp 80
Entidade associativa Modificar modelo: Adicionar a informação de que medicamentos foram prescritos em uma consulta. n n MÉDICO CONSULTA PACIENTE Carlos A. Heuser 81
Incluindo o relacionamento de PRESCRIÇÃO MÉDICO n CONSULTA n PACIENTE n PRESCRIÇÃO liga com? PRESCRIÇÃO n MEDICAMENTO Carlos A. Heuser 82
Substituindo relacionamento por entidade MÉDICO (1,1) (1,1) PACIENTE n n CONSULTA n PRESCRIÇÃO n MEDICAMENTO Carlos A. Heuser 83
Entidade associativa MÉDICO n CONSULTA n PACIENTE n entidade associativa PRESCRIÇÃO n MEDICAMENTO Carlos A. Heuser 84