Banco de Dados Prof. MSc Wagner Siqueira Cavalcante Banco de Dados: Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): • MER é um modelo representativo de conjuntos de objetos (entidades) e dos possíveis relacionamentos entre eles. Entidade: Objeto distinguível de outro (p. ex. aluno, cliente, ...) Conjunto de entidades: Agrupamento de entidades comuns (p.ex. aluno {Alunos}, cliente {Clientes}, etc.) Atributos: Detalhes (destaques) da entidade (p.ex. nome, data de nascimento, cidade, valor, etc.) Domínio: Conjunto de valores possíveis para um atributo Relacionamentos: Ligações entre atributos, de conjuntos distintos de entidades (p.ex. atributo no conjunto de entidades Aluno, ligado a determinado atributo no conjunto de entidades Disciplina, que os alunos cursam, etc.) BD – Modelagem Banco de Dados: Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento (MER): Modelo lógico baseado em objetos, que propõe-se a representar o minimundo real (da empresa, ou do sistema), através de entidades (objetos) e dos relacionamentos que há entre distintos conjuntos de entidades, por meio de diagramas (gráficos), chamados DER (Diagrama Entidade-Relacionamento). Há várias formas de representação gráfica para o DER... Entre elas: DER Entidade Atributo Relacionamento Fortes Fracos ... fraca ... multivalorado ... de dependência ... de dependência Ligações BD – Modelagem Banco de Dados: Modelo Entidade-Relacionamento Tipos de atributos: Simples Indivisível, atômico (p.ex. peso, altura, valor, etc.) Composto Divisível (p.ex. endereço, que pode ser divisível em logradouro, cep, etc.) Monovalorado Permite unicamente um conteúdo (p.ex. nome, data de nascimento, etc.) Multivalorado Permite vários conteúdos simultaneamente (p.ex. dependentes de funcionário, telefone, etc.). Pode-se solucionar isto, tratando-o como uma entidade fraca, a qual depende de outra, chamada dominante (forte). Nulo Permite conteúdo inexistente (o não preenchimento com algum valor) Derivado Resultante de algum cálculo ou decisão evitar! (p.ex. idade, tempo de casa, etc.) Descritivo Especifica uma determinada situação em um determinado momento (p.ex. a situação de uma conta corrente em uma determinada data), e que não faz parte do conjunto de atributos de uma entidade, e, sim, de um relacionamento. Identificador Identifica uma entidade em seu conjunto de entidades. Se em um conjunto fraco, pode-se repetir, visto que é dependente do conjunto de entidades dominante... BD – Modelagem Banco de Dados: Modelo Entidade-Relacionamento Dependência de existência: Restrição que define a subordinação de uma entidade, chamada subordinada, a outra, chamada dominante, que, caso esta seja alterada ou removida, a subordinada necessariamente também refletirá o comportamento (p.ex. um empréstimo a ser pago em parcelas, se cancelado, as elimina, necessariamente). Chaves: Atributo ou conjunto de atributos que fazem a identificação e distinção entre uma entidade e outra no mesmo conjunto de entidades. Superchave: Maior conjunto possível, com esta restrição Chave candidata: Um dos conjuntos possíveis Chave primária: Das candidatas, o menor e melhor conjunto possível. – Simples: Chave com um único atributo – Composta: Chave com um dois ou mais atributos Chave estrangeira: Foreign key ou FK: – Chave primária “emprestada” de outro conjunto de entidades com o qual este conjunto relaciona-se (ou dele depende); facilmente aplicável no conjunto N de um relacionamento 1:N (um para muitos) a seguir BD – Modelagem Banco de Dados: Modelo Entidade-Relacionamento Mapeamento de Cardinalidades: Um para um 1:1 1:1 BD – Modelagem Banco de Dados: Modelo Entidade-Relacionamento Exemplo 01 (um para um): – Uma instituição financeira permite que cada cliente possa obter um único empréstimo por vez, o qual pode ser contraído por somente uma pessoa. – Os relatórios mostrarão os nomes dos clientes e seus CPFs e, dos empréstimos correspondentes, a sua data e valor, por exemplo. nr_emprest Cod. Cliente valor nome 1 Cliente Outros... contrat a 1 Empréstimo Outros... CPF data 02. Mapear cardinalidade (1:1, 1:N ou M:N) 01. Identificar as entidades e seus aatributos BD – Modelagem Banco de Dados: Modelo Entidade-Relacionamento Mapeamento de Cardinalidades: Um para um 1:1 1:1 Um para muitos ou Muitos para um 1:N 1: BD – Modelagem Banco de Dados: Modelo Entidade-Relacionamento Exemplo 02 (um para muitos – forte:forte): – Uma instituição bancária permite que cada cliente possa ter várias contas, as quais pertençam a somente um cliente, que, por sua vez, pode ser informado sobre algum problema (falta de saldo...), por meio de um de seus telefones. nr_conta Cod_cliente saldo_mínimo nome Cliente 1 Outros... possu i N Conta Outros... telefone BD – Modelagem Banco de Dados: Modelo Entidade-Relacionamento Exemplo 03 (um para muitos – forte:fraca = sempre): – Os funcionários de uma empresa podem ter vários telefones distintos para contato. seqüência Prontuário ddd nome Funcionário 1 Outros... possu i N Telefone fone telefone BD – Modelagem Banco de Dados: Modelo Entidade-Relacionamento Mapeamento de Cardinalidades: Um para um 1:1 1:1 Um para muitos ou Muitos para um 1:N 1: Muitos para muitos M:N : BD – Modelagem Banco de Dados: Modelo Entidade-Relacionamento Exemplo 04 (muitos para muitos): – Uma instituição acadêmica permite que seus alunos possam se matricular em várias disciplinas por vez, as quais contarão com vários alunos simultaneamente. código RA nome nome Aluno Outros... M matricula-se N Disciplina ementa BD – Modelagem Banco de Dados: Modelo Entidade-Relacionamento Exercício 01: Uma indústria mecânica permite que cada um de seus funcionários tenha em mãos unicamente uma ferramenta, a qual, por sua vez, será controlada por unicamente uma pessoa. Exercício 02: Represente a situação do exemplo 02 (Uma determinada instituição financeira permite que cada cliente possa contratar várias contas-correntes por vez, sendo ele o único responsável por elas), considerando que o cliente pode ter vários telefones (em localidades distintas). Exercício 03: Crie o DER para representar a situação de empréstimos contraídos por clientes, sendo que a instituição permite que um cliente somente pode contrair novo empréstimo após quitar o anterior, integralmente, através de parcelas. Caso algum empréstimo seja cancelado, as parcelas correspondentes devem ser refletir isto. BD – Modelagem