Baixe o app para aproveitar ainda mais
Prévia do material em texto
Modelo Entidade Relacionamento Prof. Scilas Barbosa Filho Scilas Barbosa Filho Modelagem de Dados 1 O Modelo E-R • Proposto por Peter Chen [1976] • “The Entity-Relationship Model: Toward the unified view of data” • Notações: – Chen – Martin (“pé-de-galinha”) – Bachman (setas) – IDEF1X (US Air Force) Scilas Barbosa Filho Modelagem de Dados 2 O Modelo E-R Elementos: – Entidades Conjuntos de “coisas” que possuem características próprias. – Atributos Representam as características de uma Entidade. – Relacionamentos Vínculos ou associações entre Entidades. Scilas Barbosa Filho Modelagem de Dados 3 Entidade conceito • conjunto de objetos sobre os quais é preciso armazenar informações úteis. • conjunto de vários elementos (mais que 1). • conjuntos de elementos distinguíveis que aceitam um código para diferencia-los. • seus atributos NÃO dependem de outras entidades. • conjuntos qualificativos (ex. grau de instrução). • Ex de possíveis Entidades: pessoas, locais, objetos, documentos, etc. Scilas Barbosa Filho Modelagem de Dados 4 Entidade representação ProdutosFuncionários matricula nome endereço código descrição unidade CargosNotas Fiscais Scilas Barbosa Filho Modelagem de Dados 5 númerosérie dataemissão código descrição pré-requisitos Entidade conceito CUIDADO: • aquilo que é entidade numa circunstância, pode não ser em outra. • Exercício: identifique 6 entidades, e seus atributos, num possível sistema de controle acadêmico (secretaria) da SPEI. Scilas Barbosa Filho Modelagem de Dados 6 Atributos conceito • informações úteis a respeito de uma entidade ou relacionamento. • os atributos de uma entidade permanecem constantes para todos os seus relacionamentos. • os atributos de uma entidade são independentes de todas as demais entidades. Scilas Barbosa Filho Modelagem de Dados 7 Atributos tipos • determinante: – seu valor representa um elemento da entidade. – seu valor é único para a entidade. – deve ser sublinhado. • composto – necessita ser dividido em sub-atributos, para que seu significado seja melhor compreendido. • multi-valorado – pode assumir mais do que um valor para cada entidade, é diferenciado com um (*). Scilas Barbosa Filho Modelagem de Dados 8 Atributos representação ProdutosFuncionários matricula nome endereço código descrição unidade CargosNotas Fiscais Scilas Barbosa Filho Modelagem de Dados 9 númerosérie dataemissão código descrição pré-requisitos Atributos ex: atributo composto Funcionários matricula endereço rua nº CEP Scilas Barbosa Filho Modelagem de Dados 10 Atributos ex: multi-valorado Funcionários matricula * telefone Scilas Barbosa Filho Modelagem de Dados 11 Qual a melhor solução? Caso 1 Caso 2 Funcionários matricula * telefone DDD nº descrição Funcionários matricula telefone *DDD *nº *descrição Scilas Barbosa Filho Modelagem de Dados 12 Atributos ex: composto e multi-valorado Funcionários matricula * telefone DDD nº descrição Scilas Barbosa Filho Modelagem de Dados 13 Entidades Fracas • Dependem de uma “entidade forte” • A Entidade Fraca é representada por: • Dependência de Existência • Dependência de Identificador Scilas Barbosa Filho Modelagem de Dados 14 Entidades Fracas Dependência de Existência PertenceFunc Dependente 1 N Scilas Barbosa Filho Modelagem de Dados 15 Entidades Fracas Dependência de Identificador FazContribuinte Declaração IR 1 N Scilas Barbosa Filho Modelagem de Dados 16 Relacionamentos conceito • associação entre entidades. • representam os vínculos que existem entre as entidades no mundo real. • são representados por losangos. • Ex. no sistema de controle acadêmico da SPEI o relacionamento MATRICULA, vincula um ALUNO a uma DISCIPLINA. Scilas Barbosa Filho Modelagem de Dados 17 Relacionamentos conceitos • Grau – é igual a quantidade de entidades vinculadas através do relacionamento. Disciplina Pré-Req Func DeptoLotação Grau 2 Grau 1 Scilas Barbosa Filho Modelagem de Dados 18 Relacionamentos conceitos • Classe – identifica a quantas vezes cada instância de uma entidade pode participar do relacionamento. • para relacionamentos binários temos classes: – 1:1 – 1:N – N:N Scilas Barbosa Filho Modelagem de Dados 19 Relacionamentos Classe 1:1 Func ProjetoParticipa 1 1 Cada FUNC participa de quantos PROJETOS? Cada PROJETO tem a participação de quantos FUNC? Scilas Barbosa Filho Modelagem de Dados 20 Classe 1:1 Scilas Barbosa Filho Modelagem de Dados 21 Classe 1:1 CarroUtilizaFunc 1 1 Fargo Prizm Kurt Brian Tonya Scott Nancy Mustang Ranger Jeep Scilas Barbosa Filho Modelagem de Dados 22 Relacionamentos Classe 1:N Func ProjetoParticipa 1 N Cada FUNC participa de quantos PROJETOS? Cada PROJETO tem a participação de quantos FUNC? Scilas Barbosa Filho Modelagem de Dados 23 Relacionamentos Classe N:1 Func ProjetoParticipa N 1 Cada FUNC participa de quantos PROJETOS? Cada PROJETO tem a participação de quantos FUNC? Scilas Barbosa Filho Modelagem de Dados 24 Scilas Barbosa Filho Modelagem de Dados 25 VídeoAlugaCliente 1 N Classe 1:N Silva Johnson Hill Cerveny Denton Fried Green Tomatoes Gone with the Wind Terminator Terminator II Cretaceous Park Sandlot Son of Flubber BladeRunner Bad News bears Relacionamentos Classe N:N Func ProjetoParticipa N N Cada FUNC participa de quantos PROJETOS? Cada PROJETO tem a participação de quantos FUNC? Scilas Barbosa Filho Modelagem de Dados 26 Classe N:N Scilas Barbosa Filho Modelagem de Dados 27 Classes 1:N e N:N Scilas Barbosa Filho Modelagem de Dados 28 Administração Curso Matricula AlunoN NEnsina Disciplina Informática Adm Mat Lógica Banco de Dados Custos Rieta Colleen Sean Jody Walt Mike Jordan Andrew Larry Whitney Barb John N1 Relacionamentos Totalidade • Uma Entidade é dita TOTAL num relacionamento, quando TODOS os seus elementos participam deste relacionamentos. • Caso contrário a Entidade é dita PARCIAL. Scilas Barbosa Filho Modelagem de Dados 29 Relacionamentos Totalidade Func ProjetoParticiapa N N Quantos PROJETOS estão associados a FUNCIONÁRIOS? Quantos FUNCIONÁRIOS estão associados a PROJETOS? Todos Alguns Scilas Barbosa Filho Modelagem de Dados 30 Atributos de Relacionamento • Um Atributo pertence a um Relacionamento classe N:N, sempre que: – fixa-se um elemento da 1ª entidade, e observa- se o valor do atributo para cada mudança de elemento na 2ª entidade. – se o valor do atributo mudar, então ele não pode pertencer a 1ª entidade. – se o atributo não pertence as entidades envolvidas, e é relevante no contexto do relacionamento, então ele é atributo do relacionamento. Scilas Barbosa Filho Modelagem de Dados 31 Atributos de Relacionamento • A quem pertnece os ATRIBUTOS: PRECO, QUANTIDADE e PRAZO? Produtos FornecedoresVende N N Scilas Barbosa Filho Modelagem de Dados 32 Atributos de Relacionamento • PRECO, QUANTIDADE e PRAZO, não podem pertencer a PRODUTOS, pois se fosse assim TODOS os FORNECEDORES deveriam praticar o mesmo preço. Produtos FornecedoresVende N N *Condições Preço Quant Prazo Scilas Barbosa Filho Modelagem de Dados 33 Atributos de Relacionamento • PRECO, QUANTIDADE e PRAZO, não podem pertencer a FORNECEDORES, pois se fosse assim TODOS os PRODUTOS de um fornecedor teriam o mesmo preço. Produtos FornecedoresVende N N *Condições Preço Quant Prazo Scilas Barbosa Filho Modelagem de Dados 34 Atributos de Relacionamento • Não pertencendo nem a PRODUTOS ou a FORNECEDORES, e sento relevante no relaciomaneto VENDA, são atributos do relacionamento Produtos FornecedoresVende N N *Condições Preço Quant Prazo Scilas Barbosa Filho Modelagem de Dados 35 Atributos de Relacionamento • A quem pertnece os ATRIBUTOS: DATA ADMISSÃO e DATA LOTAÇÃO? Funcionario DepartamentoPertence N 1 Scilas Barbosa Filho Modelagem de Dados 36 Auto-Relacionamentos • Relacionamento de uma ENTIDADE consigo mesma. • também chamados deRelacionamentos RECURSIVOS. • Exemplo: Uma empresa tem a entidade FUNC e deseja saber quais são os funcionários casados com outros funcionários. Scilas Barbosa Filho Modelagem de Dados 37 Auto-Relacionamentos Casado comFunc 1 1 Rieta Colleen Sean Jody Walt Mike Jordan Andrew Larry Whitney Barb John isto é equivalente a: Casado comFunc 1 1 Func Scilas Barbosa Filho Modelagem de Dados 38 Auto-Relacionamento • Num Auto-Relacionamento é necessário saber o PAPEL que cada elemento do conjunto de entidade está representando. Casdo com Funcionario 1 1 mulher marido Componentes Peças N N compõe é composta quantidade Scilas Barbosa Filho Modelagem de Dados 39 Relacionamentos Múltiplos • É uma extensão do relacionamento binário para um número qualquer de entidades. Materiais MRP Pedidos Compra RequisiçõesN N N Scilas Barbosa Filho Modelagem de Dados 40 Relacionamentos Múltiplos Aluno PDA Disciplina ProfessorN 1 N Um PROF em uma DISCIPLINA estão associados a quantos ALUNOS? Um ALUNO em uma DISCIPLINA estão associados a quantos PROF? Um ALUNO e um PROF estão associados em quantas DISCIPLINAS? Scilas Barbosa Filho Modelagem de Dados 41 Agregações • Um AGREGADO é tratado como sendo uma ENTIDADE composta por um ÚNICO RELACIONAMENTO. • Serve para que RELACIONAMENTOS MÚLTIPLOS sejam decompostos. Scilas Barbosa Filho Modelagem de Dados 42 Agregações • O relacionamento MRP não permite que uma REQUISIÇÃO seja atendida quando o MATERIAL está no estoque: Materiais MRP Pedidos Compra RequisiçõesN N N Scilas Barbosa Filho Modelagem de Dados 43 Agregações • Solução: Decompor MRP em 2 relacionamentos: 1) MATERIAIS - REQUISIÇÃO 2) PEDIDO e o relacionamento 1. Materiais RequisiçõesItemReq Pedidos Compra Item Pedido N N N N Agregado Scilas Barbosa Filho Modelagem de Dados 44 Agregações • Exemplo: Como conseqüência da ALOCAÇÃO de um FUNCIONÁRIO num PROJETO, ele pode necessitar que uma MÁQUINA. Funcionario ProjetoAlocado Máquina Utiliza N N N 1 Scilas Barbosa Filho Modelagem de Dados 45 Estrutura de Generalização e Especialização • Permite que uma ENTIDADE tenha sub- classes ou pertença a super-classes. • A associação entre uma Generalização (super-classe) e suas Especializações (sub- classes), recebe o nome de “isa” (é um). • Representada por um triângulo: ISA Scilas Barbosa Filho Modelagem de Dados 46 Estrutura de Generalização e Especialização • Também conhecidas como PARTICIONAMENTO. • Serve para representar ENTIDADES com ATRIBUTOS parcialmente disjuntos. • Permite que um relacionamento fique restrito a um sub-conjunto de uma ENTIDADE. Scilas Barbosa Filho Modelagem de Dados 47 Estrutura de Generalização e Especialização • Uma super-classe é uma Generalização de um conjunto de Especializações (sub- classes). • Cada Especialização HERDA, atributos e relacionamentos da Entidade da qual derivou. • Relacionamentos entre Especializações de uma mesma Generalização são um tipo de Auto- Relacionamento. Scilas Barbosa Filho Modelagem de Dados 48 Estrutura de Generalização e Especialização • A entidade FUNCIONÁRIOS pode ser particionada em: Func ISA Motoristas Secretárias Engenheiros Scilas Barbosa Filho Modelagem de Dados 49 Estrutura de Generalização e Especialização • Os Atributos NOME, DATA ADMISSÃO, RG, são Atributos de FUNCIONÁRIOS. • O Atributo IDIOMAS, só é útil para SECRETÁRIAS. • Os Atributos HABILITAÇÃO, ACIDENTES são exclusivos dos MOTORISTAS Scilas Barbosa Filho Modelagem de Dados 50 Estrutura de Generalização e Especialização Func ISA Motoristas Secretárias Engenheiros nome data admissão RG * Idiomas* acidentes CREAhabilitação Scilas Barbosa Filho Modelagem de Dados 51 Estrutura de Generalização e Especialização • Todos os FUNCIONÁRIOS estão lotados num DEPARTAMENTO. • Somente os MOTORISTAS dirigem VEÍCULOS. • Apenas os ENGENHEIROS participam de PROJETOS. Scilas Barbosa Filho Modelagem de Dados 52 Estrutura de Generalização e Especialização Func ISA Motoristas Secretárias Engenheiros nome data admissão RG * Idiomas* acidentes CREAhabilitação Veículos dirigem N N Departamentolotação N 1 Veículos Particiapa N N Scilas Barbosa Filho Modelagem de Dados 53 Atributos Globais • Estão associados a uma Entidade ou a um Relacionamento. • Seu valor é CONSTANTE para todo o conjunto ao qual pertence. • Exemplo: numa biblioteca considere que a MULTA por dia de atraso de um exemplar seja constante. Scilas Barbosa Filho Modelagem de Dados 54 Atributo Global Livro nome multa Atributo Global código Scilas Barbosa Filho Modelagem de Dados 55 Recomendações para criação de um DER 1. Antes de começar a modelar, conheça o “mundo real”. 2. Identifique quais são as ENTIDADES. 3. Para cada Entidade represente seus ATRIBUTOS. 4. Confronte cada Entidade consigo mesma e com as demais na procura de possíveis RELACIONAMENTOS Scilas Barbosa Filho Modelagem de Dados 56 Recomendações para criação de um DER 5. Verifique a existência de ATRIBUTOS DE RELACIONAMENTO. 6. Para relacionamentos múltiplos estude a necessidade de AGREGAÇÕES. 7. Desenhe o DER, com todas as Entidades, Atributos, Relacionamentos, Classes e Restrições de Totalidade. Scilas Barbosa Filho Modelagem de Dados 57 Recomendações para criação de um DER 8. Analise cuidadosamente todas as restrições que você impôs. 9. Até que você e os seus usuários estejam convencidos de que o DER reflete fielmente o “mundo real”, volte ao item 1. Scilas Barbosa Filho Modelagem de Dados 58 Disciplina Scilas Barbosa Filho Modelagem de Dados 59 casa Scilas Barbosa Filho Modelagem de Dados 60 Scilas Barbosa Filho Modelagem de Dados 61
Compartilhar