Banco de Dados Aula 4 - Prof. Bruno Moreno 02/09/2011 Modelo de Dados • Vimos que a idéia não é nova – Arquitetura, engenharia • Objetivo – Representar ou reproduzir a estrutura e o comportamento do original, no todo ou parte • Não trata instância de entidades – Conceito semântico – Tipo entidade 14:01 Modelo de Dados “Coleção de ferramentas conceituais para descrição de dados, relacionamento entre eles, semântica e restrições de dados.” Henry F. Korth • Descrição formal da estrutura de um banco de dados 14:01 Modelo 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 14:01 Modelo de Dados Iniciamos na aula passada • Modelo conceitual (projeto conceitual) – Modelo de dados abstrato que descreve a estrutura de um banco de dados independente de um SGBD • Modelo lógico (projeto lógico) Empregado Nome Endereço – Modelo de dados que representa a estrutura dos dados de um banco de dados • Dependente do modelo do SGBD • Modelo físico (projeto físico) – Nível de Implementação – Depende do SGBD – ênfase na eficiência de acesso 14:01 Modelo de Dados • Modelo Entidade Relacionamento – Técnica mais utilizada de modelagem – Tem como objetivo auxiliar na especificação geral do sistema – O modelo de dados é representado graficamente através de um Diagrama de EntidadeRelacionamento (DER) – Principais conceitos: (1) entidades, (2) atributos e (3) relacionamentos – Notação criada por Peter Chen (1976) 14:01 Entidades • Entidades fortes – Possuem identificação própria: chave primária Funcionário Departamento • Entidade fraca – Não possui identificação própria • Depende de um relacionamento com outra entidade • Chave primária é formada pela chave primária da entidade forte (chave estrangeira) 14:01 Entidades • Entidades fortes – Possuem identificação própria: chave primária Funcionário Departamento • Entidade fraca – Exemplo: DEPENDENTE só existe se existir um FUNCIONÁRIO associado Funcionário 14:01 POSSUI Dependente Atributos • Monovalorado: possui apenas um valor Idade • Multivalorado: possui mais de um valor Telefones • Composto: possui sub-partes Cidade Rua Estado Endereço • Derivado: obtido por meio de outros atributos ou relacionamentos Tempo_moradia 14:01 Atributos chave • Atributo ou conjunto de atributos (chave composta) que consegue identificar uma única entidade dentro de um conjunto de entidades • Meio de acesso a uma entidade • Mínima Aluno Matrícula 14:01 Conta Corrente NumAgencia NumConta X Endereço Atributos chave • Atributo ou conjunto de atributos (chave composta) que consegue identificar uma única entidade dentro de um conjunto de entidades • Meio de acesso a uma entidade • Mínima Aluno Matrícula 14:01 Conta Corrente NumAgencia NumConta Endereço Exercício • Considerando um sistema acadêmico, defina pelo menos 3 atributos para cada uma das entidades abaixo. Se a entidade for forte, defina também o atributo chave 14:01 Turma Aluno Professor Disciplina Relacionamentos • Como expressamos que João trabalha no Departamento de Contabilidade? Empregado João Pedro Paulo Maria 14:01 Lotação Departamento Contabilidade Financeiro Jurídico Pessoal Relacionamentos • Relacionamento: associação entre várias entidades • Conjunto de relacionamentos: conjunto de relacionamentos do mesmo tipo • Exemplos Cliente Conta ContaCliente Residência Medico Cidade 14:01 Consulta Paciente Relacionamentos • Grau de relacionamento – Quantidade de entidades diferentes envolvidas – Binários: grau de relacionamento 2 – Ternários: grau 3 – Quaternários: grau 4 Relacionamento com grau N > 2 só é justificável se não puder ser decomposto em relacionamentos com graus menores e ainda manter a semântica desejada. 14:01 Relacionamentos • Grau de Relacionamento Ternário – Só deve ser utilizado se não puder ser transformado em duplo Aluno N M MONITORA Disciplina Q P Aluno A auxilia professor P em qual disciplina? AUXILIA 14:01 1 Professor 1 MINISTRA Relacionamentos • Grau de Relacionamento Ternário – Só deve ser utilizado se não puder ser transformado em duplo Aluno N MONITORA 1 Professor 14:01 M Disciplina Relacionamentos • Cardinalidade – Relacionamento binário – Quantidade de instâncias envolvidas no relacionamento – Tipos • Um para um (1:1) – Uma entidade do tipo A está associada a no máximo uma entidade do tipo B 14:01 Relacionamentos • Cardinalidade – Relacionamento binário – Quantidade de instâncias envolvidas no relacionamento – Tipos • Um para muitos (1:N) – Uma entidade em A está associada a várias entidades em B. Uma entidade em B, entretanto, deve estar associada no máximo a uma entidade em A. 14:01 Relacionamentos • Cardinalidade – Relacionamento binário – Quantidade de instâncias envolvidas no relacionamento – Tipos • Muitos para um (N:1) – Uma entidade em A está associada a no máximo uma entidade em B. Uma entidade em B, entretanto, pode estar associada a um número qualquer de entidades em A 14:01 Relacionamentos • Cardinalidade – Relacionamento binário – Quantidade de instâncias envolvidas no relacionamento – Tipos • Muitos para muitos (M:N) – Uma entidade em A está associada a qualquer número de entidades em B e uma entidade em B está associada a um número qualquer de entidades em A 14:01 Relacionamentos • Restrições: mostram dependência entre entidades – Total: toda entidade do conjunto de entidades deve se relacionar com a entidade correspondente do relacionamento – Parcial Disciplina POSSUI Ementa Uma entidade Ementa tem que participar de um relacionamento Possui, ou seja, deve estar associada a uma entidade Disciplina 14:01 Relacionamentos • Cardinalidade 1 para 1 – Um funcionário gerencia no máximo 1 departamento. Um departamento é gerenciado por no máximo um funcionário Funcionário 14:01 1 1 GERENCIA f1 d1 f2 d2 f3 d3 Departamento Relacionamentos • Cardinalidade 1 para muitos – Um funcionário está lotado no máximo em 1 departamento. Um departamento tem até N funcionários lotados nele Funcionário N LOTADOS f1 f2 14:01 1 f3 f4 f5 d1 d2 d3 Departamento Relacionamentos • Cardinalidade muito para muitos – Um funcionário participa de vários projetos. Um projeto pode ter a participação de até N funcionários Funcionário Médico 14:01 N PARTICIPA N N CONSULTA N f1 p1 f2 p2 f3 p3 Projeto Paciente Relacionamentos • Cardinalidade máxima e mínima – Indica obrigatoriedade ou não de participação das Notação de par de cardinalidade entidades (mínima, máxima) Funcionário (1,N) LOTADOS_EM (1,1) Departamento Um funcionário pode estar lotado em um e somente um departamento. Um departamento obrigatoriamente tem de um até N empregados lotados nele 14:01 Relacionamentos • Cardinalidade máxima e mínima Funcionário Funcionário Funcionário 14:02 (1,N) (1,N) (1,1) LOTADOS_EM PARTICIPA_DE COORDENA (1,1) (1,N) (0,2) Departamento Projeto Projeto Relacionamentos • Auto relacionamentos – Relacionamento entre instâncias de uma mesma entidade – Requer a identificação de papéis • Utilizado quando não é clara a participação de um determinado conjunto de entidades em um relacionamento – “Um funcionário pode ser supervisionado por no máximo 1 Funcionário. Um Funcionário pode supervisionar no máximo N funcionários” Papéis 14:02 Funcionário SUPERVISOR (0,1) SUPERVISÃO SUPERVISIONADO (0,n) Relacionamentos • Auto relacionamentos esposa Pessoa Marido Esposa (0,1) (0,1) casadoCom 14:02 Roberto Pedro Jessica Ana marido Relacionamentos • Relacionamentos podem ter atributos Nome Telefones Rua Estado CPF Funcionário 14:02 TRABALHA_EM Departamento Nome Endereço HorasTrabalhadas Cidade Código Relacionamentos • Relacionamentos podem ter atributos Nome Telefones Rua Estado CPF Funcionário Código TRABALHA_EM Nome Endereço HorasTrabalhadas Cidade 14:02 Departamento Relacionamentos • Relacionamentos podem ter atributos esquema Médico nome celular Consulta dataDaConsulta Paciente nome endereço instâncias Dr. Paulo Dr. Flora 14:02 22/10/2007 05/02/2009 20/03/2009 Vania José Relacionamentos • Relacionamentos podem ter atributos Empregado nome salario Vania Pedro Gabriel 14:02 Atuação função coordenador pesquisador bolsista Projeto sigla AATOM Sinpli Exercício • Identifique os relacionamentos no modelo e os atributos do relacionamento (quando houver) – Cardinalidade – Nome dos relacionamentos 14:02 Diagrama ER 14:02 Notações: Peter Chan vs James Martin • A notação de Peter Chan pode ser cansativa para grandes modelos • Ferramentas CASE: Notação de James Martin Conectividade 1:1 1:N N:N 14:02 Peter Chan 1 James Martin 1 1 N N M Notações: Peter Chan vs James Martin • Principais diferenças – Relacionamentos são representados apenas por uma linha que une as duas entidades; – Somente relacionamentos binários; – A notação de cardinalidade máxima e mínima é gráfica • O símbolo mais próximo ao retângulo é a representação da cardinalidade máxima e o mais distante a cardinalidade mínima. 14:02 Notações: Peter Chan vs James Martin Empregado (1,1) Trabalha Empregado Departamento Departamento Opcional 14:02 (0,n) Notações: Peter Chan vs James Martin • Um para um Motorista Táxi • Um para muitos Estado Cidade • Muitos para muitos Advogado 14:02 Processo Exercício para casa • Dado o seguinte minimundo, construa um diagrama ER – 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. • Entrega: 08/09/11 – [email protected] 14:02 Bibliografia • Sistema de Banco de Dados – Elmasri e Navathe • Material da Profa. Vania Bogorny (UFSC) • Material do Prof. Clodis Boscarioli (UNIOESTE) • Material da Profa. Renata Rêgo (IFPE) 14:02