0% acharam este documento útil (0 voto)
336 visualizações8 páginas

Trabalho - Relatorio

O documento apresenta um trabalho acadêmico sobre modelagem e implementação de um banco de dados para uma rede de hotéis e uma locadora de veículos. Inclui a elaboração de um Modelo Entidade-Relacionamento (MER) com entidades, atributos e relacionamentos, além de instruções para a implementação em SQL. O trabalho também contém consultas para extração de dados relevantes do banco de dados criado.

Enviado por

gabi.fiduniv
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
336 visualizações8 páginas

Trabalho - Relatorio

O documento apresenta um trabalho acadêmico sobre modelagem e implementação de um banco de dados para uma rede de hotéis e uma locadora de veículos. Inclui a elaboração de um Modelo Entidade-Relacionamento (MER) com entidades, atributos e relacionamentos, além de instruções para a implementação em SQL. O trabalho também contém consultas para extração de dados relevantes do banco de dados criado.

Enviado por

gabi.fiduniv
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Centro Universitário Internacional UNINTER

Escola Superior Politécnica – ESP

BANCO DE DADOS
Trabalho – Relatório

Curso: Tecnologia em Análise e Desenvolvimento de Sistemas


Aluno(a): Gabriele Lauriane Fiduniv
RU: 4023482

1. 1ª Etapa – Modelagem

Pontuação: 30 pontos.
Dadas as regras de negócio abaixo listadas, referentes ao estudo de caso de uma
Rede de Hotéis, elabore o Modelo Entidade-Relacionamento (MER), isto é, o modelo
conceitual.
O Modelo Entidade-Relacionamento (MER) deve contemplar os seguintes itens:
• Entidades;
• Atributos;
• Relacionamentos;
• Cardinalidades;
• Chaves primárias;
• Chaves estrangeiras.

Uma Rede de Hotéis necessita controlar os dados dos funcionários, das unidades,
dos quartos, dos hóspedes, das reservas e dos pagamentos. Para isso, contratou um
profissional de Banco de Dados, a fim de modelar o Banco de Dados que armazenará
todos os dados.
As regras de negócio são:
• Funcionário – Deverão ser armazenados os seguintes dados: CPF, nome, telefone,
e-mail, login e senha;

Banco de Dados: Trabalho - Relatório


1
Centro Universitário Internacional UNINTER
Escola Superior Politécnica – ESP

• Hotel – Deverão ser armazenados os seguintes dados: identificação do hotel,


nome, categoria, telefone, e-mail e endereço, sendo o endereço composto por rua,
número, complemento, bairro, CEP, cidade e estado;
• Quarto – Deverão ser armazenados os seguintes dados: identificação do quarto,
número de leitos, tipo (standard, luxo ou suíte), preço da diária e status (disponível,
ocupado ou manutenção);
• Hóspede – Deverão ser armazenados os seguintes dados: CPF, nome, telefone, e-
mail e endereço, sendo o endereço composto por rua, número, complemento,
bairro, CEP, cidade e estado;
• Reserva – Deverão ser armazenados os seguintes dados: identificação da reserva,
data de entrada, data de saída e status (ativa, cancelada ou concluída);
• Pagamento – Deverão ser armazenados os seguintes dados: identificação do
pagamento, forma de pagamento (cartão, pix ou dinheiro), data do pagamento,
valor total e status (pago ou pendente);
• Um hotel possui um ou vários quartos;
• Um ou vários funcionários trabalham em um hotel;
• Um funcionário realiza uma ou várias reservas;
• Um ou vários quartos fazem parte de uma ou várias reservas;
• Um hóspede pode fazer uma ou várias reservas;
• Uma reserva gera um pagamento.

Importante:
• O Modelo Entidade-Relacionamento (MER) deve considerar somente as regras de
negócio dadas, não podendo ser criada nenhuma outra entidade ou atributo que
não estejam nas regras de negócio;
• Em caso de haver entidade associativa, a mesma deve ser representada pela
“Representação 1” (texto da Aula 1 – Fundamentos de Banco de Dados, Figura
25);
• Em caso de haver cardinalidade (1,1), a chave estrangeira deve fazer parte da
entidade que possui o maior número de chaves estrangeiras.

Banco de Dados: Trabalho - Relatório


2
Centro Universitário Internacional UNINTER
Escola Superior Politécnica – ESP

2. 2ª Etapa – Implementação

Considere o seguinte Modelo Relacional (modelo lógico), referente ao estudo de caso


de uma Locadora de Veículos:

Banco de Dados: Trabalho - Relatório


3
Centro Universitário Internacional UNINTER
Escola Superior Politécnica – ESP

Com base no Modelo Relacional dado e utilizando a Structured Query Language


(SQL), no MySQL Workbench, implemente o que se pede.

Importante: Para testar o Banco de Dados após a implementação, utilize os


comandos contidos no arquivo “Trabalho – Populando o Banco de Dados” para popular as
tabelas. Tal arquivo contém todos os comandos de inserção dos dados (fictícios)
necessários para a realização dos testes.

Pontuação: 30 pontos.
1. Implemente um Banco de Dados chamado “LocadoraVeiculos”. Após, implemente
as tabelas, conforme o Modelo Relacional dado, observando as chaves primárias e
as chaves estrangeiras. Todos os campos, de todas as tabelas, não podem ser
nulos (not null).

create database LocadoraVeiculos;

use LocadoraVeiculos;

create table Cliente (

Banco de Dados: Trabalho - Relatório


4
Centro Universitário Internacional UNINTER
Escola Superior Politécnica – ESP

idCliente int auto_increment primary key,

CPF varchar(20),

nome varchar(50),

telefone varchar(20),

email varchar(50),

endereco varchar(100)

);

create table Veiculo (

idVeiculo int auto_increment primary key,

modelo varchar(50),

marca varchar(50),

ano int,

placa varchar(10),

valorDiaria decimal(7,2),

estado enum('Disponível', 'Alugado', 'Manutenção')

);

create table Pagamento (

idPagamento int auto_increment primary key,

forma enum('Cartão', 'Pix', 'Dinheiro'),

dataPagamento date,

valorTotal decimal(7,2),

estado enum('Pago', 'Pendente')

);

create table Locacao (

Banco de Dados: Trabalho - Relatório


5
Centro Universitário Internacional UNINTER
Escola Superior Politécnica – ESP

idLocacao int auto_increment primary key,

idCliente int,

idPagamento int,

dataInicio date,

dataFim date,

constraint fk_Locacao_Cliente foreign key (idCliente) references Cliente(idCliente),

Constraint fk_Locacao_Pagamento foreign key (idPagamento) references


Pagamento(idPagamento

);

create table LocacaoVeiculo (

idLocacao int,

idVeiculo int,

primary key (idLocacao, idVeiculo),

constraint fk_LocacaoVeiculo_Locacao foreign key (idLocacao) references


Locacao(idLocacao),

constraint fk_LocacaoVeiculo_Veiculo foreign key (idVeiculo) references


Veiculo(idVeiculo)

);

create table Manutencao (

idManutencao int auto_increment primary key,

idVeiculo int,

descricao varchar(100),

dataManutencao date,

custo decimal(7,2),

constraint fk_Manutencao_Veiculo foreign key (idVeiculo) references Veiculo(idVeiculo)

);

Banco de Dados: Trabalho - Relatório


6
Centro Universitário Internacional UNINTER
Escola Superior Politécnica – ESP

Pontuação: 10 pontos.
2. Implemente uma consulta para listar a descrição, a data e o custo de todas as
manutenções realizadas nos veículos.

select descricao Descrição, dataManutencao Data, Custo


from Manutencao;

Pontuação: 10 pontos.
3. Implemente uma consulta para listar o valor total arrecadado pela locadora.
Lembre-se que pagamentos “pendentes” não fazem parte da soma.

select
sum(valorTotal) 'Total arrecadado'
from Pagamento
where estado = 'Pago'

Pontuação: 10 pontos.
4. Implemente uma consulta para listar o modelo e a marca dos veículos, bem como o
número de vezes que cada um foi locado. A listagem deve ser mostrada em ordem
decrescente pelo número de aluguéis.
Dica: Utilize a cláusula group by.

Banco de Dados: Trabalho - Relatório


7
Centro Universitário Internacional UNINTER
Escola Superior Politécnica – ESP

Cole o código e o print resultante da consulta aqui.

Pontuação: 10 pontos.
5. Implemente uma consulta para listar o nome dos clientes que possuem pagamento
“pendente”, bem como o valor devido por eles. A listagem deve ser mostrada em
ordem alfabética crescente pelo nome dos clientes.
Dica: Utilize a cláusula group by.

Cole o código e o print resultante da consulta aqui.

Banco de Dados: Trabalho - Relatório


8

Você também pode gostar