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

Script SQL para Locadora de Veículos

Enviado por

Junior Ju
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)
7 visualizações2 páginas

Script SQL para Locadora de Veículos

Enviado por

Junior Ju
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

SCRIPT SQL COMPLETO – LOCADORA DE

VEÍCULOS

CREATE DATABASE LocadoraVeiculos;


USE LocadoraVeiculos;

CREATE TABLE Marca (


idMarca INT PRIMARY KEY,
nomeMarca VARCHAR(50) NOT NULL
);

CREATE TABLE Modelo (


idModelo INT PRIMARY KEY,
descricaoModelo VARCHAR(50) NOT NULL,
idMarca INT NOT NULL,
FOREIGN KEY (idMarca) REFERENCES Marca(idMarca)
);

CREATE TABLE Veiculo (


idVeiculo INT PRIMARY KEY,
placa VARCHAR(10) NOT NULL,
ano INT NOT NULL,
idModelo INT NOT NULL,
FOREIGN KEY (idModelo) REFERENCES Modelo(idModelo)
);

CREATE TABLE Cliente (


idCliente INT PRIMARY KEY,
nomeCliente VARCHAR(100) NOT NULL,
cpf VARCHAR(14) NOT NULL,
telefone VARCHAR(20) NOT NULL
);

CREATE TABLE Locacao (


idLocacao INT PRIMARY KEY,
idCliente INT NOT NULL,
idVeiculo INT NOT NULL,
dataLocacao DATE NOT NULL,
dataDevolucao DATE NOT NULL,
valorLocacao DECIMAL(10,2) NOT NULL,
FOREIGN KEY (idCliente) REFERENCES Cliente(idCliente),
FOREIGN KEY (idVeiculo) REFERENCES Veiculo(idVeiculo)
);

CREATE TABLE Pagamento (


idPagamento INT PRIMARY KEY,
idLocacao INT NOT NULL,
statusPagamento VARCHAR(20) NOT NULL,
valorPago DECIMAL(10,2) NOT NULL,
FOREIGN KEY (idLocacao) REFERENCES Locacao(idLocacao)
);

CREATE TABLE Manutencao (


idManutencao INT PRIMARY KEY,
idVeiculo INT NOT NULL,
descricao VARCHAR(100) NOT NULL,
dataManutencao DATE NOT NULL,
custo DECIMAL(10,2) NOT NULL,
FOREIGN KEY (idVeiculo) REFERENCES Veiculo(idVeiculo)
);

-- Consulta 1
SELECT descricao, dataManutencao, custo FROM Manutencao;

-- Consulta 2
SELECT SUM(valorPago) AS TotalArrecadado
FROM Pagamento
WHERE statusPagamento = 'Pago';

-- Consulta 3
SELECT
[Link] AS Modelo,
[Link] AS Marca,
COUNT([Link]) AS NumeroLocacoes
FROM Locacao l
JOIN Veiculo v ON [Link] = [Link]
JOIN Modelo m ON [Link] = [Link]
JOIN Marca ma ON [Link] = [Link]
GROUP BY [Link], [Link]
ORDER BY NumeroLocacoes DESC;

-- Consulta 4
SELECT
[Link],
SUM([Link]) AS ValorDevido
FROM Pagamento p
JOIN Locacao l ON [Link] = [Link]
JOIN Cliente c ON [Link] = [Link]
WHERE [Link] = 'Pendente'
GROUP BY [Link]
ORDER BY [Link] ASC;

Você também pode gostar