Instituto Federal de Educação, Ciência e Tecnologia de São Paulo - IFSP Campus de Caraguatatuba Tecnólogo em Análise e Desenvolvimento de Sistemas 10 Semestre de 2013 Banco de Dados I – BD I Prof. Lineu Mialaret Aula 5: Modelo Entidade Relacionamento (2) Banco de Dados I Aula 5 - 1 ©Prof. Lineu Mialaret Diagrama Entidade Relacionamento (1) Notação de Chen: Retângulos representam conjuntos de entidades. Losangos representam conjuntos de relacionamentos. Linhas ligam atributos para conjuntos de entidades e conjuntos de entidades a relacionamentos. Elipses representam atributos Elipses duplas representam atributos multivalorados. Elipses pontilhadas representam atributos derivados. Atributo sublinhado significa atributo chave. Banco de Dados I Aula 5 - 2 ©Prof. Lineu Mialaret Diagrama Entidade Relacionamento (2) Exemplo de Diagrama Entidade Relacionamento – DER, com Atributos Compostos, Multivalorados e Derivados. Banco de Dados I Aula 5 - 3 ©Prof. Lineu Mialaret Diagrama Entidade Relacionamento (3) Exemplo de DER com um conjunto de relacionamentos depositante (depositor), com o atributo data-de-acesso (access-date). Banco de Dados I Aula 5 - 4 ©Prof. Lineu Mialaret Graus de Relacionamentos (1) customer employee works_for depositor account Relacionamento de Grau 2 - Binário Relacionamento de Grau 1 - Unário Banco de Dados I Aula 5 - 5 ©Prof. Lineu Mialaret Graus de Relacionamentos (2) Relacionamento de Grau 3 - Ternário Banco de Dados I Aula 5 - 6 ©Prof. Lineu Mialaret Papéis Os rótulos gerente (manager) e subordinado (worker) são chamados de papéis. Eles especificam com as entidades do conjunto de entidades empregado (employee) interagem via o conjunto relacionamentos recursivo trabalha-para (works-for ). Banco de Dados I Aula 5 - 7 de ©Prof. Lineu Mialaret Notação de Restrições de Cardinalidade (1) Na notação de Chen, pode-se expressar restrições de cardinalidade usando uma linha direcionada (), que significa “um” ou uma linha não direcionada (—), que significa “muitos”, entre os conjuntos de entidades e de relacionamentos. Exemplo: relacionamento um-para-um Um cliente (customer) é associado com no máximo um empréstimo (loan) via o relacionamento devedor (borrower). Um empréstimo é associado com no máximo um cliente via o relacionamento devedor (borrower). Banco de Dados I Aula 5 - 8 ©Prof. Lineu Mialaret Notação de Restrições de Cardinalidade (2) No relacionamento um-para-muitos, um empréstimo (loan) é associado com no máximo um cliente (customer) via o relacionamento devedor (borrower). Um cliente é associado com vários (incluindo zero) empréstimos via o relacionamento devedor. Banco de Dados I Aula 5 - 9 ©Prof. Lineu Mialaret Notação de Restrições de Cardinalidade (3) Num relacionamento muitos-para-um um empréstimo (loan) é associado com vários (incluindo zero) clientes (customer) via o relacionamento devedor (borrower). Um cliente é associado com no máximo um empréstimo via o relacionamento devedor. Banco de Dados I Aula 5 - 10 ©Prof. Lineu Mialaret Notação de Restrições de Cardinalidade (4) Num relacionamento muitos-para-muitos, um cliente (customer) é associado com vários (incluindo zero) empréstimos (loan) via o relacionamento devedor (borrower). Um empréstimo é associado com vários (possivelmente zero) clientes via o relacionamento devedor. Banco de Dados I Aula 5 - 11 ©Prof. Lineu Mialaret Conjunto de Entidades Fracas (1) Um conjunto de entidades fracas é representado por um retângulo com linhas duplas. O discriminador (chave parcial) de um conjunto de entidades fracas é sublinhado com linhas pontilhadas. O atributo numero-pagamento (payment-number) é o discriminador do conjunto de entidades pagamento (payment). Os atributos (numero-emprestimo, numero-pagamento) constituem a chave primária da entidade pagamento. Banco de Dados I Aula 5 - 12 ©Prof. Lineu Mialaret Conjunto de Entidades Fracas (2) Obs: linhas que conectam as entidades aos relacionamentos em negrito (boldface) significam participação total da entidade conectada no referido relacionamento. Linhas que conectam as entidades aos relacionamentos sem negrito (sem boldface) significam participação opcional da entidade conectada. Banco de Dados I Aula 5 - 13 ©Prof. Lineu Mialaret Notação no MER A notação utilizada no Diagrama Entidade Relacionamento – DER não é padronizada. Existem diversas notações disponíveis: Chen Engenharia da Informação – James Martin (“pé-de-galinha”) Bachman IDEF1X (US Air Force) As ferramentas CASE de modelagem de dados também não tem uma notação padronizada: Developer, da Oracle ERWIN, da Computer Associates Data Modeler, da Rational PowerDesigner, da Sybase Neste curso de BD 1, serão apresentadas e usadas as notações de Chen e da Engenharia PowerDesigner e outras). Banco de Dados I Aula 5 - 14 da Informação (ferramenta ©Prof. Lineu Mialaret Notação no MER – Chen (1) Banco de Dados I Aula 5 - 15 ©Prof. Lineu Mialaret Notação no MER – Chen (2) Banco de Dados I Aula 5 - 16 ©Prof. Lineu Mialaret Notações Alternativas do MER Banco de Dados I Aula 5 - 17 ©Prof. Lineu Mialaret Notação da Engenharia da Informação (1) Entidade 2 Entidade 1 Attributo 1 Attributo 2 Attributo 1 Attributo 2 Representação de Entidades e Atributos (mais atributo chave) na notação da Engenharia da Informação. Banco de Dados I Aula 5 - 18 ©Prof. Lineu Mialaret Notação da Engenharia da Informação (2) Entidade 1 Attributo 1 Attributo 2 Entidade 2 Nome do Relacionamento Attributo 1 Attributo 2 Representação de relacionamento (1:1) com participação opcional de ambas as entidades envolvidas. Banco de Dados I Aula 5 - 19 ©Prof. Lineu Mialaret Notação da Engenharia da Informação (3) Entidade 1 Attributo 1 Attributo 2 Entidade 2 Nome do Relacionamento Attributo 1 Attributo 2 Representação de relacionamento (1:1) com participação opcional de apenas uma das entidades envolvidas. Banco de Dados I Aula 5 - 20 ©Prof. Lineu Mialaret Notação da Engenharia da Informação (4) Entidade 1 Attributo 1 Attributo 2 Entidade 2 Nome do Relacionamento Attributo 1 Attributo 2 Representação de relacionamento (1:1) com participação obrigatória das entidades envolvidas. Banco de Dados I Aula 5 - 21 ©Prof. Lineu Mialaret Notação da Engenharia da Informação (5) Entidade 1 Attributo 1 Attributo 2 Entidade 2 Nome do Relacionamento Attributo 1 Attributo 2 Representação de relacionamento (1:M) com participação opcional das entidades envolvidas. Banco de Dados I Aula 5 - 22 ©Prof. Lineu Mialaret Notação da Engenharia da Informação (6) Entidade 1 Attributo 1 Attributo 2 Entidade 2 Nome do Relacionamento Attributo 1 Attributo 2 Representação de relacionamento (1:M) com participação obrigatória do lado 1 e opcional do lado M. Banco de Dados I Aula 5 - 23 ©Prof. Lineu Mialaret Notação da Engenharia da Informação (7) Entidade 1 Attributo 1 Attributo 2 Entidade 2 Nome do Relacionamento Attributo 1 Attributo 2 Representação de relacionamento (1:M) com participação obrigatória de ambas as entidades. Banco de Dados I Aula 5 - 24 ©Prof. Lineu Mialaret Notação da Engenharia da Informação (8) Entidade 1 Attributo 1 Attributo 2 Entidade 2 Nome do Relacionamento Attributo 1 Attributo 2 Representação de relacionamento (M:M) com participação opcional de ambas as entidades. Banco de Dados I Aula 5 - 25 ©Prof. Lineu Mialaret Notação da Engenharia da Informação (9) Entidade 1 Attributo 1 Attributo 2 Entidade 2 Nome do Relacionamento Attributo 1 Attributo 2 Representação de relacionamento (M:M) com participação obrigatória de ambas as entidades. Banco de Dados I Aula 5 - 26 ©Prof. Lineu Mialaret Notação da Engenharia da Informação (10) Entidade 1 Attributo 1 Attributo 2 Entidade 2 Nome do Relacionamento papel 2 Attributo 1 Attributo 2 papel 1 Representação de relacionamento (M:M) com participação obrigatória de ambas as entidades, mais os nomes dos papéis. Banco de Dados I Aula 5 - 27 ©Prof. Lineu Mialaret Notação da Engenharia da Informação (11) Entidade 1 Attributo 1 Attributo 2 Entidade 2 Nome do Relacionamento papel 1 Attributo 1 Attributo 2 papel 2 Representação de um relacionamento (1:M) com participação obrigatória de ambas as entidades, mais os nomes dos papéis e a Entidade 2 caracterizada como uma entidade fraca. Banco de Dados I Aula 5 - 28 ©Prof. Lineu Mialaret Exercício de Modelagem (Chen) Uma locadora de veículos tem uma agência, a qual possui vários automóveis usados para alugar. Os automóveis são classificados pelo seu porte (pequeno, médio e grande) e têm um preço do aluguel (R$/dia) definido pelo porte. A locadora precisa armazenar os dados de seus veículos e movimentações financeiras, bem como seus clientes devem ter sua informações (nome, CPF, endereço e telefone) disponibilizadas de forma permanente. Banco de Dados I Aula 5 - 29 ©Prof. Lineu Mialaret