Tópico: Modelagem CONTEÚDO PROGRAMÁTICO
INTRODUÇÃO Algumas definições: Modelo: Abstração da Realidade Esquema Instância Cliente Nome Cidade Rua João Ouro Preto Albino Sartori Antônio Mariana Sete Setembro José Descalvado Piracicaba Esquema Instância Figura 1 Esquema X Instância ABORDAGEM ER (ENTIDADE-RELACIONAMENTO) O objetivo do modelo E-R é representar a estrutura lógica do banco de dados de alguma aplicação. O modelo E-R é chamado de Modelagem Conceitual, cujo objetivo é representar de uma forma abstrata, independente da implementação em computador, os dados que serão armazenados no banco de dados. A técnica de modelagem mais usada é a Abordagem Entidade- Relacionamento (ER). O modelo de dados é representado graficamente através de um Diagrama de Entidade-Relacionamento (DER).
MODELO ENTIDADE RELACIONAMENTO: MER Linguagem de Modelagem Gráfica É uma É utilizado como ferramenta Projeto (Modelagem Conceitual dos Dados) Baseada ENTIDADE ATRIBUTO RELACIONAMENTO TERMOS UTILIZADOS MODELO CONCEITUAL (Visão de Negócio) Entidade Relacionamento Atributo Identificador Único PROJETO LÓGICO (Visão de Sistema) Tabela Chave Estrangeira Coluna Chave Primária ou Chave Única
ENTIDADE Conjunto de instâncias da realidade modelada sobre os quais deseja-se manter informações no banco de dados. ENTIDADES CLIENTE PRODUTO CARGO PAULO AUGUSTO, JAIR SILVA CHINELO, TÊNIS INSTÂNCIAS PILOTO, CONTROLADOR DE VÔO Tabela 1 Diferença Entre Entidade e Instância ENTIDADE - REPRESENTAÇÃO Representada graficamente por um retângulo; Nome da entidade no singular; Nome em maiúsculo. CLIENTE PRODUTO FORNECEDOR Figura 2 Representação de Entidades
ATRIBUTO São propriedades da entidade que necessitam ser armazenadas. Entidades CLIENTE PRODUTO CARGO Atributos nome, telefone, cpf, rg, endereço código, nome, tipo. código, descrição, nome Tabela 2 Entidades e Atributos TIPOS DE ATRIBUTO CLIENTE telefones código endereço estado civil Figura 3 Tipos de Atributos Atributo multivalorado: -Corresponde a vários números telefônicos Atributo atômico: -Corresponde a um único valor Atributo Composto: -rua, número, bairro, cep, cidade, uf Atributo Nulo: - Quando uma entidade não possui valor para um determinado atributo.
IDENTIFICADOR ÚNICO CLIENTE nome telefone código Identificador Único código 1 2 3 nome Nicolas Bianca rafaela telefone 8574635 9867361 8476390 Tabela 3 Exemplo de população da tabela CLIENTE RELACIONAMENTO Um relacionamento expressa como as entidades estão associadas. É representado por um losango. PESSOA DEPARTAMENTO João Luiz Maria Afonso José Pedro A B C Figura 4 Relacionamentos
RELACIONAMENTO - 1:1 Neste grau de relacionamento, cada ocorrência de uma entidade relaciona-se com um e somente uma ocorrência de outra entidade e vice e versa. a 1 a 2 a 3 b1 b2 b3 b 4 a 4 Figura 5 Diagrama de Ocorrências: 1:1, extraído de Bertei, 2009. RELACIONAMENTO - 1:1 - DER Exemplo: BIBLIOTECA: EMPRÉSTIMO X DEVOLUÇÃO EMPRÉSTIMO 1 1 DEVOLUÇÃO Figura 6 Diagrama de Entidade-Relacionamento: 1:1
RELACIONAMENTO 1:N Uma ocorrência da entidade A está associada a váriasv ocorrências da entidades em B. Uma ocorrência da entidade B, entretanto, deve estar associada no máximo a uma ocorrência da entidade A. a 1 b1 b2 a 2 b3 b 4 A Figura 7 Diagrama de Ocorrências: 1:N B RELACIONAMENTO 1:N - DER Exemplo: PESSOA X DEPARTAMENTO Um departamento pode alocar muitas pessoas DEPARTAMENTO 1 N PESSOA Uma pessoa pode estar lotada em no máximo um departamento Figura 8 Diagrama Entidade-Relacionamento : 1:N
RELACIONAMENTO N:N Uma ocorrência de entidade em A está associada a qualquer númeron de ocorrências de entidades em B e uma ocorrência de entidade em B está associada a um número n qualquer de ocorrências de entidades em A. a 1 b1 a 2 b3 b2 a 3 b 4 a 4 A Figura 9 Diagrama de Ocorrências: N:N B RELACIONAMENTO N:N - DER Exemplo: EMPREGADO X PROJETO Um projeto pode ter vários empregados Um empregado pode trabalhar em vários projetos EMPREGADO N N PROJETO Figura 10 Diagrama de Entidade-Relacionamento: N:N
RELACIONAMENTO TERNÁRIO A abordagem ER permite relacionamentos com grau maior que dois, (ternários por exemplo), o exemplo abaixo apresenta este cenário. CIDADE N 1 DISTRIBUIDOR DISTRIBUIÇÃO N PRODUTO Figura 11 Relacionamento Ternário RELACIONAMENTO AUTO-RELACIONAMENTO Representa um relacionamento entre ocorrências da mesma entidade. FUNCIONÁRIO N 1 GERENTE Figura 12 Auto-Relacionamento
RELACIONAMENTO GENERALIZAÇÃO/ESPECIALIZAÇÃO Através deste conceito é possível atribuir propriedades particulares a um subconjunto das ocorrências (especializadas) de uma entidade genérica. cargo FUNCIONARIO código nome ENGENHEIRO SECRETARIA Crea Especialidade Idiomas Nível Figura 13 Generalização / Especialização RELACIONAMENTO GENERALIZAÇÃO/ESPECIALIZAÇÃO TOTAL (t) - se para cada ocorrência da entidade genérica existir ao menos uma ocorrència no nível especializado, caso contrário diz-se que a hierarquia é PARCIAL (p). EXCLUSIVA (e) se para cada ocorrência da entidade genérica existir no máximo uma ocorrência no nível especializado, caso contrário diz-se que a hierarquia é NÃO EXCLUSIVA/SOBREPOSTA. cargo código FUNCIONARIO nome Parcial,Exclusiva ENGENHEIRO Secretaria Crea Especialidade Idiomas Figura 14 Tipos de Especialização Nível
CARDINALIADES É uma propriedade importante do relacionamento que implementa as características da regra do negócio o qual você está modelando. CARDINALIADE MÍNIMA (0 OU 1) Definição: Segundo [Heuser[ Heuser,2009], é o número n mínimo m de ocorrências de entidades associadas a uma ocorrência de entidade através s do relacionamento. Cardinalidade: 0 é opcional pode Cardinalidade: 1 é mandatório deve Um livro obrigatoriamente tem ao menos um autor (1, ) LIVRO Autoria PESSOA (0, ) Uma pessoa pode não ser autor de um livro Figura 15 Leitura da cardinalidade Mínima
CARDINALIADE MÁXIMA (1 OU N) Definição: é o número n máximo m de ocorrências de entidades associadas a uma ocorrência de entidade através s do relacionamento. Cada livro DEVE ter UM OU MAIS autores (1,n) LIVRO (0,n) Autoria PESSOA Cada pessoa PODE ser autor de UM ou MAIS livros Figura 16 Leitura da cardinalidade máxima NOTAÇÕES DER : PETER CHEN X JAMES MARTIN codigo nome id descrição Peter Chen Empregado (0,N) (1,1) Departamento James Martin Empregado Departamento Figura 17 Exemplos de notações
DER PARCIAL DE UM SISTEMA BANCÁRIO Agencia codagencia enderecoagencia nomeagencia Clientes codcliente enderecocliente nomecliente Tipo codtipo nometipo Conta codconta codcliente (FK) Lancamento codlancamento codconta (FK) codtipo (FK) valor Poupanca codconta (FK) Corrente codconta (FK) Figura 18 DER Notação da Ferrementa ERWIN Referências Bibliográficas Date, C. J. Introdução a Sistemas de Banco de Dados. Rio de Janeiro: Elsevier, 2003. Heuser, Carlos Alberto.Projeto de Banco de Dados. 6 a ed. Porto Alegre: Bookman, 2009.
www.cruzeirodosul.edu.br Campus Liberdade R. Galvão Bueno, 868 01506-000 São Paulo SP Brasil Tel: (55 11) 3385-3000