BD II – SQL – Exercício 1

Analisando os seguintes modelos conceitual e físico abaixo:

Figura 1: Modelo conceitual

Figura 2: Modelo lógico

 

Foi gerado o seguinte modelo físico:

CREATE TABLE USUARIO (
 USUCODIGO SERIAL PRIMARY KEY,
 USUNOME VARCHAR(100) NOT NULL
);

INSERT INTO USUARIO(USUNOME) VALUES ('CLARK KENT SILVA');
INSERT INTO USUARIO(USUNOME) VALUES ('HARRY POTTER DE TRAS DOS MONTES');
INSERT INTO USUARIO(USUNOME) VALUES ('ANA MARIA BREGA');
INSERT INTO USUARIO(USUNOME) VALUES ('MARIA DA GRAÇA CHUTA O. PASTEL');

SELECT * FROM USUARIO;

/*
SAIDA:
1;"CLARK KENT SILVA"
2;"HARRY POTTER DE TRAS DOS MONTES"
3;"ANA MARIA BREGA"
4;MARIA DA GRAÇA CHUTA O. PASTEL
*/


CREATE TABLE CATEGORIA (
 CATCODIGO SERIAL PRIMARY KEY,
 CATNOME VARCHAR(50) NOT NULL,
 CATVALOR NUMERIC(8,2) NOT NULL
);

INSERT INTO CATEGORIA(CATNOME,CATVALOR) VALUES ('CLASSE EXECUTIVA',0.97);
INSERT INTO CATEGORIA(CATNOME,CATVALOR) VALUES ('CLASSE LUXO',1.10);
INSERT INTO CATEGORIA(CATNOME,CATVALOR) VALUES ('CLASSE TRANSPORTE',0.77);
INSERT INTO CATEGORIA(CATNOME,CATVALOR) VALUES ('CLASSE PADRÃO',0.88);

SELECT * FROM CATEGORIA;
/*
SAÍDA
1;"CLASSE EXECUTIVA";0.97
2;"CLASSE LUXO";1.10
3;"CLASSE TRANSPORTE";0.77
4;"CLASSE PADRÃO";0.88
*/

CREATE TABLE VEICULO (
 VEICODIGO SERIAL PRIMARY KEY,
 VEIDESCRICAO VARCHAR(150) NOT NULL,
 VEIMARCA VARCHAR(30) NOT NULL,
 VEIPLACA CHAR(7) NOT NULL,
 VEIANO INTEGER NOT NULL,
 CATCODIGO INTEGER NOT NULL,
 USUCODIGO INTEGER,
 LOCDATALOCACAO DATE,
 LOCKMINICIAL INTEGER,
 FOREIGN KEY(USUCODIGO) REFERENCES USUARIO (USUCODIGO),
 FOREIGN KEY(CATCODIGO) REFERENCES CATEGORIA (CATCODIGO)
);



INSERT INTO VEICULO(VEIDESCRICAO,VEIMARCA,VEIPLACA,VEIANO,CATCODIGO,USUCODIGO,LOCDATALOCACAO,LOCKMINICIAL) VALUES 
   ('ASTRA GT','GM','BOM2004',2004,1,NULL,NULL,NULL);

INSERT INTO VEICULO(VEIDESCRICAO,VEIMARCA,VEIPLACA,VEIANO,CATCODIGO,USUCODIGO,LOCDATALOCACAO,LOCKMINICIAL) VALUES 
   ('LINCOLN TOWN CAR LIMOUSINE 4.6 8L','LINCOLN','MAU1818',1999,2,NULL,NULL,NULL);

INSERT INTO VEICULO(VEIDESCRICAO,VEIMARCA,VEIPLACA,VEIANO,CATCODIGO,USUCODIGO,LOCDATALOCACAO,LOCKMINICIAL) VALUES 
   ('FORD EXCURSION 4×4 STRETCH 14 PASS LIMOUSINE','FORD','TET3430',2003,2,NULL,NULL,NULL);


INSERT INTO VEICULO(VEIDESCRICAO,VEIMARCA,VEIPLACA,VEIANO,CATCODIGO,USUCODIGO,LOCDATALOCACAO,LOCKMINICIAL) VALUES 
   ('KIA BETA GS 2.7 12 LUGARES','KIA','UGA9988',1996,3,NULL,NULL,NULL);


INSERT INTO VEICULO(VEIDESCRICAO,VEIMARCA,VEIPLACA,VEIANO,CATCODIGO,USUCODIGO,LOCDATALOCACAO,LOCKMINICIAL) VALUES 
   ('VOYAGE 1.6 HIGHLINE','VW','ITJ2219',2010,4,NULL,NULL,NULL);  


SELECT * FROM VEICULO;

/*
SAÍDA
1;"ASTRA GT";"GM";"BOM2004";2004;1;;"";
2;"LINCOLN TOWN CAR LIMOUSINE 4.6 8L";"LINCOLN";"MAU1818";1999;2;;"";
3;"FORD EXCURSION 4×4 STRETCH 14 PASS LIMOUSINE";"FORD";"TET3430";2003;2;;"";
4;"KIA BETA GS 2.7 12 LUGARES";"KIA";"UGA9988";1996;3;;"";
5;"VOYAGE 1.6 HIGHLINE";"VW";"ITJ2219";2010;4;;"";
*/

CREATE TABLE OFICINA (
 OFICODIGO SERIAL PRIMARY KEY,
 OFINOME VARCHAR(50) NOT NULL,
 OFIFONE VARCHAR(12) NOT NULL
);

INSERT INTO OFICINA (OFINOME,OFIFONE) VALUES ('JORGE DA BORRACHARIA','888-Y919191');
INSERT INTO OFICINA (OFINOME,OFIFONE) VALUES ('DR MACETE','777-7Y919191');
INSERT INTO OFICINA (OFINOME,OFIFONE) VALUES ('LATA VELHA','000-Y919191');

SELECT * FROM OFICINA;

/*
SAÍDA
1;"JORGE DA BORRACHARIA";"888-9919191"
2;"DR MACETE";"777-70919191"
3;"LATA VELHA";"000-6919191"
*/

CREATE TABLE REVISAO (
 OFICODIGO BIGINT NOT NULL,
 VEICODIGO BIGINT NOT NULL,
 REVKILOMETRAGEM INTEGER NOT NULL,
 REVDATA DATE NOT NULL,
 REVSERVICO VARCHAR(300) NOT NULL,
 REVVALOR NUMERIC(10,2) NOT NULL,
 FOREIGN KEY(OFICODIGO) REFERENCES OFICINA (OFICODIGO),
 FOREIGN KEY(VEICODIGO) REFERENCES VEICULO (VEICODIGO)
);

Pede-se os comandos estudados até hoje:

Podem utilizar esta aula para responder:

https://alexevalerio.wordpress.com/2014/03/25/lmdb-sql-clausula-where-e-seus-operadores/

Os valores que estão na tabela CATEGORIA (CATVALOR) corresponde ao KM rodado.

  1. Criar um novo banco de dados no PostGreSQL chamado TRANSIF ;
  2. Alterar o nome do cliente CLARK KENT SILVA para CLARK KENT ;
  3. Selecionar (mostrar,select) os usuários 1, 2 e 3 ;
  4. Selecionar todos os veículos fabricados apartir do ano 2000;
  5. Todos os valores dos aluguéis subiram 5% ;
  6. O veículo FORD EXCURSION 4×4 STRETCH 14 PASS LIMOUSINE  foi pra revisão;
  7. KIA BETA GS 2.7 12 LUGARES foi pra revisão;
  8. LINCOLN TOWN CAR LIMOUSINE 4.6 8L foi alugado pelo CLARK KENT;
  9. Mostrar todos os veículo em ordem alfabética;
  10. Eliminar o veículo ASTRA GT ;
  11. O veículo KIA BETA GS 2.7 12 LUGARES  pode ser eliminado?
  12. Altere o fone (telefone) da oficina LATA VELHA para 111-4919191);
Esse post foi publicado em BD II - Banco de Dados II. Bookmark o link permanente.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s