Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Independente do SGBD Específico do SGBD Projeto Lógico Mini-Mundo BANCO DE DADOS Modelo Entidade-Relacionamento (ME-R) 1 Conceitos O Modelo Entidade-Relacionamento (ME-R) foi definido por Peter Chen em 1976. Desde então várias modificações foram sugeridas para o modelo. O ME-R é um modelo de dados de alto-nível, classificado como conceitual (ou semântico) e muito utilizado como ferramenta conceitual de modelagem de dados. De acordo com as fases de projeto de bases de dados, o ME-R deve ser aplicado na fase de Projeto Conceitual da BD. Requisitos de Dados Esquema Conceitual de Dados Esquema Lógico de Dados ME-R Esquema Físico de Dados Objetivo da utilização do ME-R: representar a semântica (significado) que os dados possuem no mundo real, desconsiderando a forma como esses dados serão fisicamente armazenados. O ME-R possui quatro construtores para a representação da semântica dos dados (construtores semânticos): 1) Conjunto de Entidades 2) Conjunto de Relacionamentos 3) Atributos de Conjunto de Entidades 4) Atributos de Conjunto de Relacionamentos Projeto Conceitual Coletae Análise de Requisitos Projeto Físico 2 f1 f3 t2 t4 d1 d3 f2 f4 d2 d4 CE CR Trabalhar Departamento Funcionário 1.1 Conjuntos de Entidades Uma Entidade representa um objeto sobre o qual deseja-se manter informações. Um objeto representado por uma entidade pode ter existência: - física: pessoa, carro, casa, funcionário, etc. - conceitual: departamento de uma empresa, curso de uma universidade, etc Um Conjunto de Entidades (CE) é uma coleção de entidades que possuem propriedades semelhantes. Representação de CEs: retângulo com o nome da entidade em seu interior. Exemplos: Representa umconjunto de entidades funcionários Representa umconjunto de entidades departamentos 1.2 Conjunto de Relacionamentos Um Relacionamento é uma associação entre entidades, representando uma associação entre objetos da realidade que está sendo modelada. Exemplos: Funcionário.................Trabalhar ................. Departamento Aluno.................Matricular ................. Disciplina Um Conjunto de Relacionamentos (CR) é uma coleção de relacionamentos que possuem propriedades semelhantes. Representação de CRs: losango com o nome do relacionamento em seu interior. Exemplos: Significa que: t1 t3 Departamento Funcionário 3 Matricular Auxiliar Professor Disciplina Aluno Matricular Fazer prova Disciplina Aluno Podem existir um ou mais CRs envolvendo um mesmo CE. Por exemplo: Podem existir um ou mais CRs envolvendo os mesmos CEs. Por exemplo: Papéis nos Relacionamentos Uma entidade cumpre um papel em um relacionamento. Por exemplo: Curso contratado por contrata: papel de empresa; contratado por: papel de curso. A indicação de cada papel deve ser feita sempre que possa existir ambiguidade na interpretação do CR. Por exemplo: Curso contratado Ou então: por Curso contrata Contratar contrata Empresa Contratar contrata Empresa contratada por Contratar Empresa 4 compra assessora Promover venda é vendida Empresa Auto-Relacionamento Um auto-relacionamento ocorre quando um mesmo CE pode assumir mais de um papel em um CR. Exemplos: é pré-requisito de pré-requisita Pré- requisitar Uma Disciplina Pré-requisita outra Disciplina (que é pré-requisito). negociado Produto Uma Empresa (vendedora) Negocia Produtos com outra Empresa (compradora). Uma Empresa (assessora) Promove a venda de uma outra Empresa (vendida) para outra terceira Empresa (compradora). Grau de Relacionamentos O grau de um relacionamento é determinado pelo número de papéis que os CEs assumem em um CR. Grau 2 – Relacionamento Binário: dois papéis; Grau 3 – Relacionamento Ternário: três papéis; Grau 4 – Relacionamento Quaternário: quatro papéis; etc Exemplos de relacionamentos binários: Departamento tem é pré-requisito de pré-requisita Pré- requisitar Disciplina Disciplina compra Negociar vende Empresa Trabalhar trabalha Funcionário 5 monitora Monitorar supervisiona Professor Aluno compra assessora Promover venda é vendida Empresa a1 a2 a3 a4 b1 b2 b3 b4 Exemplos de relacionamentos ternários: Disciplina monitorada por negociado Produto Cardinalidade de CRs A quantidade máxima de vezes que uma entidade de um CE pode assumir um mesmo papel em um determinado CR é chamada de multiplicidade do CE no CR, podendo ser 1 ou N (mais de um). A cardinalidade de um CR é dada pelo conjunto de todas as multiplicidades dos CEs envolvidos no CR. Para relacionamentos binários, as seguintes opções de cardinalidade são possíveis: 1:1 (um para um) A B Exemplo: 1 Departamento renciado por compra Negociar vende Empresa 1 Gerenciar gerencia ge Funcionário 6 a1 a2 a3 a4 b1 b2 b3 b4 b 5 b6 a5 a6 a1 a2 a3 a 4 b1 b2 b3 b4 1:N (um para muitos)/N:1 (muitos para um) A B Exemplo: N Dependente depende de Ou então: A B Exemplo: 1 Departamento tem Deve-se observar que a ordem em que as entidades são representadas em um relacionamento pode ser trocada, ou seja, um relacionamento N:1 pode ser transformado em 1:N e vice-versa. A escolha é intuitiva. Por exemplo, o CR Ter (1:N) mostrado a seguir tem o mesmo efeito do CR Trabalhar (N:1) anterior. N Funcionário trabalha 1 possui Possuir Funcionário N Trabalhar trabalha Funcionário 1 tem Ter Departamento 7 N Matricular matricula-se em Aluno ? monitora Monitorar p ? supervisiona Professor Aluno a5 a1 a2 a3 a b1 b2 b3 b5 a6 b6 4 b 4 N:M (muitos para muitos) A B Exemplos: M Projeto senvolvido por M Disciplina tem Para relacionamentos ternários, as opções de cardinalidade possíveis são: 1:1:1 1:1:N 1:N:M N:M:P Como determinar a cardinalidade de relacionamentos ternários? ? Disciplina monitorada or N Desenvolver desenvolve de Funcionário 8 N Monitorar ? Professor Aluno N Monitorar ? Professor Aluno N Monitorar 1 Professor Aluno Deve-se isolar de dois em dois CEs, descobrindo a multiplicidade do terceiro. Por exemplo: 1) Dado um professor e uma disciplina, quantos alunos podem monitorar? ? Disciplina 2) Dado um professor e um aluno, quantas disciplinas esse aluno pode monitorar? 1 Disciplina 3) Dada uma disciplina e um aluno, quantos professores podem supervisionar? 1 Disciplina Outro exemplo: N Produto produzido P usado Componente 1) Dada uma máquina e um produto, quantos componentes são usados para produzir o produto? 2) Dado um produto e um componente, quantas máquinas podem produzir o produto? 3) Dada uma máquina e um componente, quantos produtos podem ser produzidos? M produz Usar/ Produzir Máquina 9 Aluno CE fraco Possuir Propor Professor Ementa Disciplina Conceito de CE fraco Um CE fraco é um CE em que cada entidade somente é preservada se assume ao menos uma vez um papel em um CR que torna fraco esse CE – CR total para esse CE. Em outras palavras, sempre que desaparecer o último relacionamento que envolve uma entidade de um CE fraco, ela desaparece também. Representação de CEs fracos: Exemplo: Ementa é um CE fraco para o CR Possuir. Isso significa que: não interessa guardar as ementas de disciplinas que não existem mais ou ementas que não são de nenhuma disciplina.Para o CR Propor, Ementa não é CE fraco. Isso significa que: ementas que não se sabe quem propôs podem ser mantidas, desde que sejam de alguma disciplina. 1.3 Atributos de Conjuntos de Entidades e de Conjuntos de Relacionamentos De forma geral, os atributos descrevem os CEs e os CRs. Cada entidade do CE e cada relacionamento do CR terão um valor para cada um de seus atributos. Esses valores são os dados armazenados na BD. Representação de atributos de CEs: atributo1 ... atributon Exemplo: ra nome s Os valores dos atributos de algumas entidades do CE Aluno podem ser: 200816 André 200823 Janaina 200772 Ariane N Matricular CE M Disciplina sigla nome num_credito 10 Aluno Turma Aluno Um CE sem atributos fica sem sentido em uma modelagem, ou seja, um CE sem atributos não existe. Chave de um CE: conjunto de atributos cujos valores identifiquem univocamente cada entidade no CE. A chave é o meio de acesso principal a uma entidade. Outras possíveis chaves não são indicadas no esquema de dados, pois não são contempladas pelo ME-R. Representação de chave de um CE: atributo_chave atributo1 ... atributon Exemplo: ra nome s Quando mais de um atributo compõe a chave de um CE, todos devem estar indicados como chave no esquema. A concatenação de todos esses atributos é a chave do CE. Exemplo: Representação de atributos de CRs: CR Exemplo: ra nome sigla periodo sala atributo1 ... atributon s Observa-se que nota é atributo um tipicamente do CR Matricular: se fosse atributo de Aluno, cada aluno teria apenas uma nota, não importa em qual disciplina; se fosse atributo de Disciplina, todas os alunos matriculados em uma mesma disciplina teriam a mesma nota. Ao contrário dos CEs, um CR existe mesmo sem atributos, uma vez que a associação entre os CEs já é uma razão suficiente para sua existência. Não existe a representação de chave em um CR. N Matricular N Matricular nota CE M Disciplina sigla nome num_credito M Disciplina sigla nome num_credito 11 Aluno Aluno Cliente Atributos simples (ou atômicos) e compostos (ou não atômicos) Um atributo composto (ou não atômico) é um atributo que pode ser dividido em partes. Já um atributo é simples (ou atômico) quando não pode ser dividido em partes. Exemplo: O atributo endereço é composto. ra nome endereço rua cidade estado Os atributos compostos podem formar hierarquia. Exemplo: ra nome endereço rua nome cep numero complemento cidade estado O valor de um atributo composto é a concatenação de valores de atributos simples que o compõe. O uso de atributos compostos em um esquema de dados é uma boa escolha quando o usuário desejar se referir ao atributo como um todo em determinadas ocasiões e somente à parte dele em outras. Atributos monovalorados e multivalorados Atributos monovalorados têm um único valor para uma entidade em particular. Exemplo: uma entidade do CE aluno tem um único valor para nome, logo nome é um atributo monovalorado. Atributos multivalorados podem ter um conjunto de valores para uma mesma entidade particular. Exemplo: uma entidade do CE cliente pode ter um ou mais valores para o atributo endereço, logo endereço é um atributo multivalorado. Os atributos multivalorados devem ter sua multiplicidade representada no esquema. Por exemplo: código nome (1,N) endereço (1,N) significa que cada cliente pode ter 1 ou mais (N) valores para o atributo endereço. 12 Cliente Atributos nulos Um atributo é nulo quando pode não possuir valor para uma entidade em particular. Exemplo: uma entidade do CE cliente pode ter um atributo observação que pode ser nulo. Os atributos nulos devem ter sua multiplicidade representada no esquema. Por exemplo: código nome endereço (1,N) observação (0,1) (0,1) significa que cada cliente pode ter nenhum (0) ou um (1) valor para o atributo observação. 2 Modelagem Embora o ME-R seja um modelo intuitivo, o processo de modelagem utilizando-o deve seguir algumas regras. O algoritmo apresentado a seguir deve ser considerado como um guia, que pode ser usado quando a sequência de modelagem não for clara ou houver dúvida em como prosseguir. 2.1 Passos para a modelagem de um SBD usando o ME-R Partindo de um texto que descreve/especifica um SBD, devem ser utilizados os seguintes passos como um guia para determinar qual deve ser a ação mais significativa a ser tomada em um determinado instante, objetivando obter uma modelagem que represente o mais fielmente possível o SBD especificado: 1) Grifar as palavras importantes para a compreensão do sistema; 2) Separar as palavras grifadas em substantivos e verbos; 3) Classificar, a princípio, os substantivos como sendo: - CEs; - Atributos; - Valores de Atributos; - Papéis. E os verbos, como sendo: - Relacionamentos; - Ações (Procedimentos) e regras. 4) Vincular a cada CE os seus atributos: - Verificar se cada atributo não pode ser promovido a CE; - Verificar se cada CE não pode ser rebaixado para atributo; 5) Vincular uma chave para cada CE; 6) Vincular a cada CR os CEs, de acordo com os papéis que as entidades assumem nos relacionamentos: - Verificar as palavras marcadas como CRs que são apenas papéis de outros CRs; 7) Vincular os papéis aos CRs quanto existir ambiguidade; 8) Vincular a cada CR os seus atributos; 13 9) Redistribuir os atributos restantes entre os CEs e CRs; 10) Vincular a cada atributo os seus valores; 11) Verificar as ações e regras. Se elas sempre se referirem a dados que já estão modelados, desconsidera-las; senão identificar quais são esses dados e repetir os passos 2 a 11; 12) Verificar se existem CEs com apenas uma instância. Se houver, descartar cada CE nessa situação e seus CRs; 13) Verificar cada CR para confirmar se apenas os papéis indicados são necessários, senão criar os que faltam e vincular os CEs adequados; 14) Verificar se cada CR de grau maior que 2 não pode ser desmembrado em dois ou mais CRs de grau menor; 15) Verificar todos os CEs que são fracos para algum CR. 2.2 Estudo de Caso: Gerência Acadêmica de uma Universidade A Gerência Acadêmica mantém um controle centralizado de alunos, cursos, disciplinas e professores. Os alunos são admitidos nos cursos por meio de um vestibular ou transferência. Um aluno não pode estar vinculado a mais de um curso ao mesmo tempo. Quando ingressam, os alunos preenchem uma ficha cadastral com número de matrícula pré-impresso, informando seu nome e endereço. Os departamentos são responsáveis pelos cursos. Os cursos são compostos por disciplinas, as quais podem ser obrigatórias ou optativas, dependendo do curso a que pertencem. Cada disciplina é codificada de acordo com um padrão pré-estabelecido pelo conselho acadêmico. De acordo com os estatutos da universidade, cada disciplina para ser oferecida, necessita de um mínimo de 10 alunos e, para que o alto padrão de ensino oferecido seja mantido, cada disciplina deverá ter no máximo 50 alunos. Segundo uma convenção adotada pela universidade, os professores podem ser cadastrados na Gerência Acadêmica sem estar ministrando disciplinas. Cada professor pode ministrar até no máximo 3 disciplinas. Cada professor está vinculado a um departamento e possui um código específico para sua diferenciação dentre os demais professores. A universidade adota um sistema progressivo de aprendizado, no qual cada disciplina pode ter no máximo 3 e no mínimo 0 pré-requisitos. Geralmente, as disciplinas sem nenhum pré-requisito, ou pertencem ao primeiro período ou são disciplinas optativas. De acordo com o conselho acadêmico, em um dado período letivo, um alunopode não estar matriculado em nenhuma disciplina, caracterizando um trancamento de matrícula, e pode se matricular em 7 disciplinas no máximo. O aluno pode repetir no máximo 3 vezes a mesma disciplina. Para o perfeito acompanhamento acadêmico do aluno durante o curso, a universidade mantém um histórico dos alunos. Esse documento é o conjunto de todas as disciplinas cursadas pelo aluno em toda a sua vida acadêmica dentro da universidade. Contém o registro das disciplinas e indica a nota final e a data em que a disciplina foi cursada. No total a universidade pode comportar 5000 alunos matriculados em seus diversos cursos. A cada ano, são admitidos 800 novos alunos por vestibular e no máximo 60 por transferências externas. Formam-se em torno de 300 alunos por semestre. A universidade oferece 10 cursos e 280 disciplinas, possuindo cerca de 120 professores. Solução: 14 1) Grifar as palavras importantes para a compreensão do sistema: A Gerência Acadêmica mantém um controle centralizado de alunos, cursos, disciplinas e professores. Um aluno não pode estar vinculado a mais de um curso ao mesmo tempo. Os alunos preenchem uma ficha cadastral com número de matrícula pré-impresso, informando seu nome e endereço. Os departamentos são responsáveis pelos cursos. Os cursos são compostos por disciplinas, as quais podem ser obrigatórias ou optativas, dependendo do curso a que pertencem. Cada disciplina é codificada de acordo com um padrão pré-estabelecido. Cada disciplina necessita de um mínimo de 10 alunos e no máximo 50 alunos. Os professores podem ser cadastrados sem estar ministrando disciplinas. Cada professor pode ministrar até no máximo 3 disciplinas. Cada professor está vinculado a um departamento e possui um código específico. Cada disciplina pode ter no máximo 3 e no mínimo 0 pré-requisitos. Em um dado período letivo, um aluno pode não estar matriculado em nenhuma disciplina e pode se matricular em 7 disciplinas no máximo. O aluno pode repetir no máximo 3 vezes a mesma disciplina. O histórico dos alunos contém o registro das disciplinas e indica a nota final e a data em que a disciplina foi cursada. 2) Separar as palavras grifadas em substantivos e verbos; 3) Classificar, a princípio, os substantivos como sendo: - CEs; - Atributos; - Valores de Atributos; - Papéis. E os verbos, como sendo: - Relacionamentos; - Ações (Procedimentos) e regras. Substantivos Classificação Verbos Classificação alunos CE estar vinculado Relacionamento cursos CE preenchem Ação disciplinas CE são responsáveis Relacionamento professores CE compostos por Relacionamento número de matrícula Atributo é codificada Ação nome Atributo necessita de mínimo 10 alunos e máximo 50 alunos Regra endereço Atributo pode ministrar mínimo 0 e máximo 3 Regra departamento CE está vinculado Relacionamento obrigatórias Valor de atributo possui Relacionamento optativas Valor de atributo ter pré-requisito máximo 3 e mínimo 0 Regra código Atributo estar matriculado mínimo 0 e máximo 7 Regra nota final Atributo repetir máximo de 3 vezes Regra data Atributo contém Relacionamento 4) Vincular a cada CE os seus atributos: 15 Aluno Professor Curso N Estar vinculado 1 Compor M Aluno Responsa- bilizar N Pertencer 1 Departamento Professor Curso Disciplina - Verificar se cada atributo não pode ser promovido a CE; - Verificar se cada CE não pode ser rebaixado para atributo; 5) Vincular uma chave para cada CE: número_matrícula nome endereço código nome código nome código nome código nome 6) Vincular a cada CR os CEs, de acordo com os papéis que as entidades assumem nos relacionamentos: - Verificar as palavras marcadas como CRs que são apenas papéis de outros CRs; - Verificar a cardinalidade dos CRs. número_matrícula nome endereço código nome go me N 1 código nome código nome 7) Vincular os papéis aos CRs quanto existir ambiguidade; 8) Vincular a cada CR os seus atributos; 9) Redistribuir os atributos restantes entre os CEs e CRs; 10) Vincular a cada atributo os seus valores; 11) Verificar as ações e regras. Se elas sempre se referirem a dados que já estão modelados, desconsidera-las; senão identificar quais são esses dados e repetir os passos 2 a 11: Departamento Disciplina N códi no 16 número_matrícula nome endereço Ministrar N código nome N N M M é pré-requisito de N Pré-requisitar N Estar vinculado Matricular data M Pertencer concluida nota_final N pré-requisita código nome 1 M Compor obrigatória 1 N Responsa- bilizar 1 Departamento Disciplina Professor Aluno Curso número_matrícula nome endereço Ministrar N código nome N N M M é pré-requisito de N Pré-requisitar N Estar vinculado Matricular data M Pertencer concluida nota_final N pré-requisita código nome 1 M Compor obrigatória 1 N Responsa- bilizar 1 código código nome nome Departamento Curso Disciplina Professor Aluno código nome código nome 12) Verificar se existem CEs com apenas uma instância. Se houver, descartar cada CE nessa situação e seus CRs; 13) Verificar cada CR para confirmar se apenas os papéis indicados são necessários, senão criar os que faltam e vincular os CEs adequados; 14) Verificar se cada CR de grau maior que 2 não pode ser desmembrado em dois ou mais CRs de grau menor; 15) Verificar todos os CEs que são fracos para algum CR: 17 3 Exercícios de Fixação Fazer a modelagem das seguintes especificações, usando o ME-R: 1. Uma sorveteria implantou o controle de vendas. As informações armazenadas são: código, nome e endereço do cliente para uma possível promoção ao “melhor comprador”; além do código, descrição, sabor e marca do produto. A cada venda deve-se armazenar a quantidade vendida e o valor pago. Tanto o código do cliente como o do produto tem valor único. Cada produto pode ser vendido a vários clientes e esses podem comprar vários produtos. 2. Uma transportadora é responsável por transportar carga para depósitos de varejo de uma empresa. Atualmente existem 6 depósitos de varejo. Um caminhão pode levar várias mercadorias durante uma única viagem, que é identificada por um código e armazena dados sobre custos (pedágio, combustível), entregando as mercadorias em vários depósitos. Cada mercadoria é identificada por um código e inclui dados sobre volume, peso e destino. Caminhões possuem diferentes capacidades para o volume e o peso que podem carregar. A transportadora atualmente tem 150 caminhões e um caminhão faz de 3 a 4 viagens por semana. 3. A biblioteca de uma universidade resolveu controlar os empréstimos de livros e revistas feitos para alunos. As informações guardadas são: número, nome e endereço do aluno, e um status informando se o aluno é ou não devedor. Como livros e revistas podem ser emprestados a vários alunos e cada aluno pode emprestar vários livros e revistas, é necessário controlar a data e hora do empréstimo. Assim para cada livro é necessário guardar o código, ISBN, título e área, enquanto que para cada revista deve ser armazenado o número, descrição, volume e área. O número do aluno assim como o ISBN e o número da revista tem valores únicos. 4. Um hospital decidiu fazer um sistema para controle de seus pacientes e médicos. Para isso foi necessário armazenar dados como o RG, nome, endereço, idade e convênio do paciente, juntamente com o número identificador, nome, endereço e especialidade do médico. O paciente pode ser atendido por vários médicos em determinadas datas e horários, assim como o médico pode atender a vários pacientes.5. Empresas decidiram controlar seus departamentos. Cursos são oferecidos por cada departamento. Para isso é necessário armazenar dados como nome, cnpj e filial da empresa, que tem vinculado vários departamentos que possuem nome, número identificador e descrição. Cada curso tem nome, descrição, código com valor único e número de horas semestrais, podendo estar vinculado a vários departamentos. Por sua vez, cada departamento é referente a uma única empresa.
Compartilhar