BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br
INTRODUÇÃO Enfoque abstrato Enquanto no projeto conceitual são capturados conceitos tais como: De que forma entidades podem associar-se (relacionamentos) Qual a semântica da relação entre as entidades (cardinalidades, atributos de relacionamentos) Qual a semântica/comportamento de entidades (entidades fracas, gen/espec,...) Enfoque Intermediário No modelo lógico (relacional), esses conceitos NÃO são o foco. Portanto, surgem novas necessidades: Chaves estrangeiras Características mais focadas dos atributos (tipo, restrições)
INTRODUÇÃO Alguns SGBDs (em especial MySQL) oferecem uma outra abordagem de visualização do relacionamento entre as tabelas Diminuindo a complexidade para o entendimento de uma linguagem de consulta (SQL) Propondo um modelo estendido (EER Model) que captura aspectos não tratados no Modelo ER convencional Facilitando operações de manutenção no modelo lógico
EXEMPLO A EasyTrip é uma agência de viagens. De uma entrevista com os responsáveis pode-se identificar que a agência necessita, com urgência, de um sistema para gerenciamento da venda de bilhetes aéreos dos clientes que comparecem à sua loja física. Dessa urgência pode-se identificar os seguintes requisitos: 1) A EasyTrip só vende bilhetes aéreos. Um cliente só pode adquirir um bilhete aéreo se puder ser identificado (CPF, nome, endereço, bairro, CEP, cidade, estado, telefone residencial, telefone comercial e celular) 2) Para que bilhetes aéreos sejam adquiridos, o cliente precisa informar origem e destino da viagem. Data de ida e de retorno. E a quantidade de bilhetes desejados para esse trajeto. 3) Um bilhete só pode ser adquirido se houver disponibilidade para o trajeto requerido. Informação essa que não depende da EasyTrip, mas, do acesso ao Sistema de Consulta Global de Trajetos Aéreos. 4) Quando um cliente receber um trajeto disponível, com preço que lhe agrade e nas datas que foram escolhidas, a EasyTrip, enfim, pode emitir os bilhetes.
EXEMPLO (CONTINUAÇÃO) No entanto, o grande problema da EasyTrip é gerenciar o pagamento dos bilhetes aéreos. A EasyTrip permite que três formatos de pagamento sejam feitos: à vista, via cartão de crédito ou via cartão de débito. Nesse caso, outros requisitos foram identificados: 1) Independente do tipo de pagamento, todo bilhete aéreo adquirido precisa ter uma informação histórica armazenada: qual o formato de pagamento escolhido pelo usuário. 2) Após o processamento do pagamento, a EasyTrip geralmente encontra um problema. Como identificar dentre todos os pagamentos efetuados, qual é o pagamento de um bilhete particular? Isso tem ocorrido, pois um cliente pode adquirir mais de um bilhete (geralmente para parentes). Atualmente, a EasyTrip tem um tabela excel que faz o controle associando Nome do Cliente x Modalidade de Pagamento x Data do Pagamento x Valor x Quantidade de bilhetes adquiridos. Mas, esse é um formato confuso e que precisa ser automatizado.
SUGESTÃO DE SOLUÇÃO
MAPEAMENTO ER-RELACIONAL (MODELO EER) Usando o modelo EER disponibilizando no MySQL Workbench, pode-se capturar a relação que existe entre as tabelas. O primeiro passo é estabelecer um esquema (Schema) ou um Banco de Dados.
MAPEAMENTO ER-RELACIONAL (MODELO EER) Posteriormente, adaptando as regras de redução ER-Relacional, pode-se estabelecer as tabelas Criar Tabela Estabelecer Relacionamentos
MAPEAMENTO ER-RELACIONAL (MODELO EER) Usando o modelo EER, as tabelas associados ao modelo ER anterior podem seguir os seguintes passos: Transforme entidades em tabelas:
MAPEAMENTO ER-RELACIONAL (MODELO EER) Transforme relacionamentos conceituais em relacionamentos lógicos (1/2):
MAPEAMENTO ER-RELACIONAL (MODELO EER) Transforme relacionamentos conceituais em relacionamentos lógicos (2/2):
EXERCÍCIO Complemente o modelo EER, conforme o modelo ER proposto: Identificando a aplicação adequada das regras de mapeamento de um modelo ER em um modelo relacional Gerando as tabelas resultantes do modelo EER em um script sql*. Esse script deve ser enviado por email para o professor como resultado da atividade dessa aula. *dicas para exportação: Caminho para geração do script: Database -> Forward Engineering Usuário: udesc, Senha: udesc