-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.sql
76 lines (63 loc) · 1.8 KB
/
setup.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
CREATE DATABASE CRYPTO_DATABASE;
GO
USE CRYPTO_DATABASE;
GO
-- Create tables and indexes
CREATE TABLE Moeda (
CodigoMoeda VARCHAR(3) PRIMARY KEY,
Nome VARCHAR(255)
);
GO
CREATE INDEX IDX_Moeda_CodigoMoeda ON Moeda(CodigoMoeda);
GO
CREATE TABLE ParesMoedas (
CodigoMoedaBase VARCHAR(3),
CodigoMoedaCotacao VARCHAR(3),
Valor FLOAT,
PRIMARY KEY (CodigoMoedaBase, CodigoMoedaCotacao),
FOREIGN KEY (CodigoMoedaBase) REFERENCES Moeda(CodigoMoeda),
FOREIGN KEY (CodigoMoedaCotacao) REFERENCES Moeda(CodigoMoeda)
);
GO
CREATE INDEX IDX_ParesMoedas_CodigoMoedaBase_CodigoMoedaCotacao ON ParesMoedas(CodigoMoedaBase, CodigoMoedaCotacao);
GO
CREATE TABLE Corretora (
CodigoCorretora INT PRIMARY KEY,
Nome VARCHAR(255)
);
GO
CREATE INDEX IDX_Corretora_CodigoCorretora ON Corretora(CodigoCorretora);
GO
CREATE TABLE Cliente (
CodigoCliente INT PRIMARY KEY,
Nome VARCHAR(255),
Email VARCHAR(255),
Celular VARCHAR(20),
PassHash VARCHAR(255),
MoedaPrincipal VARCHAR(3),
FOREIGN KEY (MoedaPrincipal) REFERENCES Moeda(CodigoMoeda)
);
GO
CREATE INDEX IDX_Cliente_CodigoCliente ON Cliente(CodigoCliente);
GO
CREATE TABLE Carteira (
Endereco VARCHAR(255) PRIMARY KEY,
CodigoCorretora INT,
CodigoCliente INT,
FOREIGN KEY (CodigoCorretora) REFERENCES Corretora(CodigoCorretora),
FOREIGN KEY (CodigoCliente) REFERENCES Cliente(CodigoCliente)
);
GO
CREATE INDEX IDX_Carteira_Endereco ON Carteira(Endereco);
GO
CREATE TABLE ItemCarteira (
CodigoItemCarteira INT PRIMARY KEY,
Endereco VARCHAR(255),
CodigoMoeda VARCHAR(3),
Quantidade FLOAT,
FOREIGN KEY (Endereco) REFERENCES Carteira(Endereco),
FOREIGN KEY (CodigoMoeda) REFERENCES Moeda(CodigoMoeda)
);
GO
CREATE INDEX IDX_ItemCarteira_CodigoItemCarteira ON ItemCarteira(CodigoItemCarteira);
GO