Modelo Entidade- Relacionamento 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 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 3
Modelos de Dados Abordado na Aula de Hoje Modelo conceitual (projeto conceitual) Modelo de dados abstrato que descreve a estrutura de um banco de dados independente de um SGBD ( lógico Modelo lógico (projeto Modelo de dados que representa a estrutura dos dados de um banco de dados Dependente do modelo do SGBD ( físico Modelo físico (projeto Nível de Implementação Depende do SGBD ênfase na eficiência de acesso Empregado Nome Endereço Empregado (Nome, Endereço) 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 5
Modelagem Conceitual ( ER ) Modelo Entidade Relacionamento É 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 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 Pode representar: objetos concretos (uma pessoa) objetos abstratos (um departamento) Departamento João Pedro Paulo Maria Empregado Contabilidade Financeiro Jurídico Pessoal Possui propriedades Atributos e Relacionamentos 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... 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 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 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 11
Plano de Aula Modelos de Dados O Modelo Entidade-Relacionamento Entidades Atributos Relacionamentos Definição de relacionamentos Exercícios Cardinalidade Máxima e Mínima Exercícios Relacionamentos Unários, Binários e Ternários Identificando Entidades e Relacionamentos Resumo da Aula Bibliografia Tema de Casa 12
Relacionamentos Como expressamos que João trabalha no Departamento de Contabilidade? Empregado Lotação Departamento João Pedro Paulo Maria Diagrama de Ocorrências (instâncias) Contabilidade Financeiro Jurídico Pessoal 13
Relacionamentos Relacionamento: É uma associação entre entidades Representado através de um losângulo e linhas que ligam as entidades relacionadas A nomedorelacionamento B 14
Relacionamentos Exemplos de Relacionamentos Medico Consulta Paciente Cliente ContaCliente Conta Residência Cidade 15
Relacionamentos com Atributos Exemplo I Médico esquema Consulta Paciente nome celular datadaconsulta nome endereço instâncias Dr. Paulo Dr. Flora 22/10/2007 05/02/2009 20/03/2009 Vania José 16
Relacionamentos com Atributos Exemplo II Empregado Atuação Projeto nome salario função sigla Vania Pedro Gabriel coordenador pesquisador bolsista AATOM Sinpli 17
Exercício Identifique os relacionamentos no modelo e os atributos do relacionamento (quando houver): 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 A a1 a2 a3 B b1 b2 b3 Existem 2 cardinalidades: Máxima Mínima a4 A ocorrência a1 da entidade A está relacionado a quantas Ocorrências em B? b4 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. João Contabilidade Conjunto A (Empregado) Pedro Paulo Financeiro Jurídico Maria Conjunto B (Departamento) Empregado 1 Gerencia 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 Conjunto A (Departamento) Contabilidade Financeiro João Sandro Pedro Ana Conjunto B (Empregado) Departamento 1 Lotação N 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 João Sinpli Conjunto A (Empregado) Pedro Paulo AATOM MM-TOM Conjunto B (Projeto) Maria Sigmoda Empregado N Atua N Projeto 23
Exercício Identifique as cardinalidades máximas dos relacionamentos do modelo 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: ( máxima (cardinalidade mínima, cardinalidade 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) 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 ContaCliente (1,1) (1,N) Conta Exemplo de Relacionamento Opcional: Empregado Gerencia (1,1) (0,1) Departamento 26
Atributos também podem ter Cardinalidade Monovalorado: possui um valor único em uma entidade Exemplo: nome Multivalorado: possui mais de um valor para cada ocorrência da entidade Exemplo: telefone Empregado Empregado nome Endereço Salário 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) 28
Exercício Especificar as cardinalidades mínimas e máximas dos relacionamentos 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 Cliente movimenta É movimentada (1,1) ContaCliente (1,N) Conta Empregado alocado (1,N) Atua envolve (0,N) Projeto 30
Auto-Relacionamento (Relacionamento Unário) Relacionamento entre ocorrências da mesma entidade Empregado Pessoa supervisionado (0,N) supervisiona supervisor (1,1) Marido (0,1) casadocom Esposa (0,1) João Pedro Paulo Maria supervisionada supervisor Roberto Pedro Felipe Ana esposa marido 31
Relacionamento Binário e Ternário Binário Empregado trabalha (1,N ) (1,1 ) Departamento Ternário Cidade Distribuidor (1,N) distribuição (1,N) (1,1) Produto 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 33
34
Exercício - Resposta CPF Nome Salario Professor (1,1) (1,1) regência atuação (1,N) (0,N) (0,N) (1,N) (1,1) (0,N) Aluno Matrícula Turma da Disciplina CPF Matricula nome Numero Sala horario 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 Prateleira 36
Identificando Relacionamentos Quando parte da chave é um relacionamento Exemplo: CPF do Empregado e numero sequencial na entidade Dependente Cpf Nome Endereco Empregado Dependente Numero Nome Entidade Fraca: entidade sem chave A entidade é identificada por algum atributo da entidade + algum relacionamento Entidade Forte: entidade com chave A entidade é identificada por atributos da própria entidade Chave=CPF + numero 37
Relacionamento com Atributo Identificador Médico Consulta Paciente datadaconsulta CRM nome celular CPF nome endereço Dr. Paulo Dr. Flora 22/10/2007 05/02/2009 20/03/2009 Vania José 38
Exercício Identifique os atributos chave das entidades e relacionamentos 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 40
Resumo Aula de Hoje Entidades Atributos Relacionamentos 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 Entidade Conjunto Conjunto de entidades Classe Departamento Elemento do conjunto Instância ou ocorrência Entidade objeto Contabilidade Financeiro Jurídico Pessoal Heuser Peter Chen 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 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. 44