Prévia do material em texto
MODELO DE ENTIDADES E RELACIONAMENTOS – MER (MODELO CONCEITUAL) Profº. Helvio Jr- helvio.jeronimohjr@ifrj.edu.br Banco de Dados II Curso Técnico Integrado ao Ensino Médio em Informática UENF MODELO CONCEITUAL (MODELO ENTIDADE-RELACIONAMENTO) UENF Modelo Conceitual ▪ O Modelo/Nível Conceitual dá origem ao projeto. • Isso de acordo com o modelo de dados a ser utilizado; ▪ Conceitos definidos pelo modelo de dados escolhido devem ser seguidos e respeitados para a realidade a ser modelada. • Ex: é um erro chamar entidade de tabela, pois pertencem a modelos distintos (conceitual/lógico) ▪ O M-ER é um tipo de modelo conceitual usado menta para se fazer a modelagem de dados de um sistema ▪ Por pertencer ao nível conceitual, esse modelo contempla quais dados deverão ser armazenados no banco de dados, não se preocupando como. UENF ▪ Modelo Entidade Relacionamento (M-ER) ou Diagrama Entidade Relacionamento Relacionamento (D-ER). ▪ Modelo e Notação proposta por Peter Chen (1976)- Massachuetts Institute of Technology • “The Entity-Relationship Model – “Toward a Unified View of Data”. • A notação tem sido aprimorada por pesquisadores atuais e, também sendo específica para cada tipo corporação; • Cabe ao analista/projetista de BD escolher o padrão de notação a ser utilizada; • Essa modelo visa garantir que informações necessárias para um domínio possam ser capturadas e modeladas (representadas) adequadamente. Modelo Entidade-Relacionamento (M-ER) Artigo Original Peter Chen(1976).pdf UENF ▪ Modelo Entidade Relacionamento (M-ER) ou Diagrama Entidade- Relacionamento Relacionamento (D-ER) Notação Original Proposta por Peter Chen (1976) com entidades, relacionamentos, atributos e cardinalidades. Notação Heuser (2001), aprimorou os conceitos e inseriu novos elementos de acordo com as técnicas atuais. Modelo Entidade-Relacionamento (M-ER) UENF Fonte: Universidade da Califórnia, Los Angeles. ▪ Diferentes formas de representar o MER/DER Modelo Entidade-Relacionamento (M-ER) UENF Elementos, conceitos e notação do Modelo Entidade-Relacionamento (M-ER) UENF ▪ Uma Entidade é uma abstração (um modelo puramente mental) de “algo” existente no mundo real. ▪ É um objeto do mundo real com uma identificação distinta e um significado próprio. Na prática, modelamos como entidades todos os objetos sobre os quais desejamos armazenar informações. • Ex: carro, equipamento, funcionários, alunos, aptidão, curso, compra, venda etc.) ▪ Entidade – elemento individual => Conjunto de Entidade => conjunto de elementos; • Entidade Paciente (pode ser composta por vários pacientes); ▪ Representação Gráfica: ▪ Entidades possuem Atributos. Entidade X O nome da entidade vem dentro da caixa Entidade UENF ▪ Entidades Fortes: essas têm existência própria, ou seja, não dependem de outra para existir. A notação é dada por um retângulo com o nome ao centro, conforme já demonstrado. ▪ Entidades Fracas: ao contrário das Entidades Fortes as Entidades Fracas não existem por si só, ou seja, elas dependem de uma Entidade Forte para existir. Portanto, uma entidade Fraca sempre depende existencialmente de uma Entidade Forte. Sua representação é um retângulo duplo. O nome da entidade vem dentro da caixa Classificação de Entidades Dependente UENF ▪ Cada entidade possui um conjunto de propriedades que as caracterizam. Essas propriedades são chamadas de Atributos. ▪ São propriedades que distinguem os elementos de uma entidade. ▪ Portanto, um atributo de uma entidade pode ser visto como um dado que a qualifica • Exemplo: entidade Paciente com os atributos nomes, endereço, idade, telefone, convenio. ▪ Representação Gráfica → pequeno círculo e, este dever ser conectado a uma entidade. ▪ Atributos possuem valores. Exemplo Nome= “João Carlos”. Atributos UENF ▪ Simples: é aquele que só pode assumir um único valor, isto é, não pode assumir vários valores e nem pode ser decomposto em subvalores. (valores atômicos- atomicidade). • Sua representação é apenas um círculo, conforme já demonstrado. ▪ Multivalorado: é o tipo de atributo que permite mais de um valor, isto porque existem casos de entidades, no mundo real, que possuem alguma característica para a qual é possível se determinar mais de um valor. • Exemplo: o atributo telefone. Em alguns casos uma pessoa pode ter mais de um telefone (residencial, celular e trabalho). • Representação Gráfica: Classificação de Atributos UENF ▪ Composto: é aquele que é formado por outros atributos. Ou seja, seu valor é divisível. • Exemplo: o atributo endereço. Normalmente, um endereço completo refere-se a rua, número, complemento, bairro, cidade, estado e país. • Pode ser simples (único valor). • Pode ser multivalorado (mais de um valor). • Representação Gráfica: Classificação de Atributos Composto - Simples Composto - Multivalorado UENF ▪ 4. Identificador: é uma restrição de integridade muito comum em conjuntos de entidades, devido à sua importância em todos os modelos computacionais, é um atributo monovalorado. • O identificador é um atributo cujo o seu valor não pode ser repetido, ou seja, nenhuma outra entidade do conjunto pode ter um valor que pertence a outra entidade. • Representação Gráfica: ▪ 5. Derivado/Calculado: é aquele cujo valor é determinado a partir do valor de outro(s) atributo(s). • Exemplo: Exemplo: idade (que pode ser calculado a partir da data de nascimento) • Representação Gráfica: uso de um asterisco Classificação de Atributos * UENF ▪ Exemplo: Representação de Entidade e Atributos Composto multivalorado Se fosse simples seria apenas um círculo Simples Multivalorado Entidade Forte Identificador Derivado UENF ▪ Um relacionamento é uma associação entre duas ou mais entidades. ▪ Indicam que elementos de duas ou mais entidades estão relacionados por um propósito. ▪ Possuem cardinalidades específicas. ▪ Normalmente, usa-se um verbo para expressar um relacionamento • Exemplo: possui, compra, consulta, vende e etc... ▪ Representação Gráfica: (losango entre duas entidades) Relacionamentos O nome do relacionamento vem dentro do mesmo. Relacionamento x UENF ▪ Total: é aquele que exige a existência de uma ligação entre as entidades envolvidas • Ou seja, toda vez que houver a necessidade de se armazenar dados de uma entidade juntamente com os dados do relacionamento, este deve ser do tipo total. ▪ Parcial: ao contrário do relacionamento total, o relacionamento parcial não exige a existência de uma ligação entre as entidades, ou seja, a ligação é opcional. ▪ Exemplo e Representação Gráfica: Classificação dos Relacionamentos Os Médicos registrados no sistema não precisam realizar consultas. Todo paciente registrado no sistema é/será consultado por um médico. UENF ▪ As entidades se relacionam por meio de relacionamentos e, entre estes relacionamentos tem-se as cardinalidades. ▪ As cardinalidades indicam a obrigatoriedade e/ou restrição de integridade quanto a quantidade de entidades que uma entidade de um determinado conjunto pode se relacionar com outra de outro conjunto. ▪ Cardinalidades: ▪ 0:1 ▪ 0:N ▪ 1:1 ▪ 1:N Cardinalidades dos Relacionamentos (multiplicidade) UENF ▪ Cardinalidade 0:1 ▪ Para cada elemento da Entidade A, pode ter ou não 1 elemento da Entidade B a ele relacionado. ▪ Exemplo: Paciente pode possuir ou não apenas 1 um Convênio. Cardinalidades dos Relacionamentos (multiplicidade) PACIENTE possui CONVÊNIO 0:10:N UENF ▪ Cardinalidade 0:N ▪ Para cada elemento da entidade A posso ter de 0 a N elementos da entidade B a ele relacionados ▪ Exemplo: Um Médico pode trabalhar ou não com Convênios. Um convênio pode ser aceito ou não por Médicos. Cardinalidades dos Relacionamentos (multiplicidade) MÉDICO trabalha CONVÊNIO 0:N 0:N UENF ▪ Cardinalidade 1:1 ▪ Para cada elemento da entidade A deve-se ter (no mínimo e máximo) um elemento da entidade B a ele relacionado. ▪ Exemplo: Suponhauma universidade onde um Aluno só pode fazer um Curso. Cardinalidades dos Relacionamentos (multiplicidade) ALUNO faz CURSO 1:1 0:N UENF ▪ Cardinalidade 1:N ▪ Para cada elemento da entidade A posso ter no mínimo 1 e no máximo N elementos da entidade B a ele . ▪ Exemplo: Suponha uma universidade onde um Aluno só pode fazer mais um Curso. Cardinalidades dos Relacionamentos (multiplicidade) ALUNO faz CURSO 1:1 0:N UENF ▪ Observações: ▪ A cardinalidade Mínima pode ser 0 ou 1, indicando a obrigatoriedade do relacionamento. ▪ A cardinalidade Máxima pode ser 1 ou N, indicando que um elemento da entidade A pode estar associado a 1 ou vários elementos da entidade B. ▪ Isso indica a integridade referencial, ou seja, a definição de valores de chave estrangeiras (FK) não-nulas. Cardinalidades dos Relacionamentos (multiplicidade) UENF ▪ O auto relacionamento implica em um relacionamento de uma entidade de um conjunto com outra do mesmo conjunto. Auto-relacionamento 1:1 1:N UENF ▪ Observações: ▪ Em alguns casos os relacionamentos, possuem atributos e, necessitam relacionar-se com mais de duas entidades. Daí têm-se alguns os Graus de Relacionamentos. ▪ Em alguns casos um relacionamento pode ter atributos, que podem não pertencer a nenhuma entidade no qual o mesmo está relacionado, portanto estes relacionamentos pertencem ao próprio relacionamento, o que leva ao surgimento da Agregação. Relacionamentos UENF ▪ É caracterizado pela quantidade de conjunto de entidades por ele envolvidas; ▪ Dessa forma, o menor grau de um relacionamento no M-ER é o grau dois ou binário (inclusive para auto-relacionamentos); ▪ Alguns graus de relacionamento recebem nomes especiais, são eles: binário para grau dois; ternário para grau três e quaternário para grau quatro; ▪ A partir daí, diz-se grau cinco, grau seis, e assim por diante; ▪ Os relacionamentos com grau maior que dois são chamados de relacionamentos n- ário (lê-se “enários). Graus de Relacionamentos UENF ▪ Contemplam mais de duas entidades; ▪ A regra de negócio é o fator que determina o grau do relacionamento, devido ao tipo que controle no qual se deseja. Pois estes garantem a integridade dos dados. Graus de Relacionamentos → n-ários UENF ▪ Exemplo: ▪ Considere um sistema usado em uma clínica médica. Deseja-se que quando um médico realizar uma consulta em um paciente, que seja registrado algumas informações sobre a situação do paciente e da consulta. Além disso, deseja-se também que seja registrado quais equipamentos o médico utilizou na consulta. Graus de Relacionamentos → n-ários MEDICO consulta PACIENTE EQUIPAMENTO usadousa 0:N1:N 0:N 0:N 0:N 0:N data data Três relacionamentos binários; Não é o ideal. Exige alto custo e alto processamento nome nome_tecnico nr_pontuario nome crm situacao_pacienteprescricoes UENF ▪ Exemplo: ▪ No entanto, considerando que um médico efetua consulta em vários pacientes, e que pode usar vários equipamentos na mesma consulta, a modelagem apresentada anteriormente deixa a desejar quanto a disponibilidade de informações e desempenho. Para sabermos exatamente qual o equipamento foi usado por um determinado médico em uma consulta a um paciente específico, teremos que “varrer” todos os relacionamentos e cruzar as informações para se chegar a um denominador comum, o que acarretará em um custo desnecessário. Graus de Relacionamentos → n-ários MEDICO consulta PACIENTE 0:N 1:N EQUIPAMENTO 0:N Relacionamento entre relacionamentos? nome nr_pontuario nomecrm data situacao_paciente prescricoes nome_tecnico 0:N Relacionamento ternário. Caminhando para modelagem adequada! UENF ▪ Pertence ao M-ER Estendido. ▪ A agregação é uma solução para a restrição do M-ER de não permitir relacionamento entre relacionamentos. Agregação (Entidade Associativa) MEDICO consulta PACIENTE 0:N 1:N EQUIPAMENTO 0:N nome nomecrm data situacao_paciente prescricoes nome_tecnico 0:N A representação gráfica é um quadrado envolta do relacionamento que apresenta características próprias. UENF ▪ A generalização e a especialização são conceitos usados para representar objetos do mundo real que possuem os mesmos atributos e que podem ser representados em uma hierarquia que mostra as dependências entre entidades de uma mesma categoria. ▪ O conceito de generalização e especialização é muito conhecido como herança. ▪ Através deste conceito é possível atribuir propriedades particulares a um subconjunto das ocorrências (especializadas) de uma entidade genérica ou entidade Pai/Mãe. ▪ Herança de propriedades: cada ocorrência da entidade especializada possui, além de seus próprios atributos e relacionamentos, todos os atributos da entidade generalizada. Generalização/Especialização UENF ▪ De um modo prático herança é tudo aquilo que pode ser passado de pai para filho, ou seja, dada uma característica dos pais, estas podem ser transmitidas aos seus filhos. ▪ Exemplo e representação gráfica • Pessoas a serem cadastrados no sistema da clínica que podem ser: Generalização/Especialização PESSOA MÉDICO PACIENTE UENF ▪ Generalização: ocorre quando todas as entidades de nível superior pertencem a alguma entidade do nível inferior. ▪ Ou seja, não existe qualquer entidade dentro do conjunto de entidades-mães que não estejam em, pelo menos, uma entidade-filha ▪ Especialização: dizemos que ocorre uma especialização quando existe, pelo menos, uma entidade de nível superior que pertence a nenhuma entidade do nível inferior. ▪ Ou seja, existe alguma entidade dentro do conjunto de entidades-mães que está em nenhuma entidade-filha. Generalização/Especialização UENF ▪ Exemplos Generalização/Especialização PESSOA Maria R. Soares Carlos Roberto Manuela Ferreira Sônia Braga PACIENTE Maria R. Soares Carlos Roberto MÉDICO Manuela Ferreira Sônia Braga PESSOA Maria R. Soares Carlos Roberto Manuela Ferreira Sônia Braga Roberta Mendonça PACIENTE Maria R. Soares Carlos Roberto MÉDICO Manuela Ferreira Sônia Braga Exemplo de generalização Exemplo de Especialização É um funcionário administrativo UENF ▪ Os atributos definidos na generalização também são válidos para a especialização; ▪ O identificador da generalização (chave primária) é o mesmo para as especializações. ▪ Restrições de completude: define se um membro da superclasse pode participar ou não de uma subclasse. ▪ Restrições de disjunções: define se um membro da superclasse pode participar de uma ou mais subclasse. Generalização/Especialização (Propriedades) UENF ▪ Restrições de completude • Total (T): define que todos os elementos da generalização devem pertencer as especializações. • Parcial (P): define que os membros da generalização podem ou não pertencer a alguma subclasse ▪ Restrições de disjunções • Exclusiva (E): define que um membro da generalização só pode participar em, no máximo, uma especialização. • Sobreposta (S): define que um membro da generalização participe de mais de uma especialização. Generalização/Especialização (Propriedades) UENF ▪ Exemplos das Restrições de Completude e Disjunções Generalização/Especialização (Propriedades) (T,S) PESSOA MÉDICO PACIENTE (P,S) (P,E) (T,E) UENF ▪ 1. Descrever/Analisar o “Mini-Mundo” - contexto com as “expectativas” desejaváveis para o sistema e/ou base de dados a serem implementados. Modelando uma Base de Dados usando o M-ER Uma videolocadora trabalha com o aluguel de fitas, cd's e cartuchos de jogos. Todos os produtos devem ser cadastrados com um código, o título que o descreve e a categoria. As fitas possuem a sinopse e os artistas principais; os Cd's, o nome do cantor e uma descrição das músicas contidas. Os cartuchos possuem apenas o nome do fabricante. Estes três tipos de produtos possuem uma categoria e, essa por sua vez deve ser cadastrada com um código e uma descrição. A locadora aluga apenas para os clientes cadastrados. O cadastro de clientes deve ser realizadocom seu nome, endereço, data de nascimento e telefone. Os alugueis devem ser registrados com uma data de empréstimo, data de devolução e um código. Cada cliente pode alugar um ou mais objetos de locação (fita,cd ou cartucho), sendo que cada um destes só pode ser alugado por apenas um cliente em um determinado momento (data). É interesse da locadora, entretanto, manter um histórico dos aluguéis já realizados, a fim de gerenciar o perfil dos seus clientes. Minimundo descrevendo as necessidades e expectativas para uma base de dados de uma locadora UENF 2. Identificar.... • Requisitos/Funcionalidades • Regras e/ou Restrições 3. A partir da descrição do minimundo, como capturar as informações e modelá-las utilizando a notação do M-ER? (Dicas) • A presença de um substantivo usualmente indica uma entidade; • A presença de um verbo é uma forte indicação de um relacionamento; • Um adjetivo, que é uma qualidade, é uma forte indicação de um atributo; • Um advérbio temporal, qualificando o verbo, é uma indicação de um atributo do relacionamento. Modelando uma Base de Dados usando o M-ER UENF Dado o minimundo apresentado, faça: • Identifique as entidades, seus atributos e os possíveis relacionamentos. • Em seguida, modele, adequadamente, o minimundo descrito usando os elementos e a notação do M-ER estudado. – Faça no papel ou use a ferramenta brModelo Praticando... UENF Referências ▪ Date, C. J. Introdução a sistemas de bancos de dados. Tradução da 8. ed. americana. Rio de Janeiro: Campus, 2004. ▪ Date, C. J. SQL e teoria relacional: como escrever códigos SQL precisos. São Paulo: Novatec, 2015.