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
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
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
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 Empregado Nome Endereço ( 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
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 Entidade- Relacionamento (DER) Principais conceitos: (1) entidades, (2) atributos e (3) relacionamentos Notação criada por Peter Chen (1976)
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)
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 POSSUI Dependente
Atributos Monovalorado: possui apenas um valor Idade Multivalorado: possui mais de um valor Telefones Composto: possui sub-partes Rua Cidade Estado Derivado: obtido por meio de outros atributos ou relacionamentos Tempo_moradia 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 NumAgencia Conta Corrente 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 Conta Corrente Matrícula 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 Turma Aluno Professor Disciplina
Como expressamos que João trabalha no Departamento de Contabilidade? Empregado Lotação Departamento João Pedro Paulo Maria Contabilidade Financeiro Jurídico Pessoal
Relacionamento: associação entre várias entidades Conjunto de relacionamentos: conjunto de relacionamentos do mesmo tipo Exemplos Cliente ContaCliente Conta Residência Medico Consulta Paciente Cidade
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.
Grau de Relacionamento Ternário Só deve ser utilizado se não puder ser transformado em duplo Aluno Q N MONITORA M Aluno A auxilia professor P em qual disciplina? Disciplina P AUXILIA 1 Professor 1 MINISTRA
Grau de Relacionamento Ternário Só deve ser utilizado se não puder ser transformado em duplo Aluno N MONITORA M Disciplina 1 Professor
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
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.
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
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
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
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 1 1 GERENCIA Departamento f1 f2 f3 d1 d2 d3
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 1 LOTADOS Departamento f1 f2 f3 f4 f5 d1 d2 d3
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 N N PARTICIPA CONSULTA N N Projeto Paciente f1 f2 f3 p1 p2 p3
Cardinalidade máxima e mínima Indica obrigatoriedade ou não de participação das entidades Notação de par de cardinalidade (mínima, máxima) Funcionário (1,N) (1,1) LOTADOS_EM Departamento Um funcionário pode estar lotado em um e somente um departamento. Um departamento obrigatoriamente tem de um até N empregados lotados nele
Cardinalidade máxima e mínima Funcionário (1,N) (1,1) LOTADOS_EM Departamento Funcionário (1,N) PARTICIPA_DE (1,N) Projeto Funcionário (1,1) (0,2) COORDENA Projeto 14:02
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 14:02 Papéis Funcionário SUPERVISOR SUPERVISIONADO (0,1) (0,n) SUPERVISÃO
Auto relacionamentos Marido (0,1) Pessoa Esposa (0,1) casadocom Roberto Pedro Jessica Ana esposa marido 14:02
Relacionamentos podem ter atributos Nome Telefones CPF Código Rua Funcionário TRABALHA_EM Departamento Estado Endereço Nome Cidade HorasTrabalhadas 14:02
Relacionamentos podem ter atributos Nome Telefones CPF Código Rua Funcionário TRABALHA_EM Departamento Estado Endereço Nome HorasTrabalhadas Cidade 14:02
Relacionamentos podem ter atributos esquema Médico Consulta Paciente nome celular datadaconsulta nome endereço instâncias 14:02 Dr. Paulo Dr. Flora 22/10/2007 05/02/2009 20/03/2009 Vania José
Relacionamentos podem ter atributos Empregado Atuação Projeto nome salario função sigla Vania Pedro Gabriel coordenador pesquisador bolsista AATOM Sinpli 14:02
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 Peter Chan James Martin 1:1 1:N 1 1 1 N N:N N M 14:02
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 Trabalha (1,1) (0,n) Departamento Empregado Departamento Opcional 14:02
Notações: Peter Chan vs James Martin Um para um Motorista Um para muitos Estado Táxi Cidade Muitos para muitos Advogado Processo 14:02
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 bruno@dce.ufpb.br 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