-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCompanhia_Aerea.sql
114 lines (85 loc) · 3.38 KB
/
Companhia_Aerea.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
CREATE DATABASE COMPANHIA_AEREA;
USE COMPANHIA_AEREA;
-- CRIAÇAO DA TABELA CLIENTES
CREATE TABLE CLIENTES(
ID_CLIENTES INT (5) UNSIGNED NOT NULL AUTO_INCREMENT, -- UNSIGNED ACEITA SOMENTE VALORES MAIORES QUE 0
NOME VARCHAR (50) NOT NULL,
CPF VARCHAR (11),
EMAIL VARCHAR (200),
DATA_NASCIMENTO DATE, -- A DATA É FORMATADA COMO: '2022-09-28'
PRIMARY KEY (ID_CLIENTES)
);
-- CRIACAO DA TABELA AVIOES
CREATE TABLE AVIOES(
ID_AVIOES INT (5) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
CODIGO VARCHAR (45) NOT NULL,
ASSENTOS INT (3) UNSIGNED
);
-- CRIAÇAO DA TABELA VOOS
CREATE TABLE VOOS(
ID_VOOS INT (5) UNSIGNED NOT NULL AUTO_INCREMENT,
DATA_VOO DATE NOT NULL,
ORIGEM_VOO VARCHAR (5),
DESTINO VARCHAR (5),
ASSENTOS INT (3),
ID_AVIOES INT (5) UNSIGNED NOT NULL,
PRIMARY KEY (ID_VOOS),
FOREIGN KEY (ID_AVIOES) REFERENCES AVIOES (ID_AVIOES)
);
-- CRIAÇAO DA TABELA RESERVAS (DEPENDE DA TABELA VOO E CLIENTES)
CREATE TABLE RESERVAS(
DATA_RESERVA DATE,
ASSENTOS INT (3) UNSIGNED NOT NULL,
ID_CLIENTES INT (5) UNSIGNED NOT NULL,
ID_VOOS INT (5) UNSIGNED NOT NULL,
FOREIGN KEY (ID_CLIENTES) REFERENCES CLIENTES (ID_CLIENTES),
FOREIGN KEY VOOS (ID_VOOS) REFERENCES VOOS (ID_VOOS)
);
-- ADIÇAO DO ATRIBUTO TELEFONE NA TABELA CLIENTES
ALTER TABLE CLIENTES ADD TELEFONE VARCHAR (12);
-- ADIÇAO DO ATRIBUTO ANO DE FABRICACAO NA TABELA AVIOES
ALTER TABLE AVIOES ADD ANO_FABRICACAO VARCHAR (4);
-- MODIFICANDO O ATRIBUTO ANTERIOR PARA YEAR (ANO);
ALTER TABLE AVIOES MODIFY ANO_FABRICACAO YEAR;
-- DESCREVENDO OS ATRIBUTOS DA TABELA VOOS
DESCRIBE VOOS;
-- RENOMEANDO O ATRIBUTO ASSENTOS NA TABELA RESERVA PARA NUMERO_ASSENTO
ALTER TABLE RESERVAS CHANGE ASSENTOS NUMERO_ASSENTO INT (3);
-- MODIFICANDO O ATRIBUTO DATA_RESERVA PARA O TIPO DATETIME
ALTER TABLE RESERVAS MODIFY DATA_RESERVA DATETIME;
-- REMOVENDO O ATRIBUTO TELEFONE DA TABELA CLIENTES
ALTER TABLE CLIENTES DROP TELEFONE;
-- INSERINDO 03 CLIENTES
INSERT INTO CLIENTES (NOME, CPF, EMAIL, DATA_NASCIMENTO)
VALUES ('JOAO', 01539115294, 'JOAO@EMAIL.COM', '1987-09-23'),
('RAFAEL', 01539115299, 'RAFAEL@EMAIL.COM', '1990-12-31'),
('JORGE', 01539115267, 'JORGE@EMAIL.COM', CURRENT_DATE());
-- CURRENT_DATE() PEGA A DATA ATUAL
-- INSERINDO 04 AVIOES
INSERT INTO AVIOES (CODIGO, ASSENTOS, ANO_FABRICACAO)
VALUES ('002', 50, '2010'),
('004', 90, '2015'),
('123', 120, '2019'),
('134', 300, '2013');
-- APAGANDO O SEGUNDO AVIAO ADICIONADO
DELETE FROM AVIOES WHERE ID_AVIOES = 2;
-- ALTERANDO A DATA DE NASCIMENTO DO SEGUNDO CLIENTE
UPDATE CLIENTES SET EMAIL = 'NOVOEMAILDORAFAEL@EMAIL.COM', DATA_NASCIMENTO = CURRENT_DATE()
WHERE ID_CLIENTES = 2;
-- INSERINDO 02 VOOS
INSERT INTO VOOS (DATA_VOO, ORIGEM_VOO, DESTINO, ASSENTOS, ID_AVIOES)
VALUES ('2021-07-23', 'CWB', 'RIO', 70, 4),
('2020-08-23', 'SSA', 'SSP', 50, 1);
-- INSERINDO 02 RESERVAS
INSERT INTO RESERVAS (DATA_RESERVA, NUMERO_ASSENTO, ID_CLIENTES, ID_VOOS)
VALUES ('2021-07-23', 4, 1, 2),
('2020-06-28', 4, 3, 1);
-- INSERINDO UM NOVO CLIENTE
INSERT INTO CLIENTES (NOME, CPF, EMAIL, DATA_NASCIMENTO)
VALUES ('MARIA', '01539115268', 'MARIA@EMAIL.COM', '1987-03-23');
-- APAGANDO O ULTIMO CLIENTE CADASTRADO
DELETE FROM CLIENTES WHERE ID_CLIENTES = 4;
-- ALTERANDO OS DADOS DO PRIMEIRO CLIENTE
UPDATE CLIENTES SET NOME = 'MARIO', CPF = '01539115246', EMAIL = 'MARIO@EMAIL.COM',
DATA_NASCIMENTO = '1978-03-29'
WHERE ID_CLIENTES = 1;