Modelo EntidadeRelacionamento (ER) Universidade Federal da Grande Dourados Prof. Me. Everton C. Tetila 1 Modelagem de dados usando o MER Modelo Entidade-Relacionamento (ER) Diagrama ER Modelo de dados conceitual popular de alto nível Notação diagramática associada ao modelo ER Descreve os dados como: Entidades Atributos e Relacionamentos 2 Fases do projeto de banco de dados Levantamento e análise de requisitos Minimundo Projeto Conceitual (Diagrama Entidade-Relacionamento) Nome Endereco Numero Telefone Saldo Cpf CLIENTE * POSSUI * CONTA Projeto Lógico (Modelo Relacional) Projeto Físico (Instruções SQL) #tabela cliente CREATE TABLE Cpf Nome Endereco Telefone PRIMARY KEY CLIENTE( CHAR(14), VARCHAR(45), VARCHAR(45), CHAR(13), (Cpf)); 3 Um exemplo Suponha que, depois da fase de levantamento e análise de requisitos, os projetistas de banco de dados ofereçam a seguinte descrição do minimundo: Um banco é organizado em agências. Cada banco tem um código, um nome e pode ter várias agências. Registramos o número e o endereço de cada agência. Uma agência controla uma série de contas. Desejamos saber a quantidade de contas que cada agência controla. Armazenamos o nome, número do Cadastro de Pessoa Física, sexo (gênero), telefone e endereço de cada cliente. Registramos para o endereço do cliente: rua, número, bairro, complemento, cidade, estado e CEP. Um cliente pode ter vários telefones (ex: residencial, comercial, celular) e diferentes contas que não necessariamente pertencem a uma mesma agência. De modo semelhante, uma conta pode ter mais de um titular. Queremos registrar as contas de cada cliente para fins de controle. Para cada conta, mantemos o número, o saldo e o seu tipo (ex: corrente, poupança). 4 Um exemplo 5 Entidade Entidade É um conjunto de objetos do mundo real sobre os quais se deseja manter informações no banco de dados Representada através de um retângulo Pode representar: Departamento objetos concretos (uma pessoa) objetos abstratos (um departamento) Empregado João Pedro Paulo Maria Contabilidade Financeiro Jurídico Pessoal Possui propriedades Atributos e Relacionamentos 6 Entidade Exemplos de Entidades: Sistema Bancário Cliente Conta Agência Banco Sistema de Ambiente Empresarial Produto Empregado Departamento Cliente 7 Entidade-fraca Entidade-fraca É identificada por estar relacionada a uma entidades proprietária Empregado Dependente 8 Atributo É um dado que é associado a cada ocorrência de uma entidade ou de um relacionamento Representado através de um oval Cpf Nome Endereco Empregado ou Numero Nome Departamento 9 Atributo Tipos de atributos: Simples versus composto Valor único versus multivalorados Armazenado versus derivado Valores NULL Não aplicável Desconhecido 10 Atributo Notação para diagramas ER: 11 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 12 Relacionamentos Relacionamento: É uma associação entre entidades Representado através de um losango e linhas que ligam as entidades relacionadas A nomeDoRelacionamento B 13 Relacionamentos Como expressamos que João trabalha no Departamento de Contabilidade? Empregado João Pedro Paulo Maria Trabalha_para Departamento Diagrama de Ocorrências (instâncias) Contabilidade Financeiro Jurídico Pessoal 14 Relacionamentos Exemplos de Relacionamentos Medico Consulta Cliente Possui Paciente Conta 15 Relacionamentos com Atributos Exemplo I Medico nome celular Consulta dataDaConsulta Paciente 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 nome salario Vania Pedro Gabriel Atua funcao coordenador pesquisador bolsista Projeto sigla Genoma Biodiesel 17 Restrições sobre relacionamentos Razão de cardinalidade: Especifica o número máximo ou mínimo de instâncias de relacionamento em que uma entidade pode participar: (1:1, 1:N, N:1, M:N) Existem 2 tipos de 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? 18 Restrições sobre relacionamentos Participação Especifica se a existência de uma entidade depende dela estar relacionada a outra entidade por meio do tipo de relacionamento Tipos: parcial e total Funcionario Gerencia Departamento 19 Restrições sobre relacionamentos Relacionamento de identificação Relaciona um tipo de entidade fraca a seu proprietário Sempre tem uma restrição de participação total Funcionário Possui Dependente 20 Cardinalidade Máxima 21 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 1 Departamento 22 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 N Conjunto B (Empregado) Empregado 23 Relacionamento Muitos para Muitos – M: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 Genome Pedro AATOM Paulo Biodiesel Pré sal Maria Empregado M Conjunto B (Projeto) Atua N Projeto 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) 25 Cardinalidade Mínima 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,2) Possui (1,N) Conta Exemplo de Relacionamento Opcional: Empregado (1,1) Gerencia (0,1) Departamento 26 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ório no Modelo ER movimenta Cliente (1,1) alocado Empregado (1,N) Possui Lotado É movimentada (1,N) envolve (0,N) Conta Projeto 27 Auto-Relacionamento Relacionamento entre ocorrências da mesma entidade Pessoa Empregado supervisionado (0,N) supervisor (0,1) supervisiona Marido Esposa (0,1) (0,1) casadoCom supervisionada João Pedro Paulo Maria supervisor esposa Roberto Pedro Felipe Ana marido 28 Tipos de relacionamento de grau maior que dois Graus de um tipo de relacionamento Binário Número de ocorrências de entidade que participam de cada ocorrência do relacionamento Tipo de relacionamento de grau dois Ternário Tipo de relacionamento de grau três 29 Relacionamento Binário e Ternário Binário Empregado Ternário Departamento Trabalha Fornecedor Projeto 1 Fornece N N Peça 30 Identificando Entidades Cada entidade deve ter um identificador Identificador (também conhecido como atributo chave): É o conjunto de um ou mais atributos cujos valores são distintos para cada entidade individual no conjunto de entidades Exemplo: os atributos CPF ou Carteira de Identidade identificam UNICAMENTE um cidadão brasileiro Representação no Modelo CPF CPF Nome Sexo Cliente Nome Sexo ou Cliente 31 Notação para Diagramas ER 32 Construção do Diagrama ER Passo 1: identificar entidades Passo 2: identificar relacionamentos Verbos que relacionam substantivos Passo 3: identificar atributos Substantivos Adjetivos ou substantivos Passo 4: identificar cardinalidades Concordâncias de número 33 Exemplo Identifique as entidades e os relacionamentos da seguinte descrição do minimundo: As turmas são grupos de alunos, e cada aluno pertence somente a uma turma. Cada professor ministra a mesma matéria em uma ou mais turmas. Não há mais de um professor por matéria. Uma turma recebe aulas de várias matérias e uma matéria pode pertencer a mais de uma turma. Com referência aos tipos de relacionamentos que ocorrem entre estas entidades, esboce o DER e o tipo de relacionamento para cada par de entidades apresentadas. 34 34 Colégio 35 35 Bibliografia Bibliografia Básica Elmasri, R.; Navathe S. B. Sistemas de Banco de Dados. 4 ed. Editora Addison-Wesley. 2005. Capítulo 3 Bibliografia Complementar HEUSER, C.A. Projeto de Banco de Dados. 6ª Edição. Porto Alegre. Capítulos 2 e 3 36