Baixe o app para aproveitar ainda mais
Prévia do material em texto
Modelagem Conceitual Entidade-Relacionamento 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. 2 3 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 3 4 Abordagem Entidade-Relacionamento • Modelo de dados é representado através de um – modelo entidade-relacionamento (modelo ER) • Modelo ER é representado graficamente – diagrama entidade-relacionamento (DER) 5 Conceitos centrais da abordagem ER • Entidade • Relacionamento • Atributo • Generalização/especialização • Entidade associativa 5 6 Entidade Entidade Conjunto de objetos da realidade modelada sobre os quais deseja-se manter informações no banco de dados 6 7 Entidade – exemplos • Sistema de informações industrial: – produtos – tipos de produtos – vendas – compras • Sistema de contas correntes: – clientes – contas correntes – cheques – agências 7 8 Entidade representa • Uma entidade pode representar: – objetos concretos da realidade (uma pessoa, um automóvel) – objetos abstratos (um departamento, um endereço) 8 9 Entidade – representação diagramática • Representada através de um retângulo. 9 PESSOA 10 Entidade – representação diagramática • Representada através de um retângulo. 10 PESSOA Nome da entidade 11 Entidade e instância • Para referir um objeto particular fala-se em: – instância ou – ocorrência de entidade. 11 12 Entidade e instância - terminologias 12 conjunto elemento do conjunto entidade instância conjunto de entidades entidade classe instância • Há terminologias conflitantes na literatura 13 Entidade e instância - terminologias 13 conjunto elemento do conjunto entidade instância conjunto de entidades entidade classe instância • Há terminologias conflitantes na literatura terminologia adotada 14 Entidade e instância - terminologias 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 15 Entidade e instância - terminologias 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 16 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 16 17 Relacionamento - conceito Relacionamento Conjunto de associações entre entidades sobre as quais deseja-se manter informações na base de dados 17 18 Relacionamento – representação gráfica 18 DEPARTAMENTO LOTAÇÃO EMPREGADO 19 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 19 20 Diagrama de ocorrências 20 p1 p8 p7 p5 p6 p4 p3 p2 p1,d1 p2,d1 p4,d2 p5,d3 d1 d3 d2 entidade EMPREGADO relacionamento LOTAÇÃO entidade DEPARTAMENTO 21 Auto-relacionamento 21 PESSOA CASAMENTO 22 Papel no relacionamento • Função que uma ocorrência de uma entidade cumpre em uma ocorrência de um relacionamento. 22 marido esposa papel no relacionamento PESSOA CASAMENTO 23 Papel no relacionamento • Relacionamentos entre entidades diferentes: – não é usual indicar os papéis das entidades 23 DEPARTAMENTO LOTAÇÃO PESSOA 24 Auto-relacionamento diagrama de ocorrências 24 p1 p8 p7 p5 p6 p4 p3 p2 p1,p3 p6,p8 marido esposa marido esposa PESSOA CASAMENTO marido esposa 25 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 25 26 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 26 27 Cardinalidade máxima no DER 27 LOTAÇÃO DEPARTAMENTO EMPREGADO n 1 28 Cardinalidade máxima - DER 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ÇÃO DEPARTAMENTO EMPREGADO n 1 29 Cardinalidade máxima - DER 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ÇÃO DEPARTAMENTO EMPREGADO n 1 30 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) 30 31 Relacionamentos 1:1 31 PESSOA CASAMENTO marido 1 1 esposa 32 Relacionamentos 1:1 32 EMPREGADO ALOCAÇÃO 1 1 MESA 33 Relacionamentos 1:n 33 ALUNO INSCRIÇÃO CURSO 1 n 34 Relacionamentos 1:n 34 EMPREGADO DEPENDENTE 1 n 35 Relacionamentos 1:n 35 EMPREGADO DEPENDENTE 1 n Nomenclatura: • uso de verbos • entidades dão o nome 36 Relacionamentos 1:n 36 EMPREGADO SUPERVISÃO 1 n supervisor supervisionado 37 Relacionamentos n:n 37 ENGENHEIRO ALOCAÇÃO PROJETO n n 38 Relacionamentos n:n 38 MÉDICO CONSULTA PACIENTE n n 39 Relacionamentos n:n 39 PEÇA CAPACIDADE FORNECEDOR n n 40 Relacionamentos n:n 40 PRODUTO COMPOSIÇÃO n n composto componente 41 Relacionamento ternário 41 DISTRIBUIDOR CIDADE PRODUTO DISTRIBUIÇÃO 42 Cardinalidade de relacionamento ternário 42 1 n n DISTRIBUIDOR CIDADE PRODUTO DISTRIBUIÇÃO 43 Cardinalidade de relacionamento ternário 43 1 n n DISTRIBUIDOR CIDADEPRODUTO DISTRIBUIÇÃO a cardinalidade “1” refere-se a um par (cidade, fornecedor) 44 Cardinalidade mínima 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. 45 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” 45 46 Cardinalidade mínima - DER 46 EMPREGADO ALOCAÇÃO e1 e4 e3 e2 e1,m1 e2,m2 (0,1) (1,1) MESA e4,m4 m1 m6 m4 m3 m2 m5 e3,m6 47 Cardinalidade mínima - DER 47 EMPREGADO ALOCAÇÃO e1 e4 e3 e2 e1,m1 e2,m2 (0,1) (1,1) MESA e4,m4 m1 m6 m4 m3 m2 m5 e3,m6 cardinalidade mínima 48 Atributo 48 Atributo Dado ou informação que é associado a cada ocorrência de uma entidade ou de um relacionamento 49 Atributo 49 PROJETO tipo código nome Atributo Dado ou informação que é associado a cada ocorrência de uma entidade ou de um relacionamento 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 monovalorado (cardinalidade máxima “1”) • cada entidade possui no máximo um valor associado – atributo multivalorado (cardinalidade máxima “n”) 50 51 Atributo com cardinalidade 51 CLIENTE telefone (0,n) código nome atributo obrigatório e monovalorado - (1,1) é o default 52 Atributo com cardinalidade 52 CLIENTE telefone (0,n) código nome atributo opcional e multivalorado 53 Atributo em relacionamento 53 ENGENHEIRO ATUAÇÃO PROJETO (1,n) (0,n) Código Nome Título Função Código 54 Atributo em relacionamento 1:n 54 FINANCEIRA FINANCIAMENTO VENDA (0,1) taxa de juros (0,n) nº de parcelas 55 Identificador de entidade • Cada entidade deve possuir um identificador 55 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 56 Atributo identificador 56 PESSOA endereço código nome PRATELEIRA número da prateleira capacidade número do corredor 57 Relacionamento identificador 57 EMPREGADO DEPENDENTE (1,1) (0,n) nome sequência código número de nome entidade fraca 58 Relacionamento identificador 58 EMPREGADO DEPENDENTE (1,1) (0,n) nome sequência código número de nome Observar a linha mais densa Exercícios • Modele o campeonato Brasileiro. – Conceitos relacionados(terminologia): – Clube: Vasco, flamengo, botafogo, fluminense – Equipe: conjunto de jogadores de um clube (equipe profissional, equipe sub20) – Partida: dois times sem enfretam em duas partidas. Por exemplo: A vs. B e B vs. A – Um jogador participa de uma partida e pode marcar gols ou receber cartões Exercícios • Modele um banco de dados para uma locadora de filmes. – Conceitos e terminologia: – Uma locadora tem clientes associados – Uma locadora estoca um conjunto de mídias – Um DVD é uma mídia – Um Blueray é uma mídia – Uma fita é uma mídia – Um filme está armazenado em varias mídias – Um filme apresenta um ou mais gênero (Comédia, romance, terror e assim por diante) – Um cliente aluga mídias de filmes – Uma mídia apresenta uma qualidade – A qualidade de uma mídia apresenta uma legenda, numeroPixelsVerticais e um numeroPixelshorizontais. Exemplo: (legenda="full HD", numeroPixelsVerticais = 1080,numeroPixelshorizontais=1920) – Um ator estrela o elenco de um filme 61 Generalização/especialização • Conceito permite: – atribuir propriedades particulares a um subconjunto das ocorrências (especializadas) de uma entidade genérica. 61 62 Generalização/especialização 62 CLIENTE PESSOA JURÍDICA nome código CIC CGC FILIAL (1,1) (0,n) sexo tipo de organização PESSOA FÍSICA 63 Generalização/especialização 63 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 64 Generalização/especialização 64 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 65 Generalização/especialização 65 nome código CIC CGC FILIAL (1,1) (0,n) sexo tipo de organização CLIENTE PESSOA FÍSICA Entidade especializada PESSOA JURÍDICA 66 Generalização/especialização 66 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 67 Generalização/especialização 67 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 68 Generalização/especialização (recursão) 68 BARCO VEÍCULO ANFÍBIO VEÍCULO AUTOMÓVEL VEÍCULO AQUÁTICO VEÍCULO TERRESTRE 69 Generalização/especialização (recursão) 69 BARCO VEÍCULO ANFÍBIO VEÍCULO AUTOMÓVEL VEÍCULO AQUÁTICO VEÍCULO TERRESTRE Herança múltipla 70 Generalização/especialização (recursão) 70 BARCO VEÍ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. 71 Generalização/especialização (recursão) 71 BARCO VEÍ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 72 Generalização/especialização (recursão) 72 BARCO VEÍCULO ANFÍBIO AUTOMÓVEL VEÍCULO AQUÁTICO VEÍCULO TERRESTRE Caso proibido: • Herança de múltiplos identificadores. 73 Generalização/especialização (recursão) 73 BARCO VEÍCULO ANFÍBIO AUTOMÓVEL VEÍCULO AQUÁTICO VEÍCULO TERRESTRE Caso proibido: • Herança de múltiplos identificadores. Qual seria o identificador desta entidade? 74 Especialização total 74 nome código CIC CGC sexo tipo de organização CLIENTE PESSOA FÍSICA PESSOA JURÍDICA t indica que todo CLIENTE é ou PESSOA FÍSICA ou PESSOA JURíDICA 75 Especialização parcial 75 FUNCIONÁRIO MOTORISTA SECRETÁRIA p tipo de funcionário indica que nem todo FUNCIONÁRIO é MOTORISTA ou SECRETÁRIA 76 Especialização parcial 76 FUNCIONÁRIO MOTORISTA SECRETÁRIA ptipo de funcionário necessário em especialização parcial 77 Especialização não exclusiva (compartilhada) 77 ALUNO FUNCIONÁRIO PESSOA PROFESSOR c Uma instância de PESSOA pode aparecer em mais de uma de suas especializações 78 Tipos de generalizações/especializações Total (t) Parcial (p) Exclusiva (x) xt xp Compartilhada (c) ct cp 78 79 Entidade associativa • Modificar modelo: – Adicionar a informação de que medicamentos foram prescritos em uma consulta. 79 MÉDICO CONSULTA PACIENTE n n 80 Incluindo o relacionamento de PRESCRIÇÃO 80 MEDICAMENTO PRESCRIÇÃO n n MÉDICO PACIENTE CONSULTA n n PRESCRIÇÃO liga com? 81 Substituindo relacionamento por entidade 81 MEDICAMENTO PRESCRIÇÃO CONSULTA (1,1) n n (1,1) n n MÉDICO PACIENTE 82 Entidade associativa 82 MEDICAMENTO PRESCRIÇÃO n n MÉDICO PACIENTE CONSULTA n n entidade associativa Exercício #1: Analise este diagrama e explique o modelo Exercício #2: Analise este diagrama e explicite as cardinalidades Exercícios • Exercício #3: Modelar as disciplinas oferecidas numa universidade – Quem são as entidades? – Quais atributos fazem parte? – Quais são os relacionamentos?
Compartilhar