PROJETO DE BANCO DE DADOS Ceça Moraes – Setembro/2015 Modelagem Conceitual Modelagem Conceitual 3 C O objetivo É: D O objetivo NÃO É: Representar a semântica da informação, independente de considerações de eficiência. Descrever a estrutura do armazenamento do banco de dados. I Um modelo conceitual deve ter: - clareza (facilidade de compreensão) - exatidão Modelo Semântico (Entidade-Relacionamento) Modelagem Conceitual 4 Abordagem Entidade-Relacionamento (ER), Principais Características: Utilização de poucos conceitos Excelente representação gráfica Diagrama Facilidade entidade-relacionamento (DER) de compreensão Abordagem E-R 5 Conceitos Centrais Entidade Relacionamento Atributo Generalização/especialização Entidade associativa 05/11/2015 Abordagem E-R 6 Conceitos Centrais Entidade Relacionamento Atributo Generalização/especialização Entidade associativa 05/11/2015 Entidade 7 Conjunto de objetos da realidade modelada sobre os quais deseja-se manter informações no BD Exemplos: Sistema de informações industrial: Produtos; Sistema de contas correntes: Clientes; tipos de produtos; vendas; compras contas correntes; cheques; agências No DER: Representada através de um 05/11/2015 retângulo Entidade 8 Propriedades Entidade isoladamente não diz muito É necessário atribuir propriedades às entidades Em um modelo ER, propriedades são especificadas através de: Relacionamentos Atributos Generalizações/especializações 05/11/2015 Abordagem E-R 9 Conceitos Centrais Entidade Relacionamento Atributo Generalização/especialização Entidade associativa 05/11/2015 Relacionamentos 10 Associações entre entidades sobre as quais deseja-se manter informações no BD 05/11/2015 Relacionamentos 11 Diagrama de Ocorrências 05/11/2015 Auto-Relacionamentos 12 Associação entre uma entidade e ela mesma 05/11/2015 Auto-relacionamento 13 Relacionamentos 14 Cardinalidades Propriedade importante de um relacionamento: Número de ocorrências de uma entidade que podem estar associadas outra ocorrência de entidade através do relacionamento Há duas cardinalidades: Máxima Mínima 05/11/2015 15 Cardinalidades Máxima e Mínima 05/11/2015 Abordagem E-R 16 Conceitos Centrais Entidade Relacionamento Atributo Generalização/especialização Entidade associativa 05/11/2015 Atributos 17 Dado ou informação que é associado a cada ocorrência de uma entidade ou de um relacionamento 05/11/2015 Atributos 18 Cardinalidades Cardinalidade mínima: Atributo obrigatório (cardinalidade mínima “1”) Atributo opcional (cardinalidade mínima “0”) Cardinalidade máxima: atributo mono-valorado (cardinalidade máxima “1”) atributo multi-valorado (cardinalidade máxima “n”) 05/11/2015 Atributos 19 Cardinalidades Mono-valorado Multi-valorado Opcional (0,1) (0,n) Obrigatório (1,1) (1,n) 05/11/2015 Atributos 20 Cardinalidades 05/11/2015 Atributos 21 Cardinalidades 05/11/2015 22 Atributos de Relacionamento 05/11/2015 Atributo Identificador 23 05/11/2015 24 Relacionamento Identificador 05/11/2015 25 Relacionamento Identificador 05/11/2015 Abordagem E-R 26 Conceitos Centrais Entidade Relacionamento Atributo Generalização/especialização Entidade associativa 05/11/2015 27 Generalização / Especialização Atribuir propriedades particulares a um subconjunto das ocorrências (especializadas) de uma entidade genérica 05/11/2015 28 Generalização / Especialização Herda as propriedades da entidade genérica Entidade Genérica Atributo identificador na entidade genérica Entidade Especializada Especialização Total 29 05/11/2015 Especialização Parcial 30 05/11/2015 Abordagem E-R 31 Conceitos Centrais Entidade Relacionamento Atributo Generalização/especialização Entidade associativa 05/11/2015 Entidade Associativa 32 Adicionar a informação de que medicamentos foram prescritos em uma consulta 05/11/2015 Entidade Associativa 33 05/11/2015 Entidade Associativa 34 05/11/2015 35 Modelagem Avançada 05/11/2015 36 Propriedades do Modelo ER Modelo ER é um modelo formal Preciso Não ambíguo Poder de expressão é limitado Equivalência entre modelos 05/11/2015 Limitações do ER 37 Exemplo Ceça Moraes Equivalência 38 Exemplo Ceça Moraes Equivalência 39 Exemplo Ceça Moraes 40 Atributo x Entidade Relacionada Como deve ser modelada a cor de um automóvel? Ceça Moraes 41 Atributo x Entidade Relacionada Objeto está vinculado a outros objetos deve Caso contrário pode ser modelado como atributo Conjunto de valores fixo (domínio fixo) pode ser modelado como entidade ser modelado como atributo Transações que modificam o objeto pode ser modelado como entidade 05/11/2015 Atributo x Generalização/Especialização 42 Questão: modelar um determinado objeto (por, exemplo, a categoria funcional de cada empregado de uma empresa) como atributo? categoria funcional como atributo da entidade EMPREGADO) ou como uma especialização? cada categoria funcional corresponde a uma Ceça Moraes especialização da entidade empregado Atributo x Generalização/Especialização 43 Ceça Moraes Atributo x Generalização/Especialização 44 Especialização deve ser usada quando as classes especializadas de entidades possuem Atributos e/ou relacionamentos Ceça Moraes Atributo Opcional 45 Atributos opcionais Podem indicar entidades que são modelados mais corretamente através de especializações Exemplo: Ceça Moraes Atributo Opcional 46 Ceça Moraes Atributo Multivalorado 47 É indesejável Não tem boa implementação com SGBD relacional N colunas??!?! Atributos multivalorados podem induzir a um erro de modelagem Ocultar entidades e relacionamentos em atributos multivalorados Ceça Moraes Atributo Multivalorado 48 Eliminação Ceça Moraes 49 Modelo deve ser livre de redundâncias Modelo deve ser mínimo, não deve conter conceitos redundantes Tipos de redundância: Relacionamentos e/ou Atributos redundantes BD redundância controlada de dados (melhoria de performance) Ceça Moraes 50 Relacionamentos Redundantes 05/11/2015 51 Relacionamentos Redundantes 05/11/2015 52 Relacionamentos Redundantes 05/11/2015 53 Relacionamentos Redundantes 05/11/2015 Atributos Redundantes 54 05/11/2015 Aspectos Temporais 55 Dados temporais dados que mudam ao longo do tempo e para as quais BD mantém histórico Decisão de modelagem: Manter ou não o histórico Ceça Moraes Atributos temporais 56 Ceça Moraes 57 Relacionamento Temporal Ceça Moraes Dados do passado.... 58 Muitas vezes, informações referentes ao passado são eliminadas da base de dados Podem ser necessárias no futuro por motivos legais para realização de auditorias para tomada de decisões Ceça Moraes 59 Reserva de passagens aéreas (1) O objetivo do trabalho é projetar um sistema de reservas para uma companhia de aviação. O sistema contará com um banco de dados central, que será acessado por aplicações clientes, rodando tanto dentro da própria companhia, quanto fora dela. A transação central do sistema é a reserva. Uma reserva é identificada por um código gerado pelo sistema em computador. A reserva é feita para um único passageiro, do qual se conhece apenas o nome. A reserva compreende um conjunto de trechos de vôos, que acontecerão em determinada data/hora. Para cada trecho, a reserva é feita em uma classe (econômica, executiva, etc.). Ceça Moraes 60 Reserva de passagens aéreas (2) Um vôo é identificado por um código e possui uma origem e um destino. Por exemplo, o vôo 595 sai de Porto Alegre com destino a São Paulo. Um vôo é composto de vários trechos, correspondendo às escalas intermediárias do vôo. Por exemplo, o vôo 595 é composto de dois trechos, um de Porto Alegre a Londrina, o outro de Londrina a São Paulo. Cabe salientar que há cidades que são servidas por vários aeroportos. Por isso, é importante informar ao passageiro que faz a reserva, qual é o aeroporto no qual o vôo passa Às vezes os clientes, ao fazer a reserva querem saber qual é o tipo de aeronave que será utilizada em determinado trecho de vôo. Alguns poucos vôos, principalmente internacionais, têm troca de aeronave em determinadas escalas. Ceça Moraes 61 Reserva de passagens aéreas (3) Nem todos vôos operam em todos dias de semana. Inclusive, certos vôos têm pequenas mudanças de horário em certos dias da semana. Cada reserva possui um prazo de validade. Caso os bilhetes não tenham sido emitidos, até esgotar-se o prazo da reserva, a mesma é cancelada. Reservas podem ser prorrogadas. Ceça Moraes 62 Reserva de passagens aéreas (4) Como o “check-in” de todos os vôos está informatizado, a companhia possibilita a reserva de assento para o passageiro. Reservas de assento podem ser feitas com até três meses de antecedência Além de efetivar reservas, o sistema deve servir para vários tipos de consultas que os clientes podem querer fazer: possibilidades de viagem de uma cidade ou de um aeroporto para outro o mesmo, mas restrito a determinados dias da semana horários de chegada ou de saída em determinados vôos disponibilidade de vagas em um trecho de vôo Ceça Moraes Reserva de passagens aéreas entidades 63 Entidades: COMPANHIA, RESERVA, TRECHO, VOO, CIDADE, AEROPORTO, TIPO-AERONAVE, HORARIO, ASSENTO Não foi criada uma entidade Passageiro para as pessoas que efetivaram a reserva Apenas o nome = atributo da reserva problema de homônimos Ceça Moraes Reserva de Passagens Aéreas relacionamentos 64 Ceça Moraes Reserva de Passagens Aéreas Atributos e Identificadores 65 RESERVA: codigo reserva, passageiro,prazo VOO: número TRECHO: () AEROPORTO: código, nome CIDADE:código, nome, país TIPO AERONAVE: código, descrição HORARIO: dia semana, horário partida, horário chegada ASSENTO: número,classe RESERVA-TRECHO: data Ceça Moraes Exercício 1 66 Confeccionar um DER que contemple as seguintes regras: Cada cidade deve ter uma ou mais ruas. Cada rua deve estar em uma cidade Cada rua deve ter um ou mais prédios. Cada prédio deve estar em uma rua Cada prédio pode ter uma ou mais apartamentos. Cada apartamento deve estar em um prédio Cada apartamento pode ter um ou mais telefones. Cada telefone deve ser de um apartamento Cada rua deve estar localizada em um bairro. Cada bairro pode ter uma ou mais ruas 05/11/2015 Exercício 2 67 Fazer o DER de uma administradora de condomínios de imóveis Cada condomínio é formados por unidades condominiais Cada unidade condominial é de propriedade de uma ou mais pessoas. Uma pessoa pode possuir diversas unidades. Cada unidade pode ser alugada para no máximo uma pessoa. Uma pessoa pode alugar diversas unidades. 05/11/2015 Exercício 3 68 Deseja-se modelar os clientes de uma organização. Cada cliente possui um identificador, um nome, um endereço e um país. Discuta as vantagens e desvantagens das duas alternativas de modelagem de país: a) Como atributo da entidade cliente b) Como entidade relacionada a cliente. Ceça Moraes Exercício 4 69 Apresente um diagrama ER que modele mais precisamente esta realidade. 05/11/2015 Referências 70 Projeto de Banco de Dados – Carlos Alberto Heuser, Capítulos 2 e 3 05/11/2015