Baixe o app para aproveitar ainda mais
Prévia do material em texto
UFPr Departamento de Informática 1 Modelo Entidade Relacionamento Conceitos básicos e diagramas ER UFPr Departamento de Informática 2 Modelo Entidade Relacionamento Conceitos Básicos • O modelo Entidade-Relacionamento (ER, ou também chamado Entidade Associação) é usado na maioria dos métodos e ferramentas de auxílio à concepção de BD's (MERISE, IDA, Yourdon,ERWin) UFPr Departamento de Informática 3 Modelo Entidade Relacionamento Conceitos Básicos • A idéia fundamental deste modelo é a de conservar como conceitos de base os conceitos genéricos (objetos, associação, propriedade) usados no processo de abstração que vai da observação de uma realidade à sua descrição. UFPr Departamento de Informática 4 Modelo Entidade Relacionamento Conceitos básicos • Entidade Objetos • Associação Ligação entre os objetos • atributo Propriedade dos objetos. UFPr Departamento de Informática 5 Modelo Entidade Relacionamento Entidades • Um entidade é o objeto do mundo real (concreto ou abstrato) que nós queremos representar no computador e que tem uma existência própria. Uma entidade existe independentemente do fato que ela está ligada à outros objetos do BD. Exemplos: João da Silva, Aparelho de Barbear FYX, Contrato 3201, ... UFPr Departamento de Informática 6 Modelo Entidade Relacionamento Tipo de entidade • Um Tipo de Entidade (TE) é a representação de uma classe de entidades similares e com as mesmas características. Exemplos: Trabalhadores, Artigos, Contratos, Estudantes,.... UFPr Departamento de Informática 7 Modelo Entidade Relacionamento Associação (relacionamento) • Uma associação liga várias entidades onde cada uma delas ocupa um "papel". Se a associação liga dois (ou mais) entidades de um mesmo tipo ela é dita cíclica e neste caso a especificação do papel de cada entidade torna-se indispensável. Ex: João da Silva trabalha Esso, Philips fabrica Aparelho de Barbear FYC, .... UFPr Departamento de Informática 8 Modelo Entidade Relacionamento Tipo de Associação • Um tipo de Associação (TA) é a representação de um conjunto de associações similares que possuem as mesmas características. Exemplos: fabrica liga uma Empresa à um Produto, trabalha liga Trabalhadores à Empresa,... UFPr Departamento de Informática 9 Modelo Entidade Relacionamento Atributo • Um atributo é a propriedade associada à um TE, ou à um TA. Exemplos: nome, salário, endereço (para o TE Trabalhadores); nome, nota para o TE Estudantes, .... UFPr Departamento de Informática 10 Modelo Entidade Relacionamento Ocorrência ou Instância e População • Uma ocorrência ou instância de um TE (ou TA) é a representação no BD de um entidade (ou associação) que pertence à classe descrita pelo TE (TA). • População de um TE (TA) é o conjunto das ocorrências. UFPr Departamento de Informática 11 Modelo Entidade Relacionamento Instância – Uma instância de TE é constituída de um conjunto de valores sendo um valor para cada atributo do TE. – Uma instância de TA é constituída de um conjunto de valores (que pode ser vazio) e de um conjunto de ocorrências de TE: um valor para cada atributo do TA (se existe um) e para cada papel do TA uma ocorrência do TE que ocupa este papel. UFPr Departamento de Informática 12 Modelo Entidade Relacionamento Diagrama ER • tipos de entidade são representados por retângulos; • os tipos de associação por losangos (ou símbolos similares (elipse, hexágono, retângulo arredondado,..). • Os atributos são ligados aos TE e TA por traços. UFPr Departamento de Informática 13 Modelo Entidade Relacionamento Exemplo de Diagrama ER Empregados Rayon Artigo FornecedorChefe Emprega Livra Venda nome salário nomeR andar quantidade quantidade quantidade nomeA tipo nomeF endereçoE R R R A A F Sup Inf UFPr Departamento de Informática 14 Modelo Entidade Relacionamento Diagrama ER • Neste diagramas são representados quatro tipos de entidade: – Empregado, de atributos nome e salário – Rayon de atributos nomR e andar; – Artigo de atributos nomeA; – Fornecedor de atributos nomeF e endereço UFPr Departamento de Informática 15 Modelo Entidade Relacionamento Tipo de associação - Livra, de atributo quantidade ligando Fornecedor (com o papel F), artigo (com o papel A) e Rayon , (com o papel R); -Venda, de atributo quantidade ligando Rayon (papel R) com Artigo (papel A); - Chefe que é cíclica, ligando Empregado (papel Inf) e Empregado (papel Sup). UFPr Departamento de Informática 16 Modelo Entidade Relacionamento generalização especialização • Dependendo do ponto de vista ou nível de abstração um mesmo conjunto de objetos pode ser visto como várias classes diferentes mesmo se existem características em comum. UFPr Departamento de Informática 17 Modelo Entidade Relacionamento Generalização Especializacão • O TE Artigo agrupa todos os artigos vendidos, porque certos tratamentos a serem realizados sobre este TE utilizam todos os artigos (inventário, procura do preço, quantidade etc:). • Pode ser útil separar os artigos em várias classes (alimentação, eletrodomésticos, vestuário, etc:) UFPr Departamento de Informática 18 Modelo Entidade Relacionamento Generalização Especialização • .Neste caso teríamos: – tratamentos específicos para cada classe criada, (controle de validade para Alimentação, promoções no natal p/ eletrodomésticos, promoções de estação para vestuário, etc). – classe com características próprias (data de validade para alimentação, tamanho e cor p/ Vestuário, etc). UFPr Departamento de Informática 19 Modelo Entidade Relacionamento Generalização Especialização • Nós seríamos assim conduzidos à descrever, em complemento ao TE Artigo, outros TE's mais especializados, representando classes sobre as quais existem tratamentos e características importantes à acrescentar. UFPr Departamento de Informática 20 Modelo Entidade Relacionamento Generalização Especialização • Este tipo de raciocínio resulta numa situação, até agora, não representável pelo modelo ER, os mesmos objetos são representados por TEs diferentes!!! UFPr Departamento de Informática 21 Modelo Entidade Relacionamento Generalização Especialização • Para descrever esta situação, os modelos de dados mais recentes incluem o conceito de generalização/especialização: uma ligação orientada de um TE especializado à um TE genérico. UFPr Departamento de Informática 22 Modelo Entidade Relacionamento Generalização Especialização • A semântica desta ligação é que toda ocorrência do TE específico é igualmente ocorrência do TE genérico. Graficamente esta ligação é representada por uma flecha do TE específico ao TE genérico. UFPr Departamento de Informática 23 Modelo Entidade Relacionamento Generalização Especialização – No exemplo dos artigos nós obtemos a seguinte representação para os artigos: Artigo Artigo Alimentar Art Vestuário Art Eletro- Domésticos UFPr Departamento de Informática 24 Modelo Entidade Relacionamento Generalização Especialização • As ligações de generalização/especialização são geralmente chamados ligações IS-A ou É-UM • dizemos que Artigo alimentar é um Artigo. Alguns autores chamam um TE específico de um sub-tipo de um TE genérico (a relação inversa é dita de super-tipo). UFPr Departamento de Informática 25 Modelo Entidade Relacionamento Generalização Especialização • Por convenção, os atributos comuns ao TE genérico e aos TE específicos só são descritos, no esquema, como atributos do TE genérico. No entanto eles estãoimplicitamente incluídos nos atributos do TE específico. Dizemos que estes ;últimos "herdam" os atributos do TE genérico. UFPr Departamento de Informática 26 Modelo Entidade Relacionamento Generalização Especialização • O que foi dito para os atributos se aplica também aos TA (herança). • Se artigo está ligado a fornecedor, então Artigo Alimentar, Artigo Vestuário e Artigo ED também estão mesmo que isto não seja descrito explicitamente pelo esquema. UFPr Departamento de Informática 27 Modelo Entidade Relacionamento Generalização Especialização • *** Nada impede que os TEs específicos tenham seus próprios atributos e seus próprios TA's. Assim o TE ArtigoEletrDom pode estar ligado a um TE "Serviço de reparação" e possuir um atributo "garantia UFPr Departamento de Informática 28 Modelo Entidade Relacionamento Generalização Especialização – Um diagrama mais preciso do exemplo dos Artigos ficaria assim: Artigo Artigo Alimentar Art Vestuário Art Eletro- Domésticos Serviço Reparação repara data_validade tamanho cores potência marca nomeA Num_Art tipo Venda UFPr Departamento de Informática 29 Modelo Entidade Relacionamento Generalização Especialização – Não é obrigatório que os TE específicos representem, no seu conjunto todos os objetos representados pelo TE genérico – Artigos como higiene, brinquedos etc. podem não exigir um TE específicos para descreve-los (se nenhum tratamento ou propriedade necessária à descrição do esquema o exigir) e serem descritos simplesmente pelos TE Artigos. UFPr Departamento de Informática 30 Modelo Entidade Relacionamento Generalização Especialização • Um TE genérico pode por sua vez ser TE específico de um outro TE: acontece então uma hierarquia de generalização. UFPr Departamento de Informática 31 Modelo Entidade Relacionamento Hierarquia de generalização • Um exemplo clássico de hierarquia de generalização é o das pessoas que trabalham ou estudam numa Universidade: Pessoa Estudante Trabalhador Doutorando Professor Técnico Administração TitularAssistente UFPr Departamento de Informática 32 Modelo Entidade Relacionamento Definição de um Esquema ER • Um TE é definido por: – Nome do TE; – Nome do(s) supertipo(s) deste TE, se existe; – Descrição livre (comentário) precisando a população exata do TE; – Descrição dos atributos do TE. • ** Restrições: Dois TE não podem ter o mesmo nome UFPr Departamento de Informática 33 Modelo Entidade Relacionamento Ex: O TE Empregados – Nome: Empregados; – descrição: Toda pessoa salariada ligada à Empresa atualmente. • A descrição livre permite a definição exata (não ambígua) da população do TE. • inclui a especificação temporal (sublinhada no exemplo) – atributos: nome, salário (com as respectivas descrições). UFPr Departamento de Informática 34 Modelo Entidade Relacionamento Tipo de associação:• Definição • Nome do TA; • Descrição livre; • Nome dos TE participantes ao TA com os respectivos papeis; • Para cada papel a cardinalidade (numero mínimo e máximo das instancias de um TA que podem a um momento dado ligar pelo seu papel, uma instancia do TE em questão). • a descrição dos atributos do TA (opcional). UFPr Departamento de Informática 35 Modelo Entidade Relacionamento Tipo de Associação • Exemplo – nome: emprega; – descrição: liga um empregado ao rayon no qual ele trabalha hoje – TE participantes: <Empregado,E>, <Rayon,R> – cardinalidade E:min=0,max=1 R:(O,n) – atributos: nenhum. UFPr Departamento de Informática 36 Modelo Entidade Relacionamento Cardinalidade • Min=0: um empregado pode não trabalhar em nenhum rayon; • min=1 um empregado deve trabalhar no mínimo em um rayon; • max=1 um empregado não pode trabalhar em mais de um rayon; • max=n um empregado pode trabalhar em vários rayons. – As cardinalidade é indicada por dois números(min:max) ao lado dos traços que ligam os TE's aos TA's: UFPr Departamento de Informática 37 Modelo Entidade Relacionamento Cardinalidade – A cardinalidade exprime o fato que um filho tem no mínimo e no máximo dois pais, e que os pais podem ter de 0 a n filhos. Pais Filhosé_pai_de 0,n 2,2 UFPr Departamento de Informática 38 Modelo Entidade Relacionamento TA Cíclico • Ligam um TE a ele mesmo • os papeis são obrigatórios e devem ser colocados no diagrama: Produto Compõe é_composto_de é_componente_de quantidade UFPr Departamento de Informática 39 Modelo Entidade Relacionamento Exemplos de Instâncias de um TA – Se nós introduzimos no BD a composições do produto 1001: – 5 unidades do produto 512 – 3 unidades do produto 123 UFPr Departamento de Informática 40 Modelo Entidade Relacionamento Exemplos de Instâncias de um TA – TE Produto: • produto 123, • produto 512, • produto 1001 – TA Compõe: • é_composto_de é_componente_de quantidade • produto 1001 produto 123 3 • produto 1001 produto 512 5 UFPr Departamento de Informática 41 Modelo Entidade Relacionamento Atributo • Definição – nome; – -descrição – -cardinalidade; – -domínio (se o atributo é simples); – -descrição dos atributos componentes, se o atributo é complexo; UFPr Departamento de Informática 42 Modelo Entidade Relacionamento Exemplo: o atributo nome do TE Empregado: • nome: nome; • descrição: nome do empregado, nome de solteira para uma mulher • cardinalidade (1:1) • domínio: CHAR (15) UFPr Departamento de Informática 43 Modelo Entidade Relacionamento Exemplo o atributo data de nascimento: – nome: data de nascimento; – descrição: "data de nascimento de uma pessoa" – cardinalidade: (1:1) UFPr Departamento de Informática 44 Modelo Entidade Relacionamento Exemplo o atributo data de nascimento:• composição: –nome: dia descrição " " cardinalidade: (1:1); domínio: Numérico [1..31] –nome: mês descrição " " cardinalidade: (1:1); domínio: Numérico [1..12] –- nome: ano descrição " " cardinalidade: (1:1); domínio: Numérico [1870..1994] UFPr Departamento de Informática 45 Modelo Entidade Relacionamento Terminologia: • atributo simples: atributo não composto de outros atributos, valores atômicos possuem domínio (salário, telefone); • atributo complexo: composto de outros atributos (endereço composto de (rua, cidade, CEP); UFPr Departamento de Informática 46 Modelo Entidade Relacionamento Terminologia: • atributo monovalor: atributo com cardinalidade máxima =1 (nome, data nascimento); • atributo multivalorado: vários valores por instância max > 1 (filhos de uma pessoa) UFPr Departamento de Informática 47 Modelo Entidade Relacionamento Terminologia: • atributo obrigatório: (min=1) possui pelo menos um valor por ocorrência (nome); • atributo opcional: (min=0) pode ter valor nulo (telefone) UFPr Departamento de Informática 48 Modelo Entidade Relacionamento Identificadores dos TE's e TA's • Conjunto mínimo de atributos que assegura a inexistência de duas instâncias idênticas neste TE (TA). • Um TE (TA) pode ter vários identificadores. UFPr Departamento de Informática 49 Modelo Entidade Relacionamento Identificadores dos TE's e TA's – Exemplo: Numero de Matrícula para Estudantes (ou nomeE + data nascimento se supormos que dois estudantes não podem ter o mesmo nome e a mesma data de nascimento). Estudante Matériaprova Num_Matrícula notas média peso Num_Matéria UFPr Departamento de Informática 50 Modelo Entidade Relacionamento Identificadores dos TE's e TA's • Os identificadores dos TE's Estudante e Matéria são respectivamente Num_matrículae Num_Matéria. • O identificador do TA prova é Estudante.Num_matrícula + Matéria.Num_Matéria. UFPr Departamento de Informática 51 Modelo Entidade Relacionamento Identificadores de um TA – Nem sempre o identificador de um TA é formado do conjunto dos identificadores dos TE's ligados. – O identificador de um só TE (no caso se a cardinalidade for 1:1) pode ser suficiente. – Se o TA liga dois TE's com cardinalidade 0:n para ambos. • Neste caso é necessário incluir pelo menos um atributo do TA para estar seguro da unicidade das instâncias: UFPr Departamento de Informática 52 Modelo Entidade Relacionamento Identificadores de um TA • TA encomenda pode possuir dois identificadores: – Num_Produto + Num_Cliente + data ou Num_Encomenda. Produto Clienteencomenda num_Produto Num_ClienteNum_Encom data quantidade UFPr Departamento de Informática 53 Modelo Entidade Relacionamento Identificador de um TE fraco • nenhum subconjunto de atributos constitui um identificador • é ligado por um TA binário de cardinalidade (1,1) à um outro TE ao qual ele é dependente. UFPr Departamento de Informática 54 Modelo Entidade Relacionamento Identificador de um TE fraco – No exemplo abaixo. Exemplar ( que representa um exemplar de um livro) é um TE fraco (numEX não é identificador) que depende do TE livro. Livro Exemplar ISBN Título numEX EstadoConserv possui UFPr Departamento de Informática 55 Modelo Entidade Relacionamento Identificador de um TE fraco • O identificador de um TE fraco (que é o mesmo do seu TA) é formado do identificador do TE ao qual ele depende e de um (ou vários) atributos do TE fraco. • O identificador de Exemplar, no nosso exemplo, é portanto ISBN + numEX. UFPr Departamento de Informática 56 Modelo Entidade Relacionamento Identificador de um TE subtipo. • Seja um TE E subtipo do TE E', então todo identificador de E’ é também identificador de E. E não possui necessariamente um identificador próprio. • No exemplo dos Artigos ArtigoAlimentar, ArtigoVestuário e ArtigoEletrDomest têm todos os três num_Art (do TE Artigo) como identificador. UFPr Departamento de Informática 57 Modelo Entidade Relacionamento Restrições de Integridade • Os conceitos de Entidade, Associação, atributo e subtipo não são suficientes para descrever todas as propriedades dos dados de um esquema ER. Casamento nome sexo EstadoCivil Casado Esposa marido data UFPr Departamento de Informática 58 Modelo Entidade Relacionamento Restrições de Integridade • se uma pessoa participa à associação casamento , então seu estado civil deve ser 'casado' • Ou: – ∀x,y ε Pessoa, <x,y> ε casamento => x.estadoCivil = casado UFPr Departamento de Informática 59 Modelo Entidade Relacionamento Restrições de Integridade – Em geral SGBDs, as RI sãoverificadas por programas ad hoc, criados na fase de implementação do BD. – Outras regras seriam possíveis neste mesmo exemplo: • se uma pessoa participa a associação casamento com o papel marido então sexo=’M' • se uma pessoa participa a associação casamento com o papel esposa então sexo=’F' UFPr Departamento de Informática 60 Modelo Entidade Relacionamento Regras de Restrição • Definem os estados possíveis do BD, • Se os valores do BD não as satisfazem existe um "erro" no BD, • diz-se que o BD está incoerente. UFPr Departamento de Informática 61 Modelo Entidade Relacionamento Regras de Restrição (Domínio) • idade ε [0..130] – Este tipo de regras, facilmente implementáveis, desaparecem se o modelo possui uma linguagem de descrição que permita uma definição precisa do domínio. UFPr Departamento de Informática 62 Modelo Entidade Relacionamento Esquema Conceitual ER • Esquema conceitual ER = ( {TE}, {TA}, {RI}) UFPr Departamento de Informática 63 Modelo Entidade Relacionamento
Compartilhar