--1) Escreva os scripts de criação das tabelas de acordo com o modelo lógico apresentado.
create table FUNCIONARIO(
CODFUNC SERIAL NOT NULL PRIMARY KEY,
NOME CHAR(200),
ESPECIALIDADE CHAR(255),
SALARIO NUMERIC (9, 2)
);
CREATE TABLE VEICULO(
CODVEICULO SERIAL NOT NULL PRIMARY KEY,
PLACA CHAR(7),
MARCA CHAR(100),
MODELO CHAR(100),
ANO INT,
CODPROPRIETARIO INT
);
CREATE TABLE TESTE(
IDTESTE SERIAL NOT NULL PRIMARY KEY,
CODVEICULO INT
);
CREATE TABLE PROPRIETARIO(
CODPROPRIETARIO SERIAL NOT NULL PRIMARY KEY,
NOME CHAR (255),
CPF CHAR(255),
TELEFONE CHAR(16)
);
CREATE TABLE SERVICO(
CODSERVICO SERIAL NOT NULL PRIMARY KEY,
TIPO INT,
DESCRICAO TEXT,
TEMPO_EXECUCAO INT,
DATA DATE,
PRECO NUMERIC (9, 2),
CODVEICULO INT
);
CREATE TABLE REALIZA(
CODPROPRIETARIO INT,
CODVEICULO INT
);
CREATE TABLE PECA_SERVICO(
CODPECA INT PRIMARY KEY,
CODSERVICO INT
);
CREATE TABLE PECA(
CODPECA SERIAL NOT NULL PRIMARY KEY,
NOME CHAR(255),
VALOR NUMERIC(9, 2)
);
-- DROP TABLE PECA (TESTE)
--2) Altere a tabela PECA, adicionando uma nova coluna para armazenar a quantidade em
estoque.
ALTER TABLE PECA
ADD COLUMN QUANTIDADE INT
SELECT * FROM PECA
--3) Altere o nome da coluna DATA na tabela SERVICO para DATA_SERVICO.
ALTER TABLE SERVICO RENAME DATA TO DATA_SERVICO
SELECT * FROM SERVICO
--4) Insira pelo menos 5 registros nas tabelas PROPRIETARIO, VEICULO, FUNCIONARIO
e PECA.
INSERT INTO PROPRIETARIO (NOME, CPF, TELEFONE)
VALUES ('ARTUR', '000.000.000-00', '21999387364'),
('JORGE', '000.000.000-00', '21999387364'),
('MATEUS', '000.000.000-00', '21999387364'),
('MARCOS', '000.000.000-00', '21999387364'),
('JOAO', '000.000.000-00', '21999387364');
SELECT * FROM PROPRIETARIO;
INSERT INTO VEICULO (PLACA, MARCA, MODELO, ANO)
VALUES ('IKJ2638', 'Fiat', 'Uno', '1999'),
('ABC6547', 'Volkswagen', 'Amarok', '2023'),
('KJG8965', 'Fiat', 'Palio', '2010'),
('IVT4459', 'Volkswagen', 'Gol', '2016'),
('OIZ3285', 'Volkswagen', 'Golf', '2020');
SELECT * FROM VEICULO;
INSERT INTO FUNCIONARIO (NOME, ESPECIALIDADE, SALARIO)
VALUES ('JORGE', 'MECANICA', 3000),
('VINICIUS', 'ELETRICA', 4000),
('GABRIEL', 'MECANICA', 5000),
('TOMAS', 'ELETRICA', 4500),
('BRUNO', 'MECANICA', 3500);
SELECT * FROM FUNCIONARIO
INSERT INTO PECA (NOME, VALOR)
VALUES ('PIVO', 80),
('AMORTECEDOR', 400),
('PNEU', 380),
('CUBO DE RODA', 600),
('TANQUE DO GOL', 800);
SELECT * FROM PECA;
--5) Faça a inserção de pelo menos 3 serviços, relacionando-os com os mecânicos
(funcionários) responsáveis e peças utilizadas.
INSERT INTO SERVICO (TIPO, DESCRICAO, TEMPO_EXECUCAO,
DATA_SERVICO, PRECO, CODVEICULO)
VALUES ('1', 'TROCA DE AMORTECEDOR', '2', '2023-10-20', '150', '3'),
('2', 'TROCA DE PIVO', '2', '2023-10-20', '80', '2'),
('3', 'TROCA CUBO DE RODA', '2', '2023-10-20', '150', '1');
--6) Altere o salário de um funcionário.
UPDATE FUNCIONARIO SET SALARIO = 1500
WHERE CODFUNC = 3
--7) Mude o proprietário de um veículo.
UPDATE VEICULO SET CODPROPRIETARIO = 3
WHERE CODVEICULO = 1
--8) Altere a descrição de um serviço.
UPDATE SERVICO SET DESCRICAO = 'TROCA DE OLEO'
WHERE CODSERVICO = 2
SELECT * FROM SERVICO;
--9) Exclua da tabela PECA_SERVICO todas as ocorrências de peças utilizadas no primeiro
serviço cadastrado.
DELETE FROM PECA_SERVICO WHERE CODSERVICO = 1
--10) Exclua todos os veículos do 5o proprietário cadastrado.
DELETE FROM VEICULO WHERE CODPROPRIETARIO = 5
--11) Exclua todos os funcionários que possuem salário maior que R$ 8000,00.
DELETE FROM FUNCIONARIO WHERE SALARIO > 8000