Universidade do Estado de Santa Catarina Centro de Ciências ... · estado, telefone residencial,...

12
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 [email protected]

Transcript of Universidade do Estado de Santa Catarina Centro de Ciências ... · estado, telefone residencial,...

BANCO DE DADOSUniversidade do Estado de Santa CatarinaCentro de Ciências TecnológicasDepartamento de Ciência da ComputaçãoProf. Alexandre Veloso de [email protected]

INTRODUÇÃO� 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, ...)

� 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)

Enfoque

abstrato

Enfoque

Intermediário

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 EasyTriptem 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