- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathScript Final.sql
More file actions
Latest commit
238 lines (203 loc) · 6.89 KB
/
Copy pathScript Final.sql
File metadata and controls
238 lines (203 loc) · 6.89 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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
-- -----------------------------------------------------
-- Schema golf
-- -----------------------------------------------------
CREATESCHEMAIF NOT EXISTS golf ;
USE golf ;
-- -----------------------------------------------------
-- Table admin
-- -----------------------------------------------------
DROPTABLE IF EXISTS admin ;
CREATETABLEIF NOT EXISTS admin (
id_admin VARCHAR(20) NOT NULL,
mdp_admin VARCHAR(20) NOT NULL,
PRIMARY KEY (id_admin));
-- -----------------------------------------------------
-- Table arbitre
-- -----------------------------------------------------
DROPTABLE IF EXISTS arbitre ;
CREATETABLEIF NOT EXISTS arbitre (
id_arbitre VARCHAR(20) NOT NULL,
nom_arbitre VARCHAR(20) NOT NULL,
prenom_arbitre VARCHAR(20) NOT NULL,
mdp_arbitre VARCHAR(20) NOT NULL,
date_nai DATENOT NULL,
email_arbitre VARCHAR(30) NOT NULL,
cin_arbitre BIGINTNOT NULL,
date_ins_arbitre DATETIME NOT NULL,
salaire FLOAT NOT NULL,
grade VARCHAR(40) NULLNOT NULL,
sexe CHAR(1) NULL DEFAULT NULL,
PRIMARY KEY (id_arbitre),
UNIQUE INDEX cin_arbitre (cin_arbitre ASC) VISIBLE);
-- -----------------------------------------------------
-- Table terrain
-- -----------------------------------------------------
DROPTABLE IF EXISTS terrain ;
CREATETABLEIF NOT EXISTS terrain (
id_terrain INTNOT NULL,
nom_terrain VARCHAR(50) NULL DEFAULT NULL,
nbr_trous INTNOT NULL,
espace FLOAT NOT NULL,
PRIMARY KEY (id_terrain));
-- -----------------------------------------------------
-- Table type_compt
-- -----------------------------------------------------
DROPTABLE IF EXISTS type_compt ;
CREATETABLEIF NOT EXISTS type_compt (
id_type INTNOT NULL,
nom_type VARCHAR(30) NOT NULL,
recompense FLOAT NOT NULL,
PRIMARY KEY (id_type));
-- -----------------------------------------------------
-- Table competition
-- -----------------------------------------------------
DROPTABLE IF EXISTS competition ;
CREATETABLEIF NOT EXISTS competition (
id_compt INTNOT NULL,
id_type INTNULL DEFAULT NULL,
id_terrain INTNOT NULL,
nom_compt VARCHAR(30) NULL DEFAULT NULL,
date_compt DATENOT NULL,
id_arbitre VARCHAR(20) NULL DEFAULT NULL,
PRIMARY KEY (id_compt),
INDEX fk_terr_idx (id_terrain ASC) VISIBLE,
INDEX k_type_idx (id_type ASC) VISIBLE,
INDEX fk (id_arbitre ASC) VISIBLE,
CONSTRAINT fk
FOREIGN KEY (id_arbitre)
REFERENCES arbitre (id_arbitre)
ON DELETE CASCADE
ONUPDATE CASCADE,
CONSTRAINT fk_terr
FOREIGN KEY (id_terrain)
REFERENCES terrain (id_terrain)
ON DELETE CASCADE
ONUPDATE CASCADE,
CONSTRAINT k_type
FOREIGN KEY (id_type)
REFERENCES type_compt (id_type)
ON DELETE CASCADE
ONUPDATE CASCADE);
-- -----------------------------------------------------
-- Table entraineur
-- -----------------------------------------------------
DROPTABLE IF EXISTS entraineur ;
CREATETABLEIF NOT EXISTS entraineur (
id_entraineur VARCHAR(20) NOT NULL,
nom_entraineur VARCHAR(20) NOT NULL,
prenom_entraineur VARCHAR(20) NOT NULL,
mdp_entraineur VARCHAR(20) NOT NULL,
date_nai DATENULL DEFAULT NULL,
email_entraineur VARCHAR(30) NULL DEFAULT NULL,
cin_entraineur BIGINTNOT NULL,
date_ins_entraineur DATETIME NULL DEFAULT NULL,
salaire FLOAT NOT NULL,
sexe CHAR(1) NULL DEFAULT NULL,
PRIMARY KEY (id_entraineur),
UNIQUE INDEX cin_entraineur (cin_entraineur ASC) VISIBLE);
-- -----------------------------------------------------
-- Table joueur
-- -----------------------------------------------------
DROPTABLE IF EXISTS joueur ;
CREATETABLEIF NOT EXISTS joueur (
id_joueur VARCHAR(20) NOT NULL,
nom_joueur VARCHAR(20) NOT NULL,
prenom_joueur VARCHAR(20) NOT NULL,
mdp_joueur VARCHAR(20) NOT NULL,
date_nai DATENULL DEFAULT NULL,
email_joueur VARCHAR(30) NULL DEFAULT NULL,
cin_joueur BIGINTNOT NULL,
date_ins_joueur DATETIME NULL DEFAULT NULL,
abonement VARCHAR(20) NULL DEFAULT NULL,
main_prefere CHAR(1) NULL DEFAULT NULL,
id_entraineur VARCHAR(20) NULL DEFAULT NULL,
sexe CHAR(1) NULL DEFAULT NULL,
PRIMARY KEY (id_joueur),
UNIQUE INDEX cin_joueur (cin_joueur ASC) VISIBLE,
INDEX fk_entr (id_entraineur ASC) VISIBLE,
CONSTRAINT fk_entr
FOREIGN KEY (id_entraineur)
REFERENCES entraineur (id_entraineur)
ON DELETESETNULL
ONUPDATE CASCADE);
-- -----------------------------------------------------
-- Table reservation
-- -----------------------------------------------------
DROPTABLE IF EXISTS reservation ;
CREATETABLEIF NOT EXISTS reservation (
id_reser BIGINTNOT NULL,
date_reser DATENULL DEFAULT NULL,
duree_reser TIMENULL DEFAULT NULL,
id_joueur VARCHAR(20) NULL DEFAULT NULL,
id_terrain INTNULL DEFAULT NULL,
PRIMARY KEY (id_reser));
-- -----------------------------------------------------
-- Table score
-- -----------------------------------------------------
DROPTABLE IF EXISTS score ;
CREATETABLEIF NOT EXISTS score (
id_joueur VARCHAR(20) NOT NULL,
id_compt INTNOT NULL,
pts INTNULL DEFAULT NULL,
verifié TINYINT(1) NULL DEFAULT NULL,
PRIMARY KEY (id_joueur, id_compt),
INDEX fk_enc_idx (id_compt ASC) VISIBLE,
CONSTRAINT fk_enc
FOREIGN KEY (id_compt)
REFERENCES competition (id_compt)
ON DELETE CASCADE
ONUPDATE CASCADE,
CONSTRAINT fk_enj
FOREIGN KEY (id_joueur)
REFERENCES joueur (id_joueur)
ON DELETE CASCADE
ONUPDATE CASCADE);
-- -----------------------------------------------------
-- Table seance_e
-- -----------------------------------------------------
DROPTABLE IF EXISTS seance_e ;
CREATETABLEIF NOT EXISTS seance_e (
id_seance INTNOT NULL,
date_seance DATENULL DEFAULT NULL,
duree_seance TIMENULL DEFAULT NULL,
id_joueur VARCHAR(20) NULL DEFAULT NULL,
id_terrain INTNULL DEFAULT NULL,
id_entraineur VARCHAR(20) NULL DEFAULT NULL,
PRIMARY KEY (id_seance),
INDEX fk_e (id_entraineur ASC) VISIBLE,
INDEX fk_j (id_joueur ASC) VISIBLE,
INDEX fk_t (id_terrain ASC) VISIBLE,
CONSTRAINT fk_e
FOREIGN KEY (id_entraineur)
REFERENCES entraineur (id_entraineur)
ON DELETE CASCADE
ONUPDATE CASCADE,
CONSTRAINT fk_j
FOREIGN KEY (id_joueur)
REFERENCES joueur (id_joueur)
ON DELETE CASCADE
ONUPDATE CASCADE,
CONSTRAINT fk_t
FOREIGN KEY (id_terrain)
REFERENCES terrain (id_terrain)
ON DELETE CASCADE
ONUPDATE CASCADE);
USE golf ;
-- -----------------------------------------------------
-- procedure get_gangant
-- -----------------------------------------------------
USE golf;
DROP procedure IF EXISTS get_gangant;
DELIMITER //
CREATE PROCEDURE get_gangant(IN competition_id INT, OUT player_nom VARCHAR(20),out player_prenom varchar(20))
BEGIN
SELECTk.nom_joueur,k.prenom_joueur INTO player_nom,player_prenom
FROM joueur k
INNER JOIN score s ONs.id_joueur=k.id_joueur
WHEREs.id_compt= competition_id ANDs.verifié =1
ORDER BYs.ptsDESC
LIMIT1;
select player_nom,player_prenom;
END;
//
DELIMITER ;