Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Disciplina: Análise Estruturada de Sistemas Modelagem de Dados Relacionamento entre Entidades Profa. Tânia Mara Paiva de Oliveira Modelo Entidade Relacionamento MER Tem como objetivo auxiliar na especificação dos dados do sistema O modelo de dados é representado graficamente através de um Diagrama de Entidade-Relacionamento (DER). Principais conceitos do MER: Entidades Atributos e Relacionamentos Entidade Conjunto de objetos semelhantes do mundo real sobre os quais se deseja armazenar informações no banco de dados. São as Tabelas dos BD relacionais. Pode representar: Objetos concretos um Funcionário Objetos abstratos um Departamento Departamento Contabilidade Financeiro Jurídico Pessoal Funcionário José Pedro Paulo Maria E Atributo É uma propriedade ou característica que descreve uma Entidade. Um conjunto de atributos descreve uma Entidade. Funcionario numMatrFunc nomeFunc enderecoFunc Departamento codDep desDep Relacionamento entre Entidades No mundo real as entidades nunca estão sozinhas; normalmente estão associadas entre si. Relacionamento: é uma relação entre uma, duas ou várias entidades. Geralmente, associamos através da ação (verbo) entre as entidades. Ex.: Pai _ possui _ Filho Cliente _ realiza _ Pedido Vendedor _ vende _ Produto Funcionario _trabalha_Departamento Relacionamento Associação entre entidades Representado através de um losângulo e linhas que ligam as entidades relacionadas Como expressar que José trabalha no Departamento de Pessoal, Paulo na Contabilidade…? Empregado Departamento trabalha Jose Pedro Paulo Maria Contabilidade Financeiro Jurídico Pessoal Relacionamento entre Entidades Representação em um DER – Diagrama de Entidade-Relacionamento Pompilho,cap10 Varias Diagrama Entidade Relacionamento Várias formas de representação Chave Primária ou Primary Key Toda classe de entidades possui pelo menos um atributo ou conjunto de atributos que sirva como identificador (atributo chave). Diferenciamos um atributo chave dos demais atributos colocando: um * (asterisco) antes do nome do atributo ou sublinhando o nome do atributo ou colocando @ antes do nome do atributo; vai depender de qual autor ou ferramenta estaremos utilizando. Chave Primária ou Primary Key Atributo identificador, sem repetição em uma tabela. Desta forma não se permite inclusão de linhas duplicadas Empregado matrEmp nomeEmp foneEmp enderEmp ufEmo Departamento codDep desDep Chave Primária ou Primary Key Empregado (PK) matrEmp (int,5) nomeEmp (varchar,30) foneEmp (varchar,11) enderEmp (varchar,30) ufEmp (varchar,2) matrEmp nomeEmp foneEmp enderEmp ufEmp 1 MARIA 332 RUAX, 1 MG 2 MARIA 330 RUA X, 2 MG 3 NAIARA 321 RUAW, 4 MG Atributo identificador, sem repetição em uma tabela. Chave Estrangeira x Relacionamento entre Entidades Departamento (PK) codDep (int,5) desDep (varchar,15) 1 N Empregado (PK) matrEmp (int,5) (FK) codDep (int,5) nomeEmp (varchar,30) foneEmp (varchar,11) enderEmp (varchar,30) ufEmp (varchar,2) Chave estrangeira (FK): atributo que identifica uma chave de outra tabela, criando desta forma um relacionamento. Chave Primária ou Primary Key ALUNO COD_MATR (INT,5) DES_NOM (VARCHAR,30) NUM_TEL (VARCHAR,11) DES_END (VARCHAR,30) DES_UF (VARCHAR,2) TURMA COD_TURMA (INT,5) NUM_SALA (VARCHAR,5) Suponha que o sistema tenha as duas tabelas a seguir, com suas respectivas chaves primárias N N Chave Estrangeira ou Foreign Key ALUNO (PK) COD_MATR (INT,5) DES_NOM (VARCHAR,30) NUM_TEL (VARCHAR,11) DES_END (VARCHAR,30) DES_UF (VARCHAR,2) TURMA_ALUNO (PK) (FK) COD_MATR (INT,5) (PK) (FK) COD_TURMA (INT,5) 1 N Chave Estrangeira: atributo que identifica uma chave de outra tabela, criando desta forma um relacionamento TURMA (PK) COD_TURMA (INT,5) NUM_SALA (VARCHAR,5) 1 N Chave Estrangeira ou Foreign Key COD_MATR DES_NOM NUM_TEL DES_END DES_UF 1 MARIA 332 RUAX, 1 MG 2 MARIA 330 RUA X, 2 MG 3 NAIARA 321 RUAW, 4 MG COD_MATR COD_TURMA 1 2 1 3 2 2 COD_TURMA NUM_SALA 1 345 2 346 3 347 COD_MATR =1, está matriculada em COD_TURMA = 2 NUM_SALA = 346 e COD_TURMA = 3 NUM_SALA = 347 Atributo Telefones Endereço Rua Cidade Estado Cidade ValorTotal SiglaDepto . . . . . Cardinalidade de Relacionamento Propriedade dos relacionamentos que especifica quantas ocorrências de uma entidade podem estar associadas a uma determinada ocorrência de outra entidade Empregado Departamento trabalha 1 N Empregado Departamento gerencia 1 1 Cardinalidade de Relacionamento Pompilho,cap10 Cardinalidade de Relacionamento Cardinalidade máxima: define o número máximo de ocorrências de uma entidade que poderá estar associada a outra entidade. Cardinalidade mínima:define o número mínimo de ocorrências de uma entidade que poderá estar associada a outra entidade. Só consideramos duas cardinalidades mínimas: 0 (opcional) e 1 (obrigatória) para fins de projeto de BD relacional. Ex: Um Vendedor pode estar associado a nenhum ou apenas um tipo de Produto? Ou dois? Ou três? Um Produto pode ser vendido por apenas um Vendedor ou por vários? (* ou n) Cardinalidade de Relacionamento x Grau de Relacionamento Grau do relacionamento: É a quantidade de entidades que estão ligadas ao relacionamento. Relacionamento Unário, Binário, Ternário, Quaternário.... Cardinalidade de Relacionamento: Propriedade dos relacionamentos que especifica quantas ocorrências de uma entidade podem estar associadas a uma determinada ocorrência de outra entidade (1:1) ou (0:1) (1:N) ou (0:N) (N:N) Cardinalidade de Relacionamento Exercício Pompilho,cap10 Cardinalidade de Relacionamento Exercício Pompilho,cap10 Cardinalidade e Grau de Relacionamento tem Relacionamento Binário Um-para-Muitos (1:n) Cardinalidade de Relacionamento Exercício Pompilho,cap10 Cardinalidade de Relacionamento Exercício Pompilho,cap10 n Cardinalidade e Grau de Relacionamento ALUNO (PK) COD_MATR (INT,5) DES_NOM (VARCHAR,30) NUM_TEL (VARCHAR,11) DES_END (VARCHAR,30) DES_UF (VARCHAR,2) TURMA_ALUNO (PK) (FK) COD_MATR (INT,5) (PK) (FK) COD_TURMA (INT,5) 1 N Relacionamento Binário Muitos-para-Muitos (n:m) TURMA (PK) COD_TURMA (INT,5) NUM_SALA (VARCHAR,5) 1 N Cardinalidade e Grau de Relacionamento Relacionamento Binário Muitos-para-Muitos (n:m) FORNECIMENTO Cardinalidade de Relacionamento Exercício Pompilho,cap10 Cardinalidade e Grau de Relacionamento Relacionamento Unário Envolve apenas UMA entidade (PESSOA) no relacionamento De cada ocorrência de “casamento” participam uma ocorrência de marido e uma ocorrência de esposa (1,1) da entidade PESSOA “marido” e “esposa” representam os papéis no relacionamento Cardinalidade e Grau de Relacionamento Cardinalidade e Grau de Relacionamento Relacionamento Unário Envolve apenas UMA entidade (EMPREGADO) no relacionamento. De cada ocorrência de “supervisão” participa uma ocorrência de supervisor e várias ocorrências de supervisionados (1,N) da entidade EMPREGADO “supervisor” e “supervisionado” representam os papéis no relacionamento Cardinalidade e Grau de Relacionamento Ex: Cada ocorrência do relacionamento “distribuição” associa três ocorrências de entidade: um PRODUTO a ser distribuído, uma CIDADE na qual é feita a distribuição e um DISTRIBUIDOR. A abordagem ER permite que sejam definidos relacionamentos de grau maior do que dois (relacionamentos ternários, quaternários,…) Cardinalidade e Grau de Relacionamento Relacionamento Ternário No caso de um relacionamento ternário, a cardinalidade refere-se a pares de entidades. Em um relacionamento R entre três entidades A, B e C, a cardinalidade máxima de A e B dentro de R indica quantas ocorrências de C podem estar associadas a um par de ocorrências de A e B. A C B 1 n n Cardinalidade e Grau de Relacionamento Relacionamento Ternário A linha que liga a entidade DISTRIBUIDOR ao relacionamento “distribuição” expressa que cada par de ocorrências (CIDADE, PRODUTO) está associado a no máximo um DISTRIBUIDOR. Cardinalidade e Grau de Relacionamento Já os dois “n” expressam que: a um par (CIDADE, DISTRIBUIDOR) podem estar associados muitos PRODUTOS, ou em outros termos, um distribuidor pode distribuir em uma cidade muitos produtos; 1 n n Cardinalidade e Grau de Relacionamento Já os dois “n” expressam que: a um par (PRODUTO, DISTRIBUIDOR) podem estar associadas muitas CIDADES, ou em outros termos um distribuidor pode distribuir um produto em muitas cidades. 1 n n Cardinalidade de Relacionamento Exercício Pompilho,cap10 Cardinalidade de Relacionamento Exercício Pompilho,cap10 Cardinalidade de Relacionamento Exercício Qual o grau de relacionamento entre as entidades abaixo? Como se pode ler a cardinalidade entre as entidades? alocação Cardinalidade de Relacionamento Exercício Pompilho,cap10 Qual a cardinalidade entre as entidades abaixo? Cardinalidade de Relacionamento Exercício Como se projeta a entidade de banco de dados para a situação abaixo? OU DER - Diagrama de Entidade-Relacionamento do Aluno em uma Turma Cardinalidade de Relacionamento Exercício Pompilho,cap10 Referências Pompilho, S. Análise Essencial: Guia Prático de Análise de Sistemas, 2ª. Ed., Rio de Janeiro: Ciência Moderna, 2002. Apostila de Cátia Garcia Morais, catia.gm@ufpr.br, http://people.ufpr.br/~catia.gm/pdf/ibd_a2_fisico.pdf Apostila de Prof. Abrahão Lopes, abrahao.lopes@ifrn.edu.br. Instituto Federal de Ecucação, Ciência e Tecnologia. Amo, Sandra. Apostila de aula Sistema de Banco de Dados. Universidade Federal de Uberlândia. Transparências do prof. Kleber Netto Fonseca Muito Obrigado! tania.paiva@aedu.com