This repository was archived by the owner on Jul 6, 2018. It is now read-only.
Repository navigation
Expand file tree
/
Copy path01table_declaration.sql
More file actions
103 lines (89 loc) · 2.22 KB
/
Copy path01table_declaration.sql
File metadata and controls
103 lines (89 loc) · 2.22 KB
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
DROP TABLE nations CASCADE;
DROP TABLE venues CASCADE;
DROP TABLE homologations CASCADE;
DROP TABLE k_points CASCADE;
DROP TABLE athletes CASCADE;
DROP TABLE referees CASCADE;
DROP TABLE calendar CASCADE;
DROP TABLE results_alpine CASCADE;
DROP TABLE results_jumping CASCADE;
DROP TABLE ranking_alpine CASCADE;
DROP TABLE ranking_jumping CASCADE;
-----------------------------------------------------------------------------------------------------------------------------
CREATE TABLE nations
(
name VARCHAR(30) UNIQUE NOT NULL,
short VARCHAR(3) UNIQUE NOT NULL
);
CREATE TABLE venues
(
id_venue SERIAL NOT NULL,
venue VARCHAR(30) NOT NULL,
nation VARCHAR(3) NOT NULL
);
CREATE TABLE homologations
(
id_venue INTEGER NOT NULL,
discipline VARCHAR(2) NOT NULL
);
CREATE TABLE k_points
(
id_venue INTEGER NOT NULL,
k_point VARCHAR(4) NOT NULL
);
CREATE TABLE athletes
(
id_athlete SERIAL NOT NULL,
f_name VARCHAR(25) NOT NULL,
l_name VARCHAR(30) NOT NULL,
b_date DATE NOT NULL,
active BOOLEAN NOT NULL DEFAULT TRUE,
nation VARCHAR(3) NOT NULL,
club VARCHAR(40),
sector VARCHAR(2) NOT NULL
);
CREATE TABLE referees
(
id_referee SERIAL NOT NULL,
f_name VARCHAR(25) NOT NULL,
l_name VARCHAR(30) NOT NULL,
b_date DATE NOT NULL,
active BOOLEAN NOT NULL DEFAULT TRUE,
nation VARCHAR(3) NOT NULL,
sector VARCHAR(2) NOT NULL
);
CREATE TABLE calendar
(
id_competition SERIAL NOT NULL,
id_venue INTEGER NOT NULL,
c_date DATE NOT NULL,
sector VARCHAR(2) NOT NULL,
discipline VARCHAR(2),
id_referee INTEGER NOT NULL,
world_cup BOOLEAN NOT NULL DEFAULT FALSE,
counted BOOLEAN NOT NULL DEFAULT FALSE
);
CREATE TABLE results_alpine
(
id_competition INTEGER NOT NULL,
id_athlete INTEGER NOT NULL,
f_leg NUMERIC(6,2) NOT NULL,
s_leg NUMERIC(6,2) DEFAULT NULL
);
CREATE TABLE results_jumping
(
id_competition INTEGER NOT NULL,
id_athlete INTEGER NOT NULL,
f_jump NUMERIC(6,2) NOT NULL,
s_jump NUMERIC(6,2) DEFAULT NULL
);
CREATE TABLE ranking_alpine
(
id_athlete INTEGER UNIQUE NOT NULL,
points INTEGER DEFAULT 0
);
CREATE TABLE ranking_jumping
(
id_athlete INTEGER UNIQUE NOT NULL,
points INTEGER DEFAULT 0
);