Baixe o app para aproveitar ainda mais
Prévia do material em texto
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. ©Carlos A. Heuser 9 PESSOA Entidade – representação diagramática • Representada através de um retângulo. ©Carlos A. Heuser 10 PESSOA Nome da entidade 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 ©Carlos A. Heuser 12 conjunto elemento do conjunto entidade instância conjunto de entidades entidade classe instância • Há terminologias conflitantes na literatura Entidade e instância - terminologias ©Carlos A. Heuser 13 conjunto elemento do conjunto entidade instância conjunto de entidades entidade classe instância • Há terminologias conflitantes na literatura terminologia adotada no livro Entidade e instância - terminologias ©Carlos A. Heuser 14 conjunto elemento do conjunto entidade instância conjunto de entidades entidade classe instância • Há terminologias conflitantes na literatura terminologia adotada em textos acadêmicos em Inglês Entidade e instância - terminologias ©Carlos A. Heuser 15 conjunto elemento do conjunto entidade instância conjunto de entidades entidade classe instância • Há terminologias conflitantes na literatura terminologia de orientação a objetos 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 ©Carlos A. Heuser 18 DEPARTAMENTO LOTAÇÃO EMPREGADO 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 ©Carlos A. Heuser 20 p1 p8 p7 p5p6 p4 p3 p2 p1,d1 p2,d1 p4,d2 p5,d3 d1 d3d2 entidade EMPREGADO relacionamento LOTAÇÃO entidade DEPARTAMENTO Auto-relacionamento ©Carlos A. Heuser 21 PESSOA CASAMENTO Papel no relacionamento • Função que uma ocorrência de uma entidade cumpre em uma ocorrência de um relacionamento. ©Carlos A. Heuser 22 marido esposa papel no relacionamento PESSOA CASAMENTO Papel no relacionamento • Relacionamentos entre entidades diferentes: – não é usual indicar os papéis das entidades ©Carlos A. Heuser 23 DEPARTAMENTO LOTAÇÃO PESSOA Auto-relacionamento diagrama de ocorrências ©Carlos A. Heuser 24 p1 p8 p7 p5 p6 p4 p3 p2 p1,p3 p6,p8 marido esposa marido esposa PESSOA CASAMENTO marido esposa 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 ©Carlos A. Heuser 27 LOTAÇÃODEPARTAMENTO EMPREGADO n1 Cardinalidade máxima - DER ©Carlos A. Heuser 28 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 LOTAÇÃODEPARTAMENTO EMPREGADO n1 Cardinalidade máxima - DER ©Carlos A. Heuser 29 expressa que não há um limite superior para o número de ocorrências de EMPREGADO associadas a uma ocorrência de DEPARTAMENTO LOTAÇÃODEPARTAMENTO EMPREGADO n1 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 ©Carlos A. Heuser 31 PESSOA CASAMENTO marido 1 1 esposa Relacionamentos 1:1 ©Carlos A. Heuser 32 EMPREGADO ALOCAÇÃO 1 1 MESA Relacionamentos 1:n ©Carlos A. Heuser 33 ALUNO INSCRIÇÃO CURSO1 n Relacionamentos 1:n ©Carlos A. Heuser 34 EMPREGADO DEPENDENTE 1 n Relacionamentos 1:n ©Carlos A. Heuser 35 EMPREGADO DEPENDENTE 1 n Nomenclatura: • uso de verbos • entidades dão o nome Relacionamentos 1:n ©Carlos A. Heuser 36 EMPREGADO SUPERVISÃO 1 n supervisor supervisionado Relacionamentos n:n ©Carlos A. Heuser 37 ENGENHEIRO ALOCAÇÃO PROJETO n n Relacionamentos n:n ©Carlos A. Heuser 38 MÉDICO CONSULTA PACIENTE n n Relacionamentos n:n ©Carlos A. Heuser 39 PEÇA CAPACIDADE FORNECEDOR n n Relacionamentos n:n ©Carlos A. Heuser 40 PRODUTO COMPOSIÇÃO n n composto componente Relacionamento ternário ©Carlos A. Heuser 41 DISTRIBUIDORCIDADE PRODUTO DISTRIBUIÇÃO Cardinalidade de relacionamento ternário ©Carlos A. Heuser 42 1n n DISTRIBUIDORCIDADE PRODUTO DISTRIBUIÇÃO Cardinalidade de relacionamento ternário ©Carlos A. Heuser 43 1n n DISTRIBUIDORCIDADE PRODUTO DISTRIBUIÇÃO a cardinalidade “1” refere-se a um par (cidade,fornecedor) Cardinalidademínima ©Carlos A. Heuser 44 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. 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 ©Carlos A. Heuser 46 EMPREGADO ALOCAÇÃO e1 e4 e3 e2 e1,m1 e2,m2 (0,1) (1,1) MESA e4,m4 m1 m6m4 m3 m2 m5 e3,m6 Cardinalidade mínima - DER ©Carlos A. Heuser 47 EMPREGADO ALOCAÇÃO e1 e4 e3 e2 e1,m1 e2,m2 (0,1) (1,1) MESA e4,m4 m1 m6m4 m3 m2 m5 e3,m6cardinalidade mínima Exemplo - entidades e relacionamentos ©Carlos A. Heuser 48 DEPARTAMENTO RESPONSÁVEL DISCIPLINA (1,1) (0,n) ALUNO INSCRIÇÃO CURSO (1,1)(0,n) DISC-CURSO (0,n) (0,n) PRÉ-REQUIS (0,n) (0,n) liberadoraliberada Atributo ©Carlos A. Heuser 49 Atributo Dado ou informação que é associado a cada ocorrência de uma entidade ou de um relacionamento Atributo ©Carlos A. Heuser 50 PROJETO tipo código nome Atributo Dado ou informação que é associado a cada ocorrência de uma entidade ou de um relacionamento 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 ©Carlos A. Heuser 52 CLIENTE telefone (0,n) código nome atributo obrigatório e mono-valorado - (1,1) é o default Atributo com cardinalidade ©Carlos A. Heuser 53 CLIENTE telefone (0,n) código nome atributo opcional e multi-valorado Atributo em relacionamento ©Carlos A. Heuser 54 ENGENHEIRO ATUAÇÃO PROJETO (1,n) (0,n) Código Nome TítuloFunção Código Atributo em relacionamento 1:n ©Carlos A. Heuser 55 FINANCEIRA FINANCIAMENTO VENDA (0,1) taxa de juros (0,n) nº de parcelas Identificador de entidade • Cada entidade deve possuir um identificador ©Carlos A. Heuser 56 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 Atributo identificador ©Carlos A. Heuser 57 PESSOA endereço código nome PRATELEIRA número da prateleira capacidade número do corredor Relacionamento identificador ©Carlos A. Heuser 58 EMPREGADO DEPENDENTE (1,1) (0,n) nomeseqüênciacódigo número de nome entidade fraca Relacionamento identificador ©Carlos A. Heuser 59 EMPREGADO DEPENDENTE (1,1) (0,n) nomeseqüênciacódigo número de nome Observar a linha mais densa Relacionamento identificador (recursão) ©Carlos A. Heuser 60 (1,1) (0,n) GRUPO EMPRESA código FILIAL (1,1) (0,n) número da filial número da empresa Identificador de relacionamento • Uma ocorrência de relacionamento diferencia-se das demais do mesmo relacionamento pelas ocorrências de entidades que dela participam. ©Carlos A. Heuser 61 ENGENHEIRO ALOCAÇÃO PROJETO n n Relacionamento com atributo identificador ©Carlos A. Heuser 62 MÉDICO CONSULTA PACIENTE (1,n) (0,n) data/hora 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 ©Carlos A. Heuser 64 CLIENTE PESSOA JURÍDICA nome código CIC CGC FILIAL (1,1) (0,n) sexo tipo de organização PESSOA FÍSICA Generalização/especialização ©Carlos A. Heuser 65 nome código CIC CGC FILIAL (1,1) (0,n) sexo tipo de organização Símbolo da generalização- especialização CLIENTE PESSOA FÍSICA PESSOA JURÍDICA Generalização/especialização ©Carlos A. Heuser 66 nome código CIC CGC FILIAL (1,1) (0,n) sexo tipo de organização CLIENTE Entidade genérica PESSOA FÍSICA PESSOA JURÍDICA Generalização/especialização ©Carlos A. Heuser 67 nome código CIC CGC FILIAL (1,1) (0,n) sexo tipo de organização CLIENTE PESSOA FÍSICA Entidade especializada PESSOA JURÍDICA Generalização/especialização ©Carlos A. Heuser 68 nome código CIC CGC FILIAL (1,1) (0,n) sexo tipo de organização CLIENTE PESSOA FÍSICA Herda as propriedades da entidade genérica PESSOA JURÍDICA Generalização/especialização ©Carlos A. Heuser 69 PESSOA FÍSICA nome código CIC CGC FILIAL (1,1) (0,n) sexo tipo de organização Identificador somente na entidade genérica CLIENTE PESSOA JURÍDICA Generalização/especialização (recursão) ©Carlos A. Heuser 70 BARCOVEÍCULO ANFÍBIO VEÍCULO AUTOMÓVEL VEÍCULO AQUÁTICO VEÍCULO TERRESTRE Generalização/especialização (recursão) ©Carlos A. Heuser 71 BARCOVEÍCULO ANFÍBIO VEÍCULO AUTOMÓVEL VEÍCULO AQUÁTICO VEÍCULO TERRESTRE Herança múltipla Generalização/especialização (recursão) ©Carlos A. Heuser 72 BARCOVEÍCULO ANFÍBIO VEÍCULO AUTOMÓVEL VEÍCULO AQUÁTICO VEÍCULO TERRESTRE A árvore de herança deve ter uma única entidade raiz, que define o identificador. Generalização/especialização (recursão) ©Carlos A. Heuser 73 BARCOVEÍCULO ANFÍBIO VEÍCULO AUTOMÓVEL VEÍCULO AQUÁTICO VEÍCULO TERRESTRE A árvore de herança deve ter uma única entidade, que define o identificador. Identificador de veículo definido aqui Generalização/especialização (recursão) ©Carlos A. Heuser 74 BARCOVEÍCULO ANFÍBIOAUTOMÓVEL VEÍCULO AQUÁTICO VEÍCULO TERRESTRE Caso proibido: • Herança de múltiplos identificadores. Generalização/especialização (recursão) ©Carlos A. Heuser 75 BARCOVEÍCULO ANFÍBIOAUTOMÓVEL VEÍCULO AQUÁTICO VEÍCULO TERRESTRE Caso proibido: • Herança de múltiplos identificadores. Qual seria o identificador desta entidade? Especialização total ©Carlos A. Heuser 76 nome código CIC CGCsexo tipo de organização CLIENTE PESSOA FÍSICA PESSOA JURÍDICA t indica que todo CLIENTE é ou PESSOA FÍSICA ou PESSOA JURíDICA Especialização parcial ©Carlos A. Heuser 77 FUNCIONÁRIO MOTORISTA SECRETÁRIA p tipo de funcionário indica que nem todo FUNCIONÁRIO é MOTORISTA ou SECRETÁRIA Especialização parcial ©Carlos A. Heuser 78 FUNCIONÁRIO MOTORISTA SECRETÁRIA p tipo de funcionário necessário em especialização parcial Especialização não exclusiva (compartilhada) ©Carlos A. Heuser 79 ALUNOFUNCIONÁRIO PESSOA PROFESSOR c Uma instância de PESSOA pode aparecer em mais de uma de suas especializações 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. ©Carlos A. Heuser 81 MÉDICO CONSULTA PACIENTE n n Incluindo o relacionamento de PRESCRIÇÃO ©Carlos A. Heuser 82 MEDICAMENTO PRESCRIÇÃOn n MÉDICO PACIENTECONSULTA n n PRESCRIÇÃO liga com? Substituindo relacionamento por entidade ©Carlos A. Heuser 83 MEDICAMENTO PRESCRIÇÃO CONSULTA (1,1) n n (1,1) n n MÉDICO PACIENTE Entidade associativa ©Carlos A. Heuser 84 MEDICAMENTO PRESCRIÇÃO n n MÉDICO PACIENTECONSULTA n n entidade associativa
Compartilhar