Você está na página 1de 4

//Criando a base do trabalho: In�cio

CREATE SCHEMA empresa;

USE empresa;

CREATE TABLE `Cliente` (


`cpf` INT NOT NULL,
`nome` VARCHAR(60) NOT NULL,
`dtNasc` DATE NULL,
PRIMARY KEY (`cpf`));

CREATE TABLE `Modelo` (


`codMod` INT NOT NULL,
`Desc_2` VARCHAR(40) NOT NULL,
PRIMARY KEY (`codMod`));

CREATE TABLE `Veiculo` (


`placa` VARCHAR(8) NOT NULL,
`Modelo_codMod` INT NOT NULL,
`Cliente_cpf` INT NOT NULL,
`cor` VARCHAR(20) NOT NULL,
PRIMARY KEY (`placa`));

CREATE TABLE `Estaciona` (


`cod` INT NOT NULL,
`Patio_num` INT NOT NULL,
`Veiculo_placa` VARCHAR(8) NOT NULL,
`dtEntrada` VARCHAR(10) NOT NULL,
`dtSaida` VARCHAR(10) NOT NULL,
`hsEntrada` VARCHAR(10) NOT NULL,
`hsSaida` VARCHAR(10) NOT NULL,
PRIMARY KEY (`cod`));

CREATE TABLE Patio ( num INT NOT NULL, ender VARCHAR(40) NOT NULL, capacidade INT
NOT NULL, PRIMARY KEY( num ));

ALTER TABLE Estaciona ADD FOREIGN KEY ( Patio_num ) REFERENCES Patio (num);
ALTER TABLE Estaciona ADD FOREIGN KEY ( Veiculo_placa ) REFERENCES Veiculo
(placa);
ALTER TABLE Veiculo ADD FOREIGN KEY ( Modelo_codMOd ) REFERENCES Modelo (codMod);
ALTER TABLE Veiculo ADD FOREIGN KEY ( Cliente_cpf ) REFERENCES Cliente (cpf);
//Criando a base do trabalho: Fim

//Inserindo dados para as consultas: In�cio

INSERT INTO `empresa`.`cliente` (`cpf`, `nome`, `dtNasc`) VALUES ('123456789',


'Joao', '2000-12-12');
INSERT INTO `empresa`.`cliente` (`cpf`, `nome`, `dtNasc`) VALUES ('987654321',
'Maria', '1999-11-11');
INSERT INTO `empresa`.`veiculo` (`placa`, `Modelo_codMod`, `Cliente_cpf`, `cor`)
VALUES ('JJJ-2020', '1', '123456789', 'verde');
INSERT INTO `empresa`.`veiculo` (`placa`, `Modelo_codMod`, `Cliente_cpf`, `cor`)
VALUES ('JEG-1010', '2', '987654321', 'prata');

INSERT INTO `empresa`.`estaciona` (`cod`, `Patio_num`, `Veiculo_placa`,


`dtEntrada`, `dtSaida`, `hsEntrada`, `hsSaida`) VALUES ('1', '12', 'JJJ-2020',
'30/12', '05/01', '12:00', '09:30');
INSERT INTO `empresa`.`estaciona` (`cod`, `Patio_num`, `Veiculo_placa`,
`dtEntrada`, `dtSaida`, `hsEntrada`, `hsSaida`) VALUES ('2', '13', 'JEG-1010',
'05/06', '09/07', '08:20', '18:00');

INSERT INTO `empresa`.`modelo` (`codMod`, `Desc_2`) VALUES ('1', 'Carro verde');


INSERT INTO `empresa`.`modelo` (`codMod`, `Desc_2`) VALUES ('2', 'Carro legal');

//Inserindo dados para as consultas: Fim

//Questao 1

SELECT cliente.Nome,veiculo.placa

FROM cliente,veiculo

WHERE cliente.cpf=veiculo.Cliente_cpf
;

//Questao 2

SELECT cliente.cpf,cliente.nome,veiculo.placa

FROM cliente INNER JOIN veiculo

ON veiculo.placa = 'JJJ-2020'

AND cliente.cpf = veiculo.Cliente_cpf;

//Questao 3

SELECT veiculo.placa,veiculo.cor

FROM veiculo,estaciona

WHERE estaciona.cod = 1

AND veiculo.Modelo_codMod = 1;

//Questao 4

SELECT veiculo.placa,estaciona.dtEntrada

FROM veiculo,estaciona
WHERE estaciona.cod = 1

AND veiculo.Modelo_codMod = 1;

//Questao 5 Claydson, nas tabelas da atividade n�o tinham data do carro a� eu usei
data de entrada no estacionamento

SELECT veiculo.placa,estaciona.dtEntrada,modelo.Desc_2

FROM veiculo,estaciona,modelo
WHERE estaciona.dtEntrada = '30/12'

OR estaciona.dtEntrada = '05/06';

//Questao 6 //O codigo ta certo, fui testar e deu mas dps parou de funcinar mas a
logica ta certa

SELECT patio.ender,estaciona.dtEntrada,estaciona.dtSaida

FROM patio,estaciona INNER JOIN veiculo

WHERE estaciona.Veiculo_placa = 'JEG-1010'

AND veiculo.placa = 'JEG-1010';

//Questao 7

SELECT estaciona.dtEntrada AS 'Qtd de elementos = Qtd de "estacionadas" dos


veiculos de cor verde'

FROM estaciona INNER JOIN veiculo

WHERE veiculo.cor = 'verde'

AND estaciona.Veiculo_placa = veiculo.placa;

//Questao 8

SELECT cliente.nome AS 'Clientes'

FROM cliente INNER JOIN veiculo

WHERE cliente.cpf = veiculo.Cliente_cpf

AND veiculo.Modelo_codMod = 1;

//Questao 9

SELECT veiculo.placa AS 'Ve�culo de cor verde referente �


placa',estaciona.hsEntrada,estaciona.hsSaida

FROM veiculo,estaciona

WHERE veiculo.cor = 'verde';

//Questao 10
SELECT * FROM estaciona
WHERE estaciona.Veiculo_placa = 'JJJ-2020'

//Questao 11

SELECT cliente.nome AS 'Nome de quem possui o ve�culo cujo c�digo do estacionamento


2'

FROM cliente INNER JOIN estaciona,veiculo

WHERE estaciona.cod = 2

AND estaciona.cod = veiculo.Modelo_codMod


AND cliente.cpf = veiculo.Cliente_cpf;

//Questao 12

SELECT cliente.cpf AS 'Se n�o tiver info � pq ngm tem o c�d de estacionamento igual
a 3, mas o codigo funciona'

FROM cliente INNER JOIN estaciona,veiculo

WHERE estaciona.cod = 3

AND estaciona.cod = veiculo.Modelo_codMod

AND cliente.cpf = veiculo.Cliente_cpf;

//Questao 13 Apelei hard para os 'AND' nesse mas funciona

SELECT modelo.Desc_2
FROM modelo INNER JOIN estaciona,veiculo,cliente

WHERE estaciona.cod = 2

AND estaciona.cod = veiculo.Modelo_codMod

AND cliente.cpf = veiculo.Cliente_cpf

AND modelo.Desc_2 = 'Carro legal';

//Questao 14

SELECT veiculo.placa,cliente.nome,modelo.Desc_2

FROM veiculo,cliente,modelo;

Você também pode gostar