Projeto de Bancos de Dados • Compreende três etapas: 1) 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 entidaderelacionamento (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 Autores (representação gráfica) Pedro João Maria Felipe (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 Pedro João Felipe Maria João, BD BD Pedro,MC MER Felipe, MC MC (interpretação) entidade Autores relacionamento autoria entidade Livros Conceitos do Modelo ER • Auto-Relacionamento – Relacionamento entre ocorrências de uma mesma entidade – Exige que papéis sejam definidos Bibliotecárias Supervisionada supervisão Supervisora Conceitos do Modelo ER Maria Rita Ana Paula entidade Bibliotecárias Carla supervisor supervisor supervisionado supervisionado relacionamento SUPERVISÃO Rita,Maria 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) Editoras 1 publicacao N 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: Bibliotecárias Autores 1 1 controle N N autoria Áreas Livros Bibliotecárias (1,1) Supervisionada supervisão (0,N) Supervisora Conceitos do Modelo ER • No relacionamento deve-se definir: – 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) Editoras (1,1) (0,N) 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 Bibliotecárias Editoras (0,1) (1,1) controle (1,1) (0,N) publicacao (1,N) Autores Áreas Livros (0,N) 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) Cidades (0,N) (0,1) 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 (0,N) (0,N) Livros ItemPedido Pedidos Titulo Quantidade Numero Conceitos do Modelo ER • Os Atributos podem ser – obrigatórios ou opcionais – monovalorados ou multivalorados – simples ou compostos CNH (0,1) Nome Clientes Endereço Email (1,N) Rua CEP Bairro 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. Nome Código Bibliotecárias Salário Capacidade NúmeroCorredor Estantes NúmeroEstante 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,N) (1,1) (0,N) Pedidos composição Itens referência Data Quantidade (1,1) Código Descrição Produtos 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 Autores (0,N) (1,N) autoria ISBN Livros DataPublicacao (a1, l1,12/02/04) (a1, l2, 18/11/03) (a2, l1, 02/03/04) ... Título Conceitos do Modelo ER • Identificação de Relacionamentos – atributos identificadores adicionais podem ser necessários para definir a identificação de um relacionamento CRM Médicos Nome Hora (0,N) (0,N) consulta Data Código Pacientes Nome (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 RI: supervisão supervisora - uma bibliotecária não pode ser supervisora dela mesma Restrições do Domínio Tipo Nome Matrícula Alunos (0,N) (0,N) curso Nome Tipo Disciplinas Código Ris: - o Tipo de o Tipo de um aluno um aluno um aluno deve ser graduação (G) ou pós-graduação (PG) uma disciplina deve ser graduação (G) ou pós-graduação (PG) de G não pode estar cursando uma disciplina de PG 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 – 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 Física CNPJ Jurídica Conceitos do Modelo ER • Tipos de Especialização – Total ou Parcial Pessoas Total: Toda Pessoa é ou Pessoa Física ou Pessoa Jurídica t (default) Funcionários Físicas Jurídicas p Médicos Parcial: Nem todo funcionário é Médico ou Enfermeiro Enfermeiros Conceitos do Modelo ER • Tipos de Especialização – Exclusiva ou Não-Exclusiva (compartilhada) Pessoas Exclusiva: A entidade genérica é especializada por uma das suas folhas, no máximo Pessoas Físicas Jurídicas Professor Alunos Não-Exclusiva: A entidade genérica pode ser especializada por várias entidades folha Conceitos do Modelo ER • Uma entidade pode ser especializada em qualquer número de entidades Animais Vertebrados Mamíferos Aves Invertebrados 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 ? Medicamentos Pacientes Como associar? Conceitos do Modelo ER • Entidade Associativa – 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) prescrição (0,N) Medicamentos Conceitos do Modelo ER • Entidade Associativa – Outra forma de representar Médicos (0,N) consulta (0,N) Pacientes (0,N) prescrição (0,N) Medicamentos Conceitos do Modelo ER • Entidade Associativa – 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. 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.