Created
February 7, 2025 18:40
-
-
Save andersonbosa/8788ca2cf4671903451845e98ab5dd39 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CREATE TABLE cliente ( | |
id INT NOT NULL, | |
nome VARCHAR(45) NOT NULL, | |
sobrenome VARCHAR(45) NOT NULL, | |
idade INT NOT NULL, | |
PRIMARY KEY (id) | |
); | |
CREATE TABLE carro ( | |
id INT NOT NULL, | |
marca VARCHAR(45) NOT NULL, | |
modelo VARCHAR(45) NOT NULL, | |
ano INT NOT NULL, | |
kilometragem VARCHAR(45) NOT NULL, | |
placa VARCHAR(45) NOT NULL, | |
PRIMARY KEY (id), | |
UNIQUE INDEX placa_UNIQUE (placa ASC) | |
); | |
CREATE TABLE ordem_servico ( | |
id INT NOT NULL, | |
tipo VARCHAR(45) NOT NULL, | |
custo VARCHAR(45) NOT NULL, | |
observacao TEXT NOT NULL, | |
PRIMARY KEY (id) | |
); | |
CREATE TABLE avaliacao ( | |
id INT NOT NULL, | |
nota INT NOT NULL, | |
comentario VARCHAR(255) NULL, | |
ordem_servico_id INT NOT NULL, | |
PRIMARY KEY (id), | |
INDEX fk_avaliacao_ordem_servico1_idx (ordem_servico_id ASC), | |
CONSTRAINT fk_avaliacao_ordem_servico1 | |
FOREIGN KEY (ordem_servico_id) | |
REFERENCES ordem_servico (id) | |
ON DELETE NO ACTION | |
ON UPDATE NO ACTION | |
); | |
CREATE TABLE cliente_has_carro ( | |
cliente_id INT NOT NULL, | |
carro_id INT NOT NULL, | |
PRIMARY KEY (cliente_id, carro_id), | |
INDEX fk_cliente_has_carro_carro1_idx (carro_id ASC), | |
INDEX fk_cliente_has_carro_cliente_idx (cliente_id ASC), | |
CONSTRAINT fk_cliente_has_carro_cliente | |
FOREIGN KEY (cliente_id) | |
REFERENCES cliente (id) | |
ON DELETE NO ACTION | |
ON UPDATE NO ACTION, | |
CONSTRAINT fk_cliente_has_carro_carro1 | |
FOREIGN KEY (carro_id) | |
REFERENCES carro (id) | |
ON DELETE NO ACTION | |
ON UPDATE NO ACTION | |
); | |
CREATE TABLE carro_has_ordem_servico ( | |
carro_id INT NOT NULL, | |
ordem_servico_id INT NOT NULL, | |
PRIMARY KEY (carro_id, ordem_servico_id), | |
INDEX fk_carro_has_ordem_servico_ordem_servico1_idx (ordem_servico_id ASC), | |
INDEX fk_carro_has_ordem_servico_carro1_idx (carro_id ASC), | |
CONSTRAINT fk_carro_has_ordem_servico_carro1 | |
FOREIGN KEY (carro_id) | |
REFERENCES carro (id) | |
ON DELETE NO ACTION | |
ON UPDATE NO ACTION, | |
CONSTRAINT fk_carro_has_ordem_servico_ordem_servico1 | |
FOREIGN KEY (ordem_servico_id) | |
REFERENCES ordem_servico (id) | |
ON DELETE NO ACTION | |
ON UPDATE NO ACTION | |
); | |
-- Inserindo dados na tabela cliente | |
INSERT INTO cliente (id, nome, sobrenome, idade) VALUES | |
(1, 'João', 'Silva', 30), | |
(2, 'Maria', 'Santos', 25), | |
(3, 'Pedro', 'Almeida', 40), | |
(4, 'Ana', 'Oliveira', 35), | |
(5, 'Lucas', 'Ferreira', 28); | |
-- Inserindo dados na tabela carro | |
INSERT INTO carro (id, marca, modelo, ano, kilometragem, placa) VALUES | |
(1, 'Volkswagen', 'Gol', 2020, '50000', 'ABC1234'), | |
(2, 'Fiat', 'Uno', 2018, '75000', 'DEF5678'), | |
(3, 'Chevrolet', 'Onix', 2022, '25000', 'GHI9012'), | |
(4, 'Hyundai', 'HB20', 2021, '40000', 'JKL3456'), | |
(5, 'Toyota', 'Corolla', 2019, '60000', 'MNO7890'); | |
-- Inserindo dados na tabela ordem_servico | |
INSERT INTO ordem_servico (id, tipo, custo, observacao) VALUES | |
(1, 'Revisão', '500', 'Troca de óleo e filtros'), | |
(2, 'Manutenção', '800', 'Troca de pneus'), | |
(3, 'Reparo', '1200', 'Conserto do motor'), | |
(4, 'Revisão', '600', 'Troca de óleo, filtros e freios'), | |
(5, 'Manutenção', '900', 'Alinhamento e balanceamento'); | |
-- Inserindo dados na tabela avaliacao | |
INSERT INTO avaliacao (id, nota, comentario, ordem_servico_id) VALUES | |
(1, 5, 'Excelente serviço!', 1), | |
(2, 4, 'Bom atendimento.', 2), | |
(3, 3, 'Poderia ser melhor.', 3), | |
(4, 5, 'Ótimo serviço e preço justo.', 4), | |
(5, 4, 'Recomendo.', 5); | |
INSERT INTO cliente_has_carro (cliente_id, carro_id) VALUES | |
(1, 1), | |
(1, 2), | |
(2, 3), | |
(3, 4), | |
(4, 5), | |
(5, 1); | |
INSERT INTO carro_has_ordem_servico (carro_id, ordem_servico_id) VALUES | |
(1, 1), | |
(2, 2), | |
(3, 3), | |
(4, 4), | |
(5, 5), | |
(1, 4); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment