[go: up one dir, main page]

Academia.eduAcademia.edu
CREATE DATABASE EXERCICIO GO USE EXERCICIO GO CREATE TABLE MARCA ( ID INTEGER NOT NULL, DESCRICAO VARCHAR (50), SITUACAO TINYINT ) GO ALTER TABLE MARCA ADD CONSTRAINT PK_MARCA_ID PRIMARY KEY (ID) GO CREATE TABLE MODELO ( ID INTEGER NOT NULL, MARCA_ID INTEGER, DESCRICAO VARCHAR (50), SITUACAO TINYINT ) GO ALTER TABLE MODELO ADD CONSTRAINT PK_MODELO_ID PRIMARY KEY (ID) GO ALTER TABLE MODELO ADD CONSTRAINT FK_MARCA FOREIGN KEY ( MARCA_ID) REFERENCES MARCA (ID) GO CREATE TABLE VEICULO ( ID INTEGER NOT NULL , MODELO_ID INTEGER, PLACA VARCHAR(8), RENAVAN VARCHAR(11), CHASSI VARCHAR(17), ANOFABRICACAO INTEGER, ANOMODELO INTEGER, POTENCIA DECIMAL (10,2), KM DECIMAL (10,2), NROMOTOR INTEGER ) GO ALTER TABLE VEICULO ADD CONSTRAINT PK_VEICULO_ID PRIMARY KEY (ID) GO ALTER TABLE VEICULO ADD CONSTRAINT FK_MODELO FOREIGN KEY (MODELO_ID) REFERENCES MODELO (ID) GO CREATE TABLE CARRO ( VEICULO_ID INTEGER NOT NULL, NROPORTAS INTEGER ) GO ALTER TABLE CARRO ADD CONSTRAINT FK_VEICULO FOREIGN KEY (VEICULO_ID) REFERENCES VEICULO (ID) GO select * from MOTO CREATE TABLE MOTO ( VEICULO_ID INTEGER NOT NULL, TRANPCARGA INTEGER ) GO ALTER TABLE MOTO ADD CONSTRAINT FK_VEICULO_MOTO_ID FOREIGN KEY (VEICULO_ID) REFERENCES VEICULO (ID) GO CREATE TABLE OPCIONAL ( ID INT NOT NULL, DESCRICAO VARCHAR(50), SITUACAO TINYINT ) GO ALTER TABLE OPCIONAL ADD CONSTRAINT PK_OPCIONAL_ID PRIMARY KEY (ID) GO CREATE TABLE VEICULO_OPCIONAL ( VEICULO_ID INT, OPCIONAL_ID INT, CONSTRAINT FK_VEICULO_OPCIONAL FOREIGN KEY (VEICULO_ID) REFERENCES VEICULO (ID), CONSTRAINT FK_OPCIONAL_VEICULO FOREIGN KEY (OPCIONAL_ID) REFERENCES OPCIONAL (ID) ) GO CREATE TABLE MOTORIZACAO ( ID INTEGER NOT NULL, DESCRICAO VARCHAR(50), ) go ALTER TABLE MOTORIZACAO ADD CONSTRAINT PK_MOTORIZACAO_ID PRIMARY KEY (ID) go CREATE TABLE VEICULO_MOTORIZACAO ( VEICULO_ID INT, MOTORIZACAO_ID INT, CONSTRAINT FK_VEICULO_MOTORIZACAO FOREIGN KEY (VEICULO_ID) REFERENCES VEICULO (ID), CONSTRAINT FK_MOTORIZACAO_VEICULO FOREIGN KEY (MOTORIZACAO_ID) REFERENCES MOTORIZACAO (ID) ) GO CREATE TABLE COR ( ID INTEGER NOT NULL, DESCRICAO VARCHAR(50) ) GO ALTER TABLE COR ADD SITUACAO TINYINT ALTER TABLE COR ADD CONSTRAINT PK_COR_ID PRIMARY KEY (ID) GO CREATE TABLE VEICULO_COR ( VEICULO_ID INT, COR_ID INT, CONSTRAINT FK_VEICULO_COR FOREIGN KEY (VEICULO_ID) REFERENCES VEICULO (ID), CONSTRAINT FK_COR_VEICULO FOREIGN KEY (COR_ID) REFERENCES COR (ID) ) GO CREATE TABLE COMBUSTIVEL ( ID INTEGER NOT NULL, DESCRICAO VARCHAR(50), SITUACAO TINYINT ) go ALTER TABLE COMBUSTIVEL ADD CONSTRAINT PK_COMBUSTIVEL_ID PRIMARY KEY (ID) GO CREATE TABLE VEICULO_COMBUSTIVEL ( VEICULO_ID INT, COMBUSTIVEL_ID INT, CONSTRAINT FK_VEICULO_COMBUSTIVEL FOREIGN KEY (VEICULO_ID) REFERENCES VEICULO (ID), CONSTRAINT FK_COMBUSTIVEL_VEICULO FOREIGN KEY (COMBUSTIVEL_ID) REFERENCES COMBUSTIVEL (ID) ) GO CREATE TABLE TIPOVEICULO ( ID INTEGER NOT NULL, DESCRICAO VARCHAR (10), VALOR DECIMAL (10,2) ) GO ALTER TABLE TIPOVEICULO ADD CONSTRAINT PK_TIPOVEICULO_ID PRIMARY KEY (ID) GO CREATE TABLE MOVIMENTOVEICULO ( ID INTEGER NOT NULL, DHENTRADA DATETIME, DHSAIDA DATETIME, VALOR DECIMAL(10,2), TIPOVEICULO_ID INTEGER, VEICULO_ID INTEGER ) GO ALTER TABLE MOVIMENTOVEICULO ADD CONSTRAINT PK_MOVIMENTOVEICULO_ID PRIMARY KEY (ID) GO ALTER TABLE MOVIMENTOVEICULO ADD CONSTRAINT FK_TIPOVEICULO_ID FOREIGN KEY (TIPOVEICULO_ID) REFERENCES TIPOVEICULO (ID), CONSTRAINT FK_VEICULO_ID FOREIGN KEY (VEICULO_ID) REFERENCES VEICULO (ID) GO CREATE TABLE MOTORISTA ( ID INTEGER NOT NULL, NOME VARCHAR (50), CPF VARCHAR (11), RG VARCHAR (11), HABILITACAO VARCHAR (2) ) GO ALTER TABLE MOTORISTA ADD CONSTRAINT PK_MOTORISTA_ID PRIMARY KEY(ID) GO CREATE TABLE MOTORISTA_VEICULO ( MOTORISTA_ID INT NOT NULL, VEICULO_ID INT NOT NULL, CONSTRAINT FK_VEICULO_MOTORISTA FOREIGN KEY (VEICULO_ID) REFERENCES VEICULO (ID), CONSTRAINT FK_MOTORISTA_VEICULO FOREIGN KEY (MOTORISTA_ID) REFERENCES VEICULO (ID) ) /* RESPOSTA 2 */ ALTER TABLE MARCA ADD CONSTRAINT CHK_SITUACAO CHECK (SITUACAO IN (1,2)) GO ALTER TABLE MODELO ADD CONSTRAINT CHK_MODELO CHECK (SITUACAO IN (1,2)) GO ALTER TABLE OPCIONAL ADD CONSTRAINT CHK_OPIONAL CHECK (SITUACAO IN (1,2)) GO ALTER TABLE COR ADD CONSTRAINT CHK_COR CHECK (SITUACAO IN (1,2)) GO ALTER TABLE COMBUSTIVEL ADD CONSTRAINT CHK_COMBUSTIVEL CHECK (SITUACAO IN (1,2)) GO /* RESPOSTA 3 */ INSERT INTO VEICULO VALUES (11, 11, 'CC', 'DD', '444', 50, 100, 0.1, 1.25, 33) INSERT INTO MODELO VALUES (11, 11,'BB', 2) INSERT INTO MARCA VALUES (11, 'TESTA',1) SELECT * FROM MARCA SELECT * FROM MODELO SELECT * FROM VEICULO ALTER TABLE VEICULO ADD CONSTRAINT CHK_ANOFABRICACAO_MENOR_ANOMODELO CHECK (ANOFABRICACAO <= ANOMODELO) GO /* RESPOSTA 4 */ ALTER TABLE VEICULO ADD CONSTRAINT CHK_POTENCIA_NULL CHECK (POTENCIA is not null ) GO /* RESPOSTA 5 */ ALTER TABLE VEICULO ADD CONSTRAINT CHK_KM_NULL CHECK (KM is not null ) GO ALTER TABLE VEICULO ADD CONSTRAINT CHK_NROMOTOR_NULL CHECK (NROMOTOR is not null ) GO /* RESPOSTA 6 */ ALTER TABLE MOVIMENTOVEICULO ADD CONSTRAINT CHK_DHSAIDA_MAIOR CHECK (DHSAIDA > DHENTRADA ) GO /* RESPOSTA 7 */ /* RESPOSTA 8 */ ALTER TABLE MARCA ADD CONSTRAINT UNQ_DESCRICAO UNIQUE (DESCRICAO) /* RESPOSTA 9 */ ALTER TABLE MODELO ADD CONSTRAINT UNQ_DESCRICAO_MODELO UNIQUE (DESCRICAO) SELECT * FROM VEICULO SELECT * FROM MARCA SELECT * FROM MODELO INSERT INTO COR VALUES (1, 'AZUL',1), (2, 'QQ',2), (3, 'RE',1), (4, 'TE',2) INSERT INTO OPCIONAL VALUES (1, 'TETT', 1), (2, 'AAA', 2), (3, 'RRRR', 1), (4, 'UUU', 2) INSERT INTO COMBUSTIVEL VALUES (1, 'RE', 1), (2, 'TE', 2), (3, 'GF', 1), (4, 'MB', 2), (5, 'IO', 1) /***********************/ INSERT INTO VEICULO VALUES (1, 1, 'C', 'DD', '444', 10, 150, 0.2, 1.28, 41), (2, 2, 'D', 'CC', '444', 20, 160, 0.3, 1.29, 42), (3, 3, 'E', 'EE', '444', 30, 170, 0.4, 1.30, 43), (4, 4, 'F', 'FF', '444', 40, 180, 0.5, 1.31, 44), (5, 5, 'F', 'FF', '444', 40, 180, 0.5, 1.31, 44) INSERT INTO MODELO VALUES (1, 1,'bh', 1), (2, 2,'WW', 1), (3, 3,'AA', 2), (4, 4,'OO', 1), (5, 5,'PP', 2) INSERT INTO MARCA VALUES (1, 'TES',1), (2, 'TESTAS',1), (3, 'TESTES',2), (4, 'TESTOS',1), (5, 'TESTAW',1) SELECT * FROM MARCA SELECT * FROM MODELO SELECT * FROM VEICULO /* ----------------------*/ SELECT * FROM MOTORISTA SELECT * FROM MOTORISTA_VEICULO INSERT INTO MOTORISTA VALUES (1, 'Jose','10643212354', '12345678','A'), (2, 'benta','11111111111', '87654321','b'), (3, 'Joao','06432321455', '12345678','a'), (4, 'ricardo','10643223121', '12345678','AC'), (5, 'amera','06432121233', '12345678','E') INSERT INTO MOTORISTA_VEICULO VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5) /*------------------------*/ SELECT * FROM TIPOVEICULO SELECT * FROM MOVIMENTOVEICULO INSERT INTO TIPOVEICULO VALUES (1, 'aaa', 0.1), (2, 'bbb', 0.2), (3, 'ccc', 0.3), (4, 'ddd', 0.4), (5, 'eee', 0.5) INSERT INTO MOVIMENTOVEICULO VALUES (1, 1, 1, 111/2/2, 2050/3/40, 0.10) /*------------------*/ SELECT * FROM CARRO SELECT * FROM MOTO INSERT INTO CARRO VALUES (1, 2), (2, 4), (3, 4), (4, 4), (5, 4) INSERT INTO MOTO VALUES (1, 1), (2, 2), (3, 2), (4, 1), (5, 2) /*----------------------*/ SELECT * FROM OPCIONAL SELECT * FROM VEICULO_OPCIONAL INSERT INTO OPCIONAL VALUES (5, 'pegaa', 2) INSERT INTO VEICULO_OPCIONAL VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5) /*----------------------*/ SELECT * FROM MOTORIZACAO SELECT * FROM VEICULO_MOTORIZACAO INSERT INTO MOTORIZACAO VALUES (1, 'mtbomm'), (2, 'mais ou menos'), (3, 'pega bastante'), (4, 'conserto'), (5, 'pega') INSERT INTO VEICULO_MOTORIZACAO VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5) /*----------------------*/ SELECT * FROM COR SELECT * FROM VEICULO_COR INSERT INTO COR VALUES (5, 'preto',2) INSERT INTO VEICULO_COR VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5) /* ------------*/ SELECT * FROM COMBUSTIVEL SELECT * FROM VEICULO_COMBUSTIVEL INSERT INTO VEICULO_COMBUSTIVEL VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5) /* EXERCICIO 7 */ ALTER TABLE VEICULO_OPCIONAL DROP CONSTRAINT FK_OPCIONAL_VEICULO GO ALTER TABLE VEICULO_MOTORIZACAO DROP CONSTRAINT FK_MOTORIZACAO_VEICULO GO ALTER TABLE VEICULO_COR DROP CONSTRAINT FK_COR_VEICULO GO ALTER TABLE VEICULO_COMBUSTIVEL DROP CONSTRAINT FK_VEICULO_COMBUSTIVEL GO ALTER TABLE VEICULO_OPCIONAL ADD CONSTRAINT FK_OPCIONAL_VEICULO FOREIGN KEY (VEICULO_ID) REFERENCES VEICULO (ID) ON UPDATE SET NULL ON DELETE CASCADE GO ALTER TABLE VEICULO_MOTORIZACAO ADD CONSTRAINT FK_MOTORIZACAO_VEICULO FOREIGN KEY (VEICULO_ID) REFERENCES VEICULO (ID) ON UPDATE SET NULL ON DELETE CASCADE GO ALTER TABLE VEICULO_COR ADD CONSTRAINT FK_COR_VEICULO FOREIGN KEY (VEICULO_ID) REFERENCES VEICULO (ID) ON UPDATE SET NULL ON DELETE CASCADE GO ALTER TABLE VEICULO_COMBUSTIVEL ADD CONSTRAINT FK_VEICULO_COMBUSTIVEL FOREIGN KEY (VEICULO_ID) REFERENCES VEICULO (ID) ON UPDATE SET NULL ON DELETE CASCADE