-
Notifications
You must be signed in to change notification settings - Fork 0
/
SQL_Scripts.sql
81 lines (75 loc) · 2.31 KB
/
SQL_Scripts.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
CREATE DATABASE GerenciaNaves
GO
USE GerenciaNaves
-- Cria a tabela planetas
CREATE TABLE Planetas(
IdPlaneta int NOT NULL,
Nome varchar(50) NOT NULL,
Rotacao float NOT NULL,
Orbita float NOT NULL,
Diametro float NOT NULL,
Clima varchar(50) NOT NULL,
Populacao int NOT NULL
)
GO
-- Seta o campo IdPlaneta com a chave primaria
ALTER TABLE Planetas ADD CONSTRAINT PK_Planetas PRIMARY KEY (IdPlaneta);
-- Cria a tabela naves
CREATE TABLE Naves(
IdNave int NOT NULL,
Nome varchar(100) NOT NULL,
Modelo varchar(150) NOT NULL,
Passageiros int NOT NULL,
Carga float NOT NULL,
Classe varchar(100) NOT NULL
)
GO
-- Seta o campo IdNave como a chave primaria
ALTER TABLE Naves ADD CONSTRAINT PK_Naves PRIMARY KEY (IdNave);
-- Cria a tabela Pilotos
CREATE TABLE Pilotos(
IdPiloto int NOT NULL,
Nome varchar(200) NOT NULL,
AnoNascimento varchar(10) NOT NULL,
IdPlaneta int NOT NULL
)
GO
-- Seta o campo idPilotos como chave primária
ALTER TABLE Pilotos ADD CONSTRAINT PK_Pilotos PRIMARY KEY (IdPiloto);
GO
-- Seta o campo idPlaneta como chave estrangeira para o campo IdPlaneta na Tabela Planetas
ALTER TABLE Pilotos ADD CONSTRAINT FK_Pilotos_Planetas FOREIGN KEY(IdPlaneta)
REFERENCES Planetas (IdPlaneta)
-- Cria
CREATE TABLE PilotosNaves(
IdPiloto int NOT NULL,
IdNave int NOT NULL,
FlagAutorizado bit NOT NULL
)
GO
ALTER TABLE PilotosNaves ADD CONSTRAINT PK_PilotosNaves PRIMARY KEY (IdPiloto, IdNave);
GO
ALTER TABLE PilotosNaves ADD CONSTRAINT FK_PilotosNaves_Pilotos FOREIGN Key(IdPiloto)
REFERENCES Pilotos (IdPiloto)
GO
ALTER TABLE PilotosNaves ADD CONSTRAINT FK_PilotosNaves_Naves FOREIGN KEY (IdNave)
REFERENCES Naves (IdNave)
GO
ALTER TABLE PilotosNaves ADD CONSTRAINT DF_PilotosNaves_FlagAutorizado DEFAULT (1) FOR FlagAutorizado
-- Cria a tabela de viagens da nave
CREATE TABLE HistoricoViagens(
IdNave int NOT NULL,
IdPiloto int NOT NULL,
DtSaida datetime NOT NULL,
DtChegada datetime NULL
)
GO
ALTER TABLE HistoricoViagens ADD CONSTRAINT FK_HistoricoViagens_PilotosNaves FOREIGN KEY (IdPiloto, IdNave)
REFERENCES PilotosNaves (IdPiloto, IdNave)
GO
ALTER TABLE HistoricoViagens CHECK CONSTRAINT FK_HistoricoViagens_PilotosNaves
select * from Pilotos
select * from Planetas
select * from Naves
Select * from PilotosNaves
select * from HistoricoViagens