Modelo EntidadeRelacionamento 1 Plano de Aula Modelos de Dados (Revisão) O Modelo Entidade-Relacionamento Entidades Atributos Relacionamentos Identificando Entidades e Relacionamentos Resumo da Aula Bibliografia Tema de Casa Modelo Entidade-Relacionamento (ER) 2 Modelos de Dados Modelo de dados: Descrição formal da estrutura de um banco de dados Modelos propostos: Modelo conceitual Modelo Lógico Modelo Físico Minimundo Projeto Conceitual Níveis De Abstração Projeto Lógico Projeto Físico Modelo Entidade-Relacionamento (ER) 3 Abordado na Aula de Hoje Modelos de Dados Modelo conceitual (projeto conceitual) Modelo de dados abstrato que descreve a estrutura de um banco de dados independente de um SGBD Empregado Modelo lógico (projeto lógico) Nome Endereço Modelo de dados que representa a estrutura dos dados de um banco de dados Dependente do modelo do SGBD Empregado (Nome, Endereço) Modelo físico (projeto físico) Nível de Implementação Depende do SGBD ênfase na eficiência de acesso Modelo Entidade-Relacionamento (ER) 4 Plano de Aula Modelos de Dados O Modelo Entidade-Relacionamento Entidades Atributos Relacionamentos Identificando Entidades e Relacionamentos Resumo da Aula Bibliografia Tema de Casa Modelo Entidade-Relacionamento (ER) 5 Modelagem Conceitual Modelo Entidade Relacionamento (ER) É a técnica mais conhecida Tem como objetivo auxiliar na especificação geral do sistema O modelo de dados é representado graficamente através de um Diagrama de Entidade-Relacionamento (DER). Principais conceitos do Modelo ER são: Entidades Atributos e Relacionamentos Notação: Criada por Peter Chen em 1976 Notação usada: Heuser Modelo Entidade-Relacionamento (ER) 6 Entidade Entidade É um conjunto de objetos do mundo real sobre os quais se deseja manter informações no banco de dados É distinguível de outros objetos Representada através de um retângulo Departamento Pode representar: objetos concretos (uma pessoa) objetos abstratos (um departamento) Empregado João Pedro Paulo Maria Contabilidade Financeiro Jurídico Pessoal Possui propriedades Atributos e Relacionamentos Modelo Entidade-Relacionamento (ER) 7 Entidade Exemplos de Entidades: Sistema Bancário Cliente Conta Corrente Conta Poupança Agência Sistema de Controle de Produção de Industria Produto Empregado Departamento Estoque ... Modelo Entidade-Relacionamento (ER) 8 Plano de Aula Modelos de Dados O Modelo Entidade-Relacionamento Entidades Atributos Relacionamentos Identificando Entidades e Relacionamentos Resumo da Aula Bibliografia Tema de Casa Modelo Entidade-Relacionamento (ER) 9 Atributo É um dado que é associado a cada ocorrência de uma entidade ou de um relacionamento Exemplos de atributos de entidades: Empregado Nome Endereço Salário Departamento Modelo Entidade-Relacionamento (ER) Descrição númeroDeFuncionários 10 Exercício Considerando um sistema acadêmico, envolvendo entidades que todos conhecemos, defina pelo menos 3 atributos para cada uma das entidades Aluno Professor Disciplina Turma Modelo Entidade-Relacionamento (ER) 11 Plano de Aula Modelos de Dados O Modelo Entidade-Relacionamento Entidades Atributos Relacionamentos Definição de relacionamentos Cardinalidade Máxima e Mínima Exercícios Exercícios Relacionamentos Unários, Binários e Ternários Identificando Entidades e Relacionamentos Resumo da Aula Bibliografia Tema de Casa Modelo Entidade-Relacionamento (ER) 12 Relacionamentos Como expressamos que João trabalha no Departamento de Contabilidade? Empregado João Pedro Paulo Maria Lotação Departamento Diagrama de Ocorrências (instâncias) Contabilidade Financeiro Jurídico Pessoal Modelo Entidade-Relacionamento (ER) 13 Relacionamentos Relacionamento: É uma associação entre entidades Representado através de um losângulo e linhas que ligam as entidades relacionadas A nomeDoRelacionamento Modelo Entidade-Relacionamento (ER) B 14 Relacionamentos Exemplos de Relacionamentos Medico Cliente Consulta ContaCliente Paciente Conta Residência Cidade Modelo Entidade-Relacionamento (ER) 15 Relacionamentos com Atributos Exemplo I Médico nome celular esquema Consulta dataDaConsulta Paciente nome endereço instâncias Dr. Paulo Dr. Flora 22/10/2007 05/02/2009 20/03/2009 Modelo Entidade-Relacionamento (ER) Vania José 16 Relacionamentos com Atributos Exemplo II Atuação Empregado nome salario Vania Pedro Gabriel função coordenador pesquisador bolsista Modelo Entidade-Relacionamento (ER) Projeto sigla AATOM Sinpli 17 Exercício Identifique os relacionamentos no modelo e os atributos do relacionamento (quando houver): Modelo Entidade-Relacionamento (ER) 18 Cardinalidade de Relacionamentos Uma propriedade importante dos relacionamentos é a especificação de quantas ocorrências de uma entidade podem estar associadas a uma determinada ocorrência de outra entidade Existem 2 cardinalidades: Máxima Mínima A B a1 b1 a2 b2 a3 b3 a4 b4 A ocorrência a1 da entidade A está relacionado a quantas Ocorrências em B? Modelo Entidade-Relacionamento (ER) 19 Cardinalidade Máxima 20 Relacionamento Um para Um – 1:1 Uma ocorrência de A está associada a no máximo uma ocorrência de B, e uma ocorrência em B está associada a no máximo uma ocorrência em A. Conjunto A (Empregado) João Contabilidade Pedro Financeiro Jurídico Paulo Maria Empregado 1 Conjunto B (Departamento) Gerencia Modelo Entidade-Relacionamento (ER) 1 Departamento 21 Relacionamento Um para Muitos – 1:N Uma ocorrência de A está associada a várias ocorrências de B, porém uma ocorrência de B deve estar associada a no máximo uma ocorrência em A João Conjunto A (Departamento) Contabilidade Sandro Financeiro Pedro Ana Departamento 1 Lotação Modelo Entidade-Relacionamento (ER) N Conjunto B (Empregado) Empregado 22 Relacionamento Muitos para Muitos – M:N ou N:N Uma ocorrência de A está associada a qualquer número de ocorrências de B, e uma ocorrência em B está associada a qualquer número de ocorrências em A Conjunto A (Empregado) João Sinpli Pedro AATOM Paulo MM-TOM Sigmoda Maria Empregado N Conjunto B (Projeto) Atua Modelo Entidade-Relacionamento (ER) N Projeto 23 Exercício Identifique as cardinalidades máximas dos relacionamentos do modelo ER Modelo Entidade-Relacionamento (ER) 24 Cardinalidade Mínima O modelo ER permite expressar cardinalidades mínimas e máximas em cada relacionamento Cardinalidade Mínima: número mínimo de ocorrências de uma entidade A com relação a uma outra entidade B Representação: (cardinalidade mínima, cardinalidade máxima) Cardinalidades Possíveis: (1,1); (1,N); (0,1);(0,N);(N,N) Cardinalidade mínima = 1 (relacionamento obrigatório) Cardinalidade mínima = 0 (relacionamento opcional) Modelo Entidade-Relacionamento (ER) 25 Cardinalidade Mínima e Máxima Exemplo de Relacionamento Obrigatório: cada ocorrência de cliente está relacionado a no mínimo quantas contas e no máximo quantas contas? Cada ocorrência de conta está relacionada a no mínimo quantos clientes e no máximo quantos clientes? Cliente (1,1) ContaCliente (1,N) Conta Exemplo de Relacionamento Opcional: Empregado (1,1) Gerencia Modelo Entidade-Relacionamento (ER) (0,1) Departamento 26 Atributos também podem ter Cardinalidade Monovalorado: possui um valor único em uma entidade Exemplo: nome Empregado nome Endereço Salário Multivalorado: possui mais de um valor para cada ocorrência da entidade Exemplo: telefone Empregado Modelo Entidade-Relacionamento (ER) nome Endereço Salário telefone (0,N) 27 Atributos também podem ter Cardinalidade Cardinalidade mínima 1: atributo obrigatório 0: atributo opcional Cardinalidade máxima 1: atributo monovalorado N: atributo multivalorado Cliente nome Endereço (1,N) TELEFONE (0,N) Modelo Entidade-Relacionamento (ER) 28 Exercício Especificar as cardinalidades mínimas e máximas dos relacionamentos Modelo Entidade-Relacionamento (ER) 29 Relacionamentos e Papéis Papel é a função que uma ocorrência da entidade cumpre dentro de uma ocorrência do relacionamento Não é obrigatória no Modelo ER movimenta Cliente É movimentada (1,1) ContaCliente (1,N) alocado Empregado (1,N) Atua Modelo Entidade-Relacionamento (ER) envolve (0,N) Conta Projeto 30 Auto-Relacionamento (Relacionamento Unário) Relacionamento entre ocorrências da mesma entidade Pessoa Empregado supervisionado (0,N) supervisor (1,1) supervisiona Marido Esposa (0,1) (0,1) casadoCom supervisionada João Pedro Paulo Maria supervisor Modelo Entidade-Relacionamento (ER) esposa Roberto Pedro Felipe Ana marido 31 Relacionamento Binário e Ternário Binário Empregado Ternário (1,N ) trabalha Cidade (1,N) (1,1 ) Departamento Distribuidor distribuição (1,1) (1,N) Produto Modelo Entidade-Relacionamento (ER) 32 Plano de Aula Modelos de Dados O Modelo Entidade-Relacionamento Entidades Atributos Relacionamentos Identificando Entidades e Relacionamentos Resumo da Aula Bibliografia Tema de Casa Modelo Entidade-Relacionamento (ER) 33 Modelo Entidade-Relacionamento (ER) 34 Exercício - Resposta CPF Nome Salario Professor (1,1) regência (1,1) atuação (0,N) (1,N) Aluno CPF Matricula nome Matrícula (0,N) (0,N) (1,N) Turma Numero Sala horario Modelo Entidade-Relacionamento (ER) (1,1) da Disciplina Codigo nome numeroCreditos 35 Identificando Entidades Cada entidade deve ter um identificador Identificador (também conhecido como chave): É o conjunto de um ou mais atributos ou relacionamentos cujos valores servem para distinguir uma ocorrência da entidade das demais ocorrências da mesma entidade Exemplo: os atributos CPF ou Carteira de Identidade identificam UNICAMENTE um cidadão brasileiro Representação no Modelo CPF Nome Endereco Cliente NumeroCorredor NumeroPrateleira Modelo Entidade-Relacionamento (ER) Prateleira 36 Identificando Relacionamentos Quando parte da chave é um relacionamento Cpf Nome Endereco Empregado Numero Nome Dependente Entidade Fraca: entidade sem chave Exemplo: CPF do Empregado e numero sequencial na entidade Dependente Chave=CPF + numero A entidade é identificada por algum atributo da entidade + algum relacionamento Entidade Forte: entidade com chave A entidade é identificada por atributos da própria entidade Modelo Entidade-Relacionamento (ER) 37 Relacionamento com Atributo Identificador Consulta Médico CRM dataDaConsulta nome celular Dr. Paulo Dr. Flora 22/10/2007 05/02/2009 20/03/2009 Modelo Entidade-Relacionamento (ER) Paciente CPF nome endereço Vania José 38 Exercício Identifique os atributos chave das entidades e relacionamentos Modelo Entidade-Relacionamento (ER) 39 Plano de Aula Modelos de Dados O Modelo Entidade-Relacionamento Entidades Atributos Relacionamentos Identificando Entidades e Relacionamentos Resumo da Aula Bibliografia Tema de Casa Modelo Entidade-Relacionamento (ER) 40 Resumo Aula de Hoje Entidades Atributos Relacionamentos Modelo Entidade-Relacionamento (ER) 41 Terminologia Entidade e instância Para referir-se a um objeto particular fala-se em instância ou ocorrência de entidade Diferentes terminologias Conjunto Elemento do conjunto Entidade Instância ou ocorrência Conjunto de entidades Entidade Classe objeto Heuser Peter Chen Departamento Contabilidade Financeiro Jurídico Pessoal Modelo Entidade-Relacionamento (ER) Orientação a Objetos (Bush) 42 Bibliografia Bibliografia Básica HEUSER, C.A. Projeto de Banco de Dados. 6ª Edição. Porto Alegre. Capítulos 2 e 3 Bibliografia Complementar Korth, H. F.; Sudarshan, S; Silberschatz, A. Sistema de Banco de Dados. 5a ed. Editora Campus, 2006. - Capítulo 6 Elmasri, R.; Navathe S. B. Sistemas de Banco de Dados. 4 ed. Editora Addison-Wesley. 2005. - Capítulo 3 Modelo Entidade-Relacionamento (ER) 43 Exercício Proposto Construa um diagrama ER para a biblioteca descrita abaixo. O acervo de uma biblioteca é composto por exemplares de livros. Cada livro é caracterizado por um ou mais autores, um título, uma editora, local de edição, um código ISBN e um conjunto de palavras-chave. A biblioteca possui pelo menos um exemplar de cada livro, numerados seqüencialmente (exemplares 1, 2, 3, etc). Os associados da biblioteca podem retirar exemplares dos livros. Cada associado pode levar emprestado no máximo três exemplares. Para cada empréstimo é registrada a data em que este foi realizado. Cada associado possui um código, um nome e endereço. Modelo Entidade-Relacionamento (ER) 44