O Banco de Dados
Por: macedo_mteus • 12/5/2019 • Ensaio • 294 Palavras (2 Páginas) • 167 Visualizações
DROP DATABASE UBER;
CREATE DATABASE UBER;
USE UBER;
--DROP TABLES
DROP TABLE Taxi CASCADE CONSTRAINTS;
DROP TABLE Passageiro CASCADE CONSTRAINTS;
DROP TABLE Corrida CASCADE CONSTRAINTS;
-- CREATE TABLE
CREATE TABLE Taxi (
Prefixo CHAR(4) NOT NULL,
Placa CHAR(7) NOT NULL,
Marca CHAR(30),
Modelo CHAR(30),
NomeMotorista CHAR(30) NOT NULL,
Ano NUMBER(4) NOT NULL,
PRIMARY KEY (Prefixo),
CONSTRAINT ck_Ano CHECK (Ano > 2008)
);
CREATE TABLE Passageiro (
CPF NUMBER(8),
Nome CHAR(30),
email CHAR(30),
telefone NUMBER(8),
BairroDoPAssageiro CHAR(30),
PRIMARY KEY (CPF)
);
CREATE TABLE Corrida (
Id NUMBER(6) NOT NULL,
BairroDaPartida CHAR(30),
Valor NUMBER(5),
Kms NUMBER(5),
Prefixo CHAR(4),
CPF NUMBER(8),
PRIMARY KEY (Id),
CONSTRAINT FkCorridaPassageiro FOREIGN KEY (CPF) REFERENCES Passageiro,
CONSTRAINT FkCorridaTaxi FOREIGN KEY (Prefixo) REFERENCES Taxi,
CONSTRAINT ck_BairroDaPartida CHECK (BairroDaPartida IN ('Floresta', 'Sao Joao', 'Higienopolis', 'Auxiliadora'))
);
INSERT INTO Corrida VALUES (313131, 'Sao Joao', 8, 10, '1111', 55555555);
INSERT INTO Corrida VALUES (202020, 'Floresta', 16, 10, '1111', 55555555);
INSERT INTO Corrida VALUES (212121, 'Floresta', 19, 13, '2222', 66666666);
INSERT INTO Corrida VALUES (313131, 'Higienopolis', 15, 9, '1111', 55555555);
b. Listar o nome dos passageiros e o prefixo dos taxis que fizeram corridas com esses passageiros, mas somente para as corridas que tem o mesmo bairro de partida do cadastrado para o passageiro.
Select passageiro.nome, prefixo.taxi from passageiro, taxi where corrida.cpf = corrida.prefixo
d. Listar os prefixos dos taxis que não realizaram
...