Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados I – Prof Tavares Modelo de Dados Entidade-Relacionamento Banco de Dados I Prof Alberto Tavares da Silva 1 Banco de Dados I – Prof Tavares Requisitos de Dados Projeto Conceitual Projeto Lógico Projeto Físico Coleta/Especificação de Requisitos Requisitos Funcionais Análise Funcional Projeto Funcional Programação Programa de aplicação de BD SGBD Programa de aplicação de BD Programa de aplicação dados e regras Mundo Real Banco de Dados I – Prof Tavares O Diagrama Entidade-Relacionamento, E-R, é uma ferramenta de modelagem de dados que possibilita a geração das tabelas que serão utilizadas no sistema em desenvolvimento. A diagramação apresentada é a proposta por Peter Chen, incluídas algumas abstrações ou casos particulares de modelagem. Diagrama Entidade-relacionamento 3 Banco de Dados I – Prof Tavares Diversas extensões e notações foram definidas ao longo do tempo Provê ao usuário um alto nível de abstração, e por conseguinte facilita a construção de um esquema de BD Popular: Simplicidade e Expressividade O mapeamento entre os modelos E-R e Relacional é relativamente simples. Existem várias ferramentas destinadas a mapear o Modelo E-R para Relacional. – BRModelo. É também chamado de esquema E-R ou diagrama E-R O E-R é composto de entidades, relacionamentos, atributos e chaves. Diagrama Entidade-relacionamento 4 Banco de Dados I – Prof Tavares Entidade é qualquer "coisa" que forme um conjunto. Cada elemento do referido conjunto é distinto, ou seja, não existem dois elementos iguais em um mesmo conjunto. As instâncias de uma entidade não são representadas no diagrama de Entidades e Relacionamento, mas são semanticamente interpretadas no mesmo MER não trata Entidades individuais, apenas Conjuntos de Entidades Exemplos : Objetos reais: Lugar, instrumento, barragem, etc. Pessoas: engenheiro, estudante,etc Abstratos: organização, aptidão, etc Aluno 5 Entidade Banco de Dados I – Prof Tavares Conjunto de entidades que não possui identificação própria. Entidade que não tem atributos que possam identificá-la univocamente. Sua identificação depende de um relacionamento com uma entidade de outro conjunto. O identificador de um conjunto de entidades fracas é também chamado de chave parcial de um conjunto de entidades A chave primária de um conjunto de entidades fracas é formada pela chave primária do conjunto de entidades fortes vinculada mais o identificador do conjunto de entidades fracas 6 Entidade Fraca Dependente Banco de Dados I – Prof Tavares Atributos são características da entidade e dos relacionamentos. Exemplos: Engenheiro ( nrCrea, nome, endereço, especialidade) Cadeira(nrDeEstoque, cor, peso, fabricante) Instrumento(nrInstr, nome, peso, fabricante) nrInstr peso nome fabricante propósito INSTRUMENTO 7 Atributos Banco de Dados I – Prof Tavares 8 Tipos: Atributo Simples Monovalorado (univalorado): possui um valor para cada entidade que caracteriza Atributo Multivalorado: possui mais de um valor para cada entidade que caracteriza Atributo Composto: quando o atributo tem vários subcampos Atributo Derivado ou básico: quando o valor de um atributo é obtido por meio de valores de outros atributos. Ex: tempo_de_casa pode ser derivado do valor da data_contratação Atributos Idade Telefones Endereço Rua Cidade Estado Tempo_de_casa Banco de Dados I – Prof Tavares Uma entidade é um conjunto de coisas, abstrações ou pessoas. A fim de simplificar, uma entidade é formada por elementos. Como consequência da impossibilidade de existirem dois elementos iguais em uma mesma entidade, necessário se faz definir um mecanismo que identifique cada elemento univocamente, ou seja, que cada elemento tenha um identificador diferente dos demais. O mecanismo com tal finalidade denomina-se Chave. 9 Atributos Banco de Dados I – Prof Tavares 10 Atributos • Chave = Atributo ou um conjunto de atributos que, com seus valores, consiga identificar uma única entidade dentro do conjunto de entidades • Uma chave deve ser mínima no sentido de que se a chave for composta, nenhum atributo que a compõe poderá ser retirado, e ainda sim, a composição resultante continuar sendo chave • É o principal meio de acesso a uma entidade Banco de Dados I – Prof Tavares Quando um determinado atributo pode ser usado para identificar um elemento dos outros, este atributo é denominado de Chave Primária da entidade, Chave Simples ou simplesmente Chave. 11 Atributos Banco de Dados I – Prof Tavares A representação da Chave Primária Simples pode ser: Pessoa(#idt, nome, profissão, idade); Pessoa(idt, nome, profissão, idade). nome profissão PESSOA idt idade 12 Atributos Banco de Dados I – Prof Tavares 13 Atributos Chave Composta: mais de um atributo compõe a chave de um conjunto de entidades. A concatenação de todos eles indica a chave única. Banco de Dados I – Prof Tavares Quando mais de um atributo são necessários, o conjunto de atributos é denominada de Chave Composta. Exemplo: Pessoa ( idt, nome , profissão , idade) Idt Nome Profissão Idade 0191821 Paulo Silva Engenheiro 35 2937291 João Penna Engenheiro 35 8978792 Ana Feijó Modelo 25 3726110 Paulo Silva Advogado 40 Qual o melhor atributo para ser a Chave da entidade? 14 Atributos Banco de Dados I – Prof Tavares Pessoa ( nome , dataNascimento, profissão , firma) Nome DataNasc Profissão Firma Paulo Silva 14/12/56 Engenheiro ABC Ltda João Penna 25/11/70 Médico SING SA Ana Feijó 04/06/65 Modelo ABC Ltda Paulo Silva 25/11/70 Engenheiro J PNEUS SA Qual o melhor atributo para ser a Chave da entidade? Qual combinação será a melhor? 15 Atributos Banco de Dados I – Prof Tavares Representação da Chave Composta Pessoa(#nome, #dtNascimento, profissão, firma) Pessoa(nome, dt Nascimento, profissão, firma); nome dtNascimento profissãofirma PESSOA 16 Atributos Banco de Dados I – Prof Tavares Tabela DEPARTAMENTO Nome Número RG Gerente Contabilidade 1 10101010 Engenharia Civil 2 30303030 Engenharia Mecânica 3 20202020 Tabela EMPREGADO Nome RG CIC Depto. RG Supervisor Salário João Luiz 10101010 11111111 1 NULO 3.000,00 Fernando 20202020 22222222 2 10101010 2.500,00 Ricardo 30303030 33333333 2 10101010 2.300,00 Jorge 40404040 44444444 2 20202020 4.200,00 Renato 50505050 55555555 3 20202020 1.300,00 Chave Estrangeira (FK) Especifica o relacionamento entre duas tabelas 17 Atributos Banco de Dados I – Prof Tavares Relacionamento é uma associação entre uma ou várias entidades. Conjunto de Relacionamentos é um conjunto de relacionamentos de mesmo tipo. Expressam uma rica semântica entre os conjuntos de entidades por meio dos conceitos como: • Cardinalidade; • Restrição de participação (total ou parcial); • Grau de Relacionamento. Esses conceitos impõem restrições aos dados que alimentarão o banco de dados. 18 Relacionamento Banco de Dados I – Prof Tavares • Os relacionamentos podem ter atributos próprios. • O grau de relacionamento é o número de entidades participantes: Binário, ternário, etc. ENGENHEIRO PROJETO ALOCADO N M data 19Relacionamento Banco de Dados I – Prof Tavares As letras N e M são denominadas de cardinalidades do relacionamento, ou seja, determinam o número máximo de participação de uma determinada entidade em um relacionamento e varia de acordo com o tipo do relacionamento. 20 Relacionamento ENGENHEIRO PROJETO ALOCADO N M data Banco de Dados I – Prof Tavares 21 Tipos de Relacionamentos A cardinalidade expressa o número de entidades as quais outra entidade pode estar associada em um relacionamento Um para um (1 para 1) Uma entidade em A está associada no máximo a uma entidade em B, e uma entidade em B está associada a no máximo uma entidade em A Banco de Dados I – Prof Tavares Toda ocorrência de A corresponde a 0 ou 1 ocorrência de B. a1 a2 a3 a4 b1 b2 b3 22 Relacionamento 1:1 Banco de Dados I – Prof Tavares Exemplo: CIDADE PAÍS CAPITAL DE 1 1 Uma cidade é capital de 0 ou um País ou; Um País posssui uma capital. 23 Relacionamento 1:1 Banco de Dados I – Prof Tavares 24 0,1 gerencia cpf numero nome nome 1,1 Departamento endereco Empregado Relacionamento 1:1 Banco de Dados I – Prof Tavares 25 Um para muitos (1 para N) Uma entidade em A está associada a várias entidades em B. Uma entidade em B, entretanto, deve estar associada no máximo a uma entidade em A Muitos para um (N para 1) Uma entidade em A está associada a no máximo uma entidade em B. Uma entidade em B, entretanto, pode estar associada a um número qualquer de entidades em A Tipos de Relacionamentos Banco de Dados I – Prof Tavares Toda ocorrência de A corresponde a 0, 1 ou N ocorrências de B. a1 a2 a3 a4 b1 b2 b3 b4 26 Relacionamento 1:N Banco de Dados I – Prof Tavares Um CLIENTE faz vários PEDIDOS, sendo que um determinado PEDIDO é realizado por um único CLIENTE. A leitura do diagrama pode ser realizada de duas formas: Um CLIENTE faz 0 ou N(muitos) PEDIDOS; Um PEDIDO é feito por 1 CLIENTE. 27 Relacionamento 1:N CLIENTE PEDIDO FAZ 1,1 0,N Banco de Dados I – Prof Tavares O Nr 1 significa a cardinalidade máxima de PEDIDO, ou seja, um determinado PEDIDO participa, no máximo, uma vez no relacionamento com CLIENTE. A letra N significa a cardinalidade de CLIENTE, pois um determinado CLIENTE pode relacionar-se com muitos PEDIDOS. Interessante registrar que a cardinalidade no diagrama está invertida em relação às entidades. 28 Relacionamento 1:N Banco de Dados I – Prof Tavares 29 Muitos para muitos (N para M) Uma entidade em A está associada a qualquer número de entidades em B e uma entidade em B está associada a um número qualquer de entidades em A Tipos de Relacionamentos Banco de Dados I – Prof Tavares Toda ocorrência de A corresponde a 0, 1 ou N ocorrências de B vice-versa. a1 a2 a3 a4 b1 b2 b3 b4 30 Relacionamento N:M Banco de Dados I – Prof Tavares Um Projeto pode ter vários Engenheiros alocados, onde um determinado Engenheiro pode trabalhar em vários projetos. Quantos Engenheiros são alocados ou trabalham em um Projeto? Nenhum, um ou vários. Quantos Projetos trabalha um determinado Engenheiro? Um ou vários. 31 Relacionamento N:M ENGENHEIRO PROJETO ALOCADO 1,N 0,M data Banco de Dados I – Prof Tavares A leitura do diagrama pode ser realizada de duas formas: Um Engenheiro alocado em 0 ou N(muitos) Projetos. Um projeto aloca 1 ou M(muitos) engenheiros; 32 Relacionamento N:M ENGENHEIRO PROJETO ALOCADO 1,N 0,N data Banco de Dados I – Prof Tavares 33 0,N trabalha_em cpf numero nome nome 1,N Projeto endereco horas Empregado Relacionamento N:M Banco de Dados I – Prof Tavares Cardinalidades Mínimas/Máximas Cliente faz 1,1 1,N Pedido (até) grau máximo grau mínimo (pelo menos) faz é feito (até) (pelo menos) grau mínimo grau máximo 34 Banco de Dados I – Prof Tavares Cardinalidades Mínimas/Máximas 35 FUNCIONÁRIO DEPARTAMENTO GERENCIA 1,1 0,1 FUNCIONÁRIO PROJETO ALOCADO 1,N 0,N CLIENTE PEDIDO POSSUI 1,1 0,N Banco de Dados I – Prof Tavares Indica quantos conjuntos de entidades estão envolvidos em determinado relacionamento. Os relacionamentos podem ter associado vários conjuntos de entidades, caracterizando: • relacionamentos binários (grau de relacionamento 2); • relacionamentos ternários (grau 3); • relacionamentos quaternários (grau 4), entre outros. Relacionamento com grau N > 2 só é justificável se não puder ser decomposto em relacionamentos com graus menores e ainda manter a semântica desejada . Grau de Relacionamento 36 Banco de Dados I – Prof Tavares Os relacionamentos entre múltiplas entidades expressam um fato em que todas as entidades ocorrem simultaneamente, ou seja, todas as ocorrências do relacionamento possuem, sempre, ligações com todas as entidades envolvidas no relacionamento O relacionamento ternário, ocorre quando três entidades estão relacionadas. Não pode existir de um relacionamento triplo, em um determinado momento, se transformar em duplo . Relacionamento Ternário 37 ALUNO Leciona N M PROFESSOR P DISCIPLINA Banco de Dados I – Prof Tavares Relacionamento Ternário 38 Peça Fornecedor Projeto fornece 1,1 1,N 1,N Sempre que existe uma ocorrência no relacionamento, esta apresenta referência às três entidades. A combinação de cardinalidades pode ocorrer de forma diversa no relacionamento ternário, tal como 1:1:N, 1:N:M, etc. Banco de Dados I – Prof Tavares Relacionamento Ternário 39 Proprietário Imóvel comercializa 0,N 0,N 1,N Um mesmo Conjunto de Entidades pode desempenhar vários papéis num Conjunto de Relacionamentos. compra vende Banco de Dados I – Prof Tavares Representa uma associação entre ocorrências de uma mesma entidade. O caso de um funcionário que, além de funcionário de uma determinada empresa, também é gerente de um grupo de outros funcionários. Por que não uma segunda entidade Gerente? A resposta pode ser dada em forma de pergunta: Mas o Gerente não é um Funcionário? Para contornar o problema, cria-se um auto-relacionamento. Importante ressaltar que, em uma outra modelagem, a criação da entidade Gerente pode ser mais eficiente. Auto-relacionamento 40 Banco de Dados I – Prof Tavares 0,N 0,1 FUNCIONÁRIO GERENCIA Auto-relacionamento A leitura do diagrama pode ser realizada de duas formas: Um Funcionário gerencia vários outros funcionários; Um Funcionário é gerenciado por apenas 1 funcionário. 41 Banco de Dados I – Prof Tavares Entidade Fraca Conjunto de entidades que não possui identificação própria. Entidade que não tem atributos que possam identificá-la univocamente: • Sua identificação depende de um relacionamento com uma entidade de outro conjunto; • O identificador de um conjunto de entidades fracas é também chamado de chave parcial de um conjunto de entidades; • A chave primária de um conjunto de entidades fracas é formada pela chave primária do conjunto de entidades fortes vinculada mais o identificador do conjunto de entidades fracas. Notação DER: linha dupla no retângulo e no losango do relacionamento. sublinhar com llinha tracejada a chave parcial. Banco de Dados I – Prof Tavares 43 0,N possui cpf sexo nome nome 1,1 Dependente endereco Empregado Entidade Fraca O identificador de um conjunto de entidades fracas é também chamado de chave parcial de um conjunto de entidades Banco de Dados I – Prof Tavares Restrição de Participação Mostra se a existência de uma entidade depende de outra entidade por meio de um relacionamento. Há dois tipos de restrição de participação: participação total: toda entidade em um conjunto de entidades precisa ser relacionada com a entidade correspondente no relacionamento em questão. participação parcial: somente parte do conjunto de entidades é relacionada à entidade correspondente no relacionamento. Banco de Dados I – Prof Tavares Participação total ou Dependência Existêncial: Uma entidade só existe se estiver associada a outra entidade por meio de um relacionamento. Ex: uma entidade DEPENDENTE tem que participar de um relacionamento Possui, ou seja, deve estar associada a uma entidade EMPREGADO. Restrição de Participação 0,N possui 1,1 Dependente Empregado Banco de Dados I – Prof Tavares Reconhecendo Entidades / Relacionamentos Lista de perguntas úteis para identificar entidades em um contexto: Que coisas estão no escopo? O que pode ser identificado por número, código? Essa coisa tem atributos? Esses atributos são relevantes, pertinentes? Essa coisa pode assumir forma de uma tabela? É um documento externo (recibo, fatura, nota fiscal)? Se sim, é forte candidato à entidade. Tem significado próprio? Qual a entidade principal do contexto? Dicas: Substantivos que não possuem atributos podem ser atributos de outras entidades. Adjetivos colocados pelos usuários indicam normalmente atributos de uma entidade. Banco de Dados I – Prof Tavares Dicas: (cont) Verbos indicam prováveis relacioanamentos. Advérbios temporais indicam prováveis atributos de um relacionamento. Procure sempre visualizar a entidade principal do contexto sob análise. Dicas para reconhecer e inserir relacionamentos no modelo: O relacionamento é necessário? Ele é útil? É redundante? Se redudante, retirar? Qual sua finalidade? (Documentar) Verbos indicam possíveis relacionamentos. Analisar sempre as entidades aos pares. Reconhecendo Entidades / Relacionamentos Banco de Dados I – Prof Tavares Notação James Martin Notação de Peter Chen é interessante e bastante expressiva, porém para grandes modelos torna sensivelmente confuso, com muitos cruzamentos e complicada de ser lido. As ferramentas Case utilizam a notação da Engenharia de informações ou notação de James Martin. Banco de Dados I – Prof Tavares Notação James Martin Exemplo de Modelagem, onde: = muitos = um = a ocorrência do relacionamento é opcional; = a ocorrência do relacionamento é obrigatória; Empregado Departamento Banco de Dados I – Prof Tavares Empregado Departamento Empregado Departamento Trabalha (1,1) (0,n) Notação James Martin Banco de Dados I – Prof Tavares Táxi Motorista Associações de “Um para Um” Estado Cidade Associações de “Um para Muitos” Advogado Processo Associações de “Muitos para Muitos Notação James Martin Banco de Dados I – Prof Tavares Extensões do MER 52 • Possuem o objetivo de aumentar o poder de expressão do modelo provendo novos meios de representações. • As principais extensões são: • Generalização/Especialização (Tipo/Subtipo); • Agregação. Banco de Dados I – Prof Tavares • Uma das limitações do MER é que não é possível expressar relacionamentos entre relacionamentos. • Combinar entidades relacionadas por meio de um relacionamento e compor uma entidade agregada (de nível mais abstrato). • Permite que um conjunto de relacionamento seja considerado como um conjunto de entidades com o objetivo de participação em outros relacionamentos. • A agregação deve ser utilizada somente para relacionamento Muitos-para-Muitos, que representa um fato, caso contrário a terceira entidade envolvida estará relacionada sempre com uma das entidades em questão Agregação 53 Banco de Dados I – Prof Tavares PACIENTE CONSULTA N M EXAME P MÉDICO 54 Modelagem correta? Agregação Banco de Dados I – Prof Tavares Atividade 1: Estabelecimento do relacionamento inicial. Todo paciente é atendido por um ou mais médicos, de modo que duas entidades podem ser identificadas: Médico e Paciente. O relacionamento N:M entre as entidades é denominado Consulta, tal qual ilustra a Figura, tendo em vista que um Médico pode atender N Pacientes e um determinado Paciente pode ser atendido por diversos Médicos. PACIENTE CONSULTA N M MÉDICO 55 Agregação Banco de Dados I – Prof Tavares Atividade 2: Estabelecimento da agregação. Usualmente, uma consulta pode ou não gerar um pedido de exame, logo é preciso relacionar exame com consulta. PACIENTE CONSULTA N M EXAME P MÉDICO GERA 56 Agregação Banco de Dados I – Prof Tavares Seria simples um diagrama modelar através do diagrama apresentado na Figura a seguir, mas um relacionamento só pode ser estabelecido entre duas entidades. 57 PACIENTE CONSULTA N M EXAME P MÉDICO GERA Agregação Banco de Dados I – Prof Tavares PACIENTE ATENDIDO N M MÉDICO CONSULTA Para contornar o problema pode-se agregar duas entidades e considerá-las como uma única entidade, para posteriormente ser estabelecido o relacionamento desejado. 58 Agregação Banco de Dados I – Prof Tavares Atividade 3. Estabelecimento do relacionamento entre a terceira entidade e a agregação. Agora com a nova entidade Consulta, criada através da agregação, é possível relacioná-la com Exame. Agregação PACIENTE ATENDIDO N M MÉDICO CONSULTA PEDIDO EXAME N M 59 Banco de Dados I – Prof Tavares Estruturas Generalização/Especialização 60 Também denominadas de TIPO/SUBTIPO. Especialização: Definição de uma entidade que é um subconjunto de uma outra entidade. Processo de classificar o conjunto de entidades em conjunto de entidades especializados. Generalização: Definição de uma entidade que é um superconjunto de uma outra entidade. Processo de generalizar vários conjuntos de entidades em um só conjunto de entidade. Banco de Dados I – Prof Tavares Estruturas Generalização/Especialização 61 Os atributos dos conjuntos de entidades (CE) de nível superior (genérico) são herdados pelos conjuntos de entidades de nível inferior (específicos). Numa hierarquia de especialização, os conjuntos de entidades específicos participam de todos os relacionamentos definidos para o CE genérico. A Herança de propriedades (atributos e relacionamentos) se propaga em todos os níveis de uma hierarquia de especialização Banco de Dados I – Prof Tavares 62 Estruturas Generalização/Especialização Aluno matricula Pos_graducao crGraduacao notaVestibular nome Graduacao Atributos Genéricos Atributos Específicos Banco de Dados I – Prof Tavares Estruturas Generalização/Especialização63 Quando Especializar? Caso 1: Determinados atributos aplicam-se somente a alguns conjunto de entidades específicos. Aluno matricula Pos_graducao crGraduacao notaVestibular nome Graduacao Atributos Genéricos Atributos Específicos Banco de Dados I – Prof Tavares Estruturas Generalização/Especialização 64 Quando Especializar? Caso 2: Existem relacionamentos dos quais participam apenas entidades de alguns conjuntos de entidades específicos. Pessoa Professor Aluno Disciplina cursa leciona Banco de Dados I – Prof Tavares Restrições na Especialização/Generalização Um tipo de restrição envolve a determinação das entidades que podem participar de um dado conjunto de entidades de nível inferior. Tais escolhas podem ser: Definida por Predicado (ou condição): a entidade é inserida (automaticamente) no conjunto de entidades específico de acordo com o valor que possui para o atributo da superclasse usado como critério. Definida por usuário: na inserção de uma entidade, o usuário deve indicar explicitamente em qual conjunto de entidades específico ela será inserida. Banco de Dados I – Prof Tavares Definida por Predicado Restrições na Especialização/Generalização Empregado Professor Secretária Tipo_trabalho Banco de Dados I – Prof Tavares Restrições Disjunção, total; Disjunção, parcial; Sobreposição, total; Sobreposição, parcial. Restrições na Especialização/Generalização Banco de Dados I – Prof Tavares Restrição de Disjunção Uma entidade pode pertencer a, no máximo, um subconjunto de entidade especializada (mutuamente exclusivas) Uma especialização definida por atributo implica restrição de disjunção se o atributo usado para definir o predicado do associado for monovalorado. Restrições na Especialização/Generalização Banco de Dados I – Prof Tavares Sobreposição Uma entidade especializada pode pertencer a mais de um subconjunto de entidades ao mesmo tempo. Restrições na Especialização/Generalização Pessoa Professor Aluno Banco de Dados I – Prof Tavares Restrição de Totalidade Total: para cada ocorrência da entidade genérica existe sempre uma ocorrência em uma das entidades especializadas Restrições na Especialização/Generalização Banco de Dados I – Prof Tavares Restrição Parcial Nem toda ocorrência da entidade genérica possui uma ocorrência correspondente em uma entidade especializada. Usualmente, utiliza-se um atributo que identifica o tipo de ocorrência da entidade genérica. Restrições na Especialização/Generalização Banco de Dados I – Prof Tavares Disjunção Total Restrições na Especialização/Generalização Banco de Dados I – Prof Tavares Sobreposição Total Restrições na Especialização/Generalização Aluno alunos Banco de Dados I – Prof Tavares 74 Fim
Compartilhar