Aula 2 Abordagem Entidade-Relacionamento Cleverton Hentz
Sumário da Aula Modelo Entidade Relacionamento Diagrama de Entidade Relacionamento Casos de Uso 2
Introdução É uma técnica para construir modelos conceituais de base de dados; É a técnica de modelagem de dados mais difundida e utilizada; Criada por Peter Chen em 1976; Não é a única existente: NIAM/ORM: Técnica européia criada na década de 70; UML: Técnica de modelagem orientada à objetos. 3
Introdução Um modelo de dados é representado através de um modelo entidade-relacionamento (modelo ER); O modelo ER é representado graficamente através de uma diagrama de entidade relacionamento (DER); 4
Conceitos Centrais da Abordagem ER Existem três conceitos centrais que fundamentar a abordagem, são eles: Entidade; Relacionamento; Atributo. Outros conceitos importantes são: Generalização/especialização; Entidade associativa. 5
Entidade Conjunto de objetos da realidade modelada sobre os quais deseja-se manter informações no banco de dados; Uma entidade pode representar: Objetos concretos da realidade: Produtos, Clientes e Cheques. Objetos abstratos: Tipos de produto, Vendas, Compras e Contas correntes. Uma entidade é representada por um retângulo que contém em seu centro o seu nome: Produto 6
Entidade Uma entidade representa um conjunto de objetos; Uma instância é um destes objetos que é representado pela entidade; Exemplos: Entidades: Produtos e Carros. Instâncias: Caneta Bic Azul e Gol 2010 Preto; 7
Propriedades das Entidades Uma entidade isoladamente não representa bem a realidade modelada; É necessário então atribuir propriedades às entidades; Em um modelo ER as propriedades são especificadas através de: Relacionamentos; Atributos; Generalizações/especializações. 8
Relacionamento Um relacionamento é um conjunto de associações entre entidades sobre as quais deseja-se manter informações no banco de dados; Logo as instâncias das entidades também estão relacionadas. Uma instância ou ocorrência é uma associação especifica entre duas instâncias das entidades relacionadas; 9
Exemplo de Relacionamento Departamento Lotação Empregado Uma instância de Lotação é: Um par específico com uma instância de Departamento e outra de Empregado. 10
Diagrama de Ocorrência Utilizado para auxiliar a visualização de um relacionamento; 11
Tipo Especial de Relacionamento: Auto- Relacionamento Uma relação entre a mesma entidade; Suas instâncias se relacionam com outras instâncias; Nestes casos é importante a utilização de papéis: Um papel é um nome que se da a uma instância de uma entidade dentro da relação; Não é comum a utilização de papéis em relacionamentos tradicionais. Pessoa marido esposa Casamento 12
Diagrama de Ocorrências do Auto- Relacionamento 13
Cardinalidade de Relacionamentos A cardinalidade é uma propriedade importante dos relacionamentos; Ela define o número de instâncias de uma entidade que podem estar associadas a uma determinada instância de entidade através do relacionamento; Existem duas informações referentes à cardinalidade de um relacionamento: Cardinalidade máxima; Cardinalidade mínima. 14
Cardinalidade Máxima Para um projeto de BD relacional não é necessário distinguir possíveis cardinalidades máximas maiores que1; Logo, dois valores para esta cardinalidade são utilizados: Cardinalidade máxima: 1 Cardinalidade máxima: n (qualquer valor maior que 1). 15
Notação para Cardinalidade Máxima A cardinalidade da entidade na relação é anotada no lado oposto da entidade: 1 no lado esquerdo refere-se à cardinalidade de Empregado; n no lado direito refere-se à cardinalidade de Departamento. Lê-se que um empregado deve ter um departamento e um departamento pode ter um ou mais empregados. 1 n Departamento Lotação Empregado 16
Classificação de Relacionamentos A cardinalidade máxima pode ser utilizada para classificar relacionamentos binários (aqueles entre apenas duas entidades); Tipos de relacionamentos binários: n:n (muitos-para-muitos) 1:n (um-para-muitos) 1:1 (um-para-um) 17
Relacionamento Um-para-Um (1:1) Caracteriza uma relação entre apenas uma instância de cada entidade envolvida; Não é tão comum achar relacionamentos deste tipo; Exemplos: Marido e Esposa; Empregado e Mesa; CPF e Pessoa. Pessoa marido 1 1 esposa Casamento 18
Relacionamento Um-para-Muitos (1:n) Cada instância de uma entidade pode se relacionar com uma ou mais instâncias da outra entidade; Tipo de relação bastante comum; Empregado Exemplos: Departamento e Empregados; Carros e Peças; Pais e Filhos; 1 n supervisor supervisionado Supervisão 1 n Departamento Lotação Empregado 19
Relacionamento Muitos-para-Muitos(n:n) Cada instância ambas as entidades podem estar relacionadas com um ou mais instâncias; Exemplos: Engenheiro e Projetos; Professor e Alunos; Computador e Usuários; n n Médico Consulta Paciente 20
Exercícios Qual a cardinalidade máxima dos relacionamentos abaixo:?? Paciente Faz Exame?? Engenheiro Possui CREA Faça um relacionamento com as informações de cardinalidade para o cenário de uma escola. 21
Relacionamento Ternário Relacionamento em que três entidade estão envolvidas; Este conceito de relacionamento pode ser expandido para n entidades. Cidade Distribuidor Distribuição Produto 22
Cardinalidade de Relacionamentos Ternários A cardinalidade de um relacionamento ternário se refere ao par oposto ao do número especificado; Cidade n 1 Distribuidor Distribuição n Produto 23
Cardinalidade Mínima A cardinalidade mínima define o número mínimo de instâncias de entidade que são associadas a uma ocorrência de uma entidade através de um relacionamento; Na notação a cardinalidade mínima fica localizada no lado esquerdo e a máxima no direito: 24 Ex.: (1,n), (0,1), (1,1) Quando omitida na notação seu valor é 1; Nos projetos de BD relacionais são consideradas apenas duas cardinalidades mínimas: 1 (Associação Obrigatória) : Garante que exista pelo menos uma instância no relacionamento; 0 (Associação Opcional): Define que a instância no relacionamento é opcional.
Exemplo do Uso de Cardinalidade Mínima 25
Exemplo Completo 26
Atributo Dado ou informação associado a uma instância de entidade ou relacionamento; Os atributos devem ser utilizados para manter informações sobre a entidade ou relacionamento: As Entidades são utilizadas quando se precisa manter informações sobre algo que tenha várias informações associadas (atributos) e seja essencial para o cenário modelado. 27
Atributos com Cardinalidade Para os atributos também podemos ter especificadas as cardinalidades; A cardinalidade mínima: Atributo obrigatório (cardinalidade mínima 1 ); Atributo opcional (cardinalidade mínima 0 ). A cardinalidade máxima: Atributo mono-valorado (cardinalidade máxima 1 ); Atributo multi-valorado (cardinalidade máxima n ). 28
Exemplo de Cardinalidade de Atributos 29
Exemplo de Atributos em Relacionamentos 30
Exemplo de Atributo de Relacionamento 31
Exercício Crie um DER (Diagrama de Entidade Relacionamento) contento as propriedades vistas até agora para os seguintes cenários: Locadora de Filmes; Escola; Revenda de Carros; 32