Projeto de Bancos de Dados Compreende três etapas: Modelagem Conceitual (Projeto Conceitual): - Modelo de dados abstrato - Define os dados do domínio - Independente do SGBD 2) Projeto Lógico Define como o modelo conceitual será implementado no SGBD específico Tabelas, Campos.. 3) Projeto Físico Detalhes que influenciam no desempenho do BD, mas não interferem em suas funcionalidades É um processo contínuo e bem específico de cada SGBD Índices, stored procedures...
Modelagem Conceitual Descrição abstrata dos dados do domínio que serão armazenados no BD É independente de SGBD Representação visual de fácil Compreensão
Modelo Entidade-Relacionamento Criado em 1976 por Peter Chen É a técnica de modelagem de dados mais difundida e aceita (padrão) Representação gráfica de fácil compreensão: diagrama entidade-relacionamento (DER) Usa conceitos simples para definir domínio
Exemplo Diagrama ER
Conceitos do Modelo ER Entidade Representa um Conjunto de objetos do mundo real que deseja-se armazenar no BD Símbolo: Retângulo com o nome da entidade Pedro Autores João Felipe Maria (representação gráfica) (interpretação)
Conceitos do Modelo ER Relacionamento Conjunto de associações entre ocorrências de entidades Símbolo: losango nomeado interligando as entidades do relacionamento Autores autoria Livros (representação gráfica)
Conceitos do Modelo ER (interpretação) entidade Autores relacionamento Pedro entidade João Felipe Autores Maria relacionamento João, BD Pedro,MC Felipe, MC autoria MER MC entidade BD Livros (interpretação)
Conceitos do Modelo ER Auto-Relacionamento Bibliotecárias supervisão Relacionamento entre ocorrências de uma mesma entidade Exige que papéis sejam definidos Bibliotecárias Supervisionada Supervisora supervisão
Conceitos do Modelo ER (interpretação) Maria Ana entidade Rita Bibliotecárias Paula Carla supervisor supervisor supervisionado supervisionado relacionamento Rita,Maria SUPERVISÃO Paula,Ana (interpretação)
Conceitos do Modelo ER No relacionamento deve-se definir: Cardinalidade máxima: número máximo de entidades associadas a uma ocorrência da entidade em questão, através do relacionamento (1 ou N) 1 N Editoras publicacao Livros “Uma editora pode publicar N livros. Um livro é publicado por no máximo 1 editora.”
Conceitos do Modelo ER Exemplos de Cardinalidades Máximas: 1 1 Bibliotecárias controle Áreas N N Autores autoria Livros Bibliotecárias (1,1) (0,N) Supervisionada Supervisora supervisão
Conceitos do Modelo ER No relacionamento deve-se definir: Editoras Cardinalidade mínima: número mínimo de entidades associadas a uma ocorrência da entidade em questão, através do relacionamento (0 ou 1) Indica a participação opcional (0) ou obrigatória (1) das ocorrências no relacionamento Notação de cardinalidades: (mínima, máxima) (0,N) (1,1) Editoras publicacao Livros “Uma editora pode publicar N livros. Um livro é obrigatoriamente publicado por no máximo 1 editora.”
Conceitos do Modelo ER Exemplos de cardinalidades mínimas e máximas (1,1) (0,1) Bibliotecárias controle Áreas (1,1) (0,N) Editoras publicacao Livros (1,N) (0,N) Autores autoria Livros
Conceitos do Modelo ER Relacionamentos entre duas entidades é chamado Relacionamento Binário Relacionamento “N”-ário: relacionamento entre “N” entidades Exemplo: Relacionamento Ternário (a cardinalidade é dada aos pares) (0,N) (0,1) Cidades distribuição Distribuidores (0,N) Produtos “Um produto em uma cidade pode ser entregue por no máximo 1 distribuidor.”
Conceitos do Modelo ER Atributo Dado associado as ocorrências de uma entidade ou relacionamento ISBN Numero (0,N) (0,N) Livros ItemPedido Pedidos Titulo Quantidade
Conceitos do Modelo ER Os Atributos podem ser obrigatórios ou opcionais monovalorados ou multivalorados simples ou compostos Nome CNH (0,1) Clientes Endereço Email (1,N) Rua Bairro CEP
Conceitos do Modelo ER Identificação de Entidades Um ou mais atributos cujos valores distinguem uma ocorrência da entidade ou relacionamento das demais ocorrências. Capacidade NúmeroCorredor Nome Código Estantes Bibliotecárias NúmeroEstante Salário
Conceitos do Modelo ER Entidades Fracas Depende da existência de ocorrências de outra(s) entidade(s) A identificação de suas ocorrências também depende da identificação de outra(s) entidade(s) Número NúmeroSeqüência (1,1) (1,N) (0,N) Pedidos composição Itens referência Data Quantidade (1,1) Código Produtos Descrição
Conceitos do Modelo ER Identificação de Relacionamentos Um relacionamento é identificado implicitamente pelo conjunto de identificadores das ocorrências de entidades que participam dele Nome Código ISBN Título (1,N) (0,N) Autores autoria Livros DataPublicacao (a1, l1,12/02/04) (a1, l2, 18/11/03) (a2, l1, 02/03/04) . . .
Conceitos do Modelo ER Identificação de Relacionamentos atributos identificadores adicionais podem ser necessários para definir a identificação de um relacionamento Hora CRM Código (0,N) (0,N) Médicos consulta Pacientes Nome Nome Data (m1, p1,12/06/04, 13:30) (m1, p2, 28/05/04, 10:00) (m2, p1, 02/06/04, 16:30) . . .
Restrições do Domínio O modelo ER, em geral, não consegue expressar todas as RIs de um domínio de aplicação uma documentação em anexo pode ser necessária Bibliotecárias supervisionada supervisora supervisão RI: - uma bibliotecária não pode ser supervisora dela mesma
Restrições do Domínio Alunos Disciplinas (0,N) (0,N) curso Tipo Nome Matrícula Alunos curso Disciplinas Código Ris: - o Tipo de um aluno deve ser graduação (G) ou pós-graduação (PG) - o Tipo de uma disciplina deve ser graduação (G) ou pós-graduação (PG) - um aluno de G não pode estar cursando uma disciplina de PG - um aluno de PG não pode estar cursando uma disciplina de G
Exercício de Fixação I Clube Em uma entrevista a um clube esportivo levantou-se as seguintes informações: O clube possui diversos sócios que utilizam as diversas quadras esportivas do clube Uma quadra pode ser utilizada por diversos sócios, mas nela só pode ser praticado um tipo de esporte Um esporte pode ser praticado em diversas quadras Defina os atributos que julgares necessário.
Conceitos do Modelo ER Generalização/Especialização Pessoas Física Permite atribuir propriedades particulares a um subconjunto das ocorrências (especializadas) de uma entidade genérica. As entidades especializadas herdam o identificador da entidade genérica Símbolo: triângulo isósceles Endereço Nome Pessoas CPF CNPJ Física Jurídica
Conceitos do Modelo ER Tipos de Especialização Total ou Parcial Total: Toda Pessoa é ou Pessoa Física ou Pessoa Jurídica Pessoas t (default) Parcial: Nem todo funcionário é Médico ou Enfermeiro Funcionários Físicas Jurídicas p Médicos Enfermeiros
Conceitos do Modelo ER Tipos de Especialização Exclusiva ou Não-Exclusiva (compartilhada) Exclusiva: A entidade genérica é especializada por uma das suas folhas, no máximo Pessoas Não-Exclusiva: A entidade genérica pode ser especializada por várias entidades folha Pessoas Físicas Jurídicas Professor Alunos
Conceitos do Modelo ER Uma entidade pode ser especializada em qualquer número de entidades Animais Vertebrados Invertebrados Mamíferos Aves Insetos Moluscos
Conceitos do Modelo ER Deve existir apenas uma entidade genérica (herança múltipla é proibida) Negros Brancos Mestiços
Conceitos do Modelo ER Entidade Associativa: Permite associar entidades a relacionamentos Exemplo: Como associar Medicamentos prescritos em uma Consulta? (0,N) (0,N) Médicos consulta Pacientes ? Como associar? Medicamentos
Conceitos do Modelo ER Entidade Associativa Consultas Médicos Solução: tornar consulta uma entidade associativa Uma entidade associativa encapsula uma associação entre entidades Consultas (0,N) (0,N) Médicos consulta Pacientes (0,N) (0,N) prescrição Medicamentos
Conceitos do Modelo ER Entidade Associativa Médicos Pacientes Outra forma de representar (0,N) (0,N) Médicos consulta Pacientes (0,N) (0,N) prescrição Medicamentos
Conceitos do Modelo ER Entidade Associativa (1,1) (1,1) (0,N) Outra forma de modelar Médicos Pacientes (1,1) (1,1) (0,N) (0,N) Consultas (0,N) prescrição (0,N) Medicamentos
Exercício de Fixação II Clínica Em uma clínica trabalham médicos e existem pacientes internados. Cada médico é identificado pelo seu CRM, possui um nome e recebe um salário na clínica. Um médico tem formação em diversas especialidades (ortopedia, traumatologia, etc), mas só exerce uma delas na clínica. Para todo paciente internado na clínica são cadastrados alguns dados pessoais: nome, RG, CPF, endereço, telefone(s) para contato e data do nascimento. Um paciente tem sempre um determinado médico como responsável (com um horário de visita diário predeterminado), porém vários outros médicos podem participar do seu tratamento. Pacientes estão sempre internados em quartos individuais, que são identificados por um número e ficam em um andar da clínica.
Em um restaurante universitário, cada dia da semana possui um cardápio RU Em um restaurante universitário, cada dia da semana possui um cardápio específico. Para cada cardápio existe um funcionário responsável e um grupo de funcionários que participam de seu preparo. Os funcionários são classificados em efetivos e estagiários. Somente funcionários efetivos podem se responsabilizar por um cardápio. Cada cardápio possui uma lista de alimentos que são oferecidos. Deseja-se armazenar as quantidades de cada alimento que são oferecidos em cada um dos cardápios. Cada alimento pode ser fornecido por diversos fornecedores e diversas vezes. Para cada fornecimento, deve-se armazenar o preço de cada fornecedor para determinado alimento em determinada data. Nos casos em que o fornecimento passa por uma distribuidora, os dados da distribuidora deverão ser mantidos. Defina os atributos que julgares necessário.