-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgeneration.sql
More file actions
184 lines (152 loc) · 12.3 KB
/
Copy pathgeneration.sql
File metadata and controls
184 lines (152 loc) · 12.3 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
USE Monstermon;
-- Insérer les types
INSERT INTO Type (name) VALUES
('Feu'),
('Eau'),
('Air'),
('Terre');
-- Insérer les espèces
INSERT INTO Espece (nom, description) VALUES
('Fluffernox', 'Description de Fluffernox'),
('Glacéphalosaurus', 'Description de Glacéphalosaurus'),
('Pluminsecte', 'Description de Pluminsecte'),
('Bulbosarbre', 'Description de Bulbosarbre'),
('Aquastruth', 'Description de Aquastruth'),
('Pyrovolcanix', 'Description de Pyrovolcanix'),
('Ventisphère', 'Description de Ventisphère'),
('Cristalpuma', 'Description de Cristalpuma'),
('Sylvabulle', 'Description de Sylvabulle'),
('Gravifouetteur', 'Description de Gravifouetteur');
-- Insérer les arènes
INSERT INTO Arene (nom, localisation, nombre_places, taile_metres_carres) VALUES
('Helicops', '456 Boulevard de la Fantaisie Revopolis', 25, 250),
('Sun', '123 Rue des Etoiles Lumiereville Mystica', 5, 70),
('Eclair', '789 Avenue des Arc-en-Ciel Feeriqueville', 500, 3000),
('Terra', '234 Allée de l''Aventure Arcadia Légendaville', NULL, NULL);
-- Insérer les quêtes
INSERT INTO Quete (nom, localisation, debut, fin, points_experience_gagnes, description) VALUES
('La Quête du Trésor Perdu', '123 Rue des Mystères Ombreville', '2023-04-10', '2023-04-20', 350, 'Description de la quête'),
('La Chasse aux Créatures Mythiques', 'Forêt Enchantée Clairière des Lutins', '2023-06-05', NULL, 2000, 'Description de la quête'),
('L''Expédition dans les Profondeurs', 'Cité Sous-Marine d''Abyssia Rue des Coraux', '2023-09-02', '2023-09-12', 3500, 'Description de la quête'),
('La Mission Secrète du Château Hanté', 'Château Hanté de la Lune Noire Salle des Fantômes', '2023-11-13', '2023-11-23', 7000, 'Description de la quête'),
('La Conquête du Pic de Glace', 'Montagne Gelée Sommet de Cristal', '2023-12-05', '2023-12-15', 25000, 'Description de la quête'),
('La Recherche du Livre des Sortilèges', 'Bibliothèque Antique Rayon des Grimoires', '2023-10-02', NULL, 500, 'Description de la quête'),
('Le Mystère de la Pierre de Lune', 'Forêt de Lumière Clairière des Fées', '2023-08-21', '2023-08-31', 800, 'Description de la quête'),
('La Quête du Dragon Doré', 'Caverne des Dragons Antre du Gardien', '2023-06-28', NULL, 250, 'Description de la quête');
-- Insérer les magasins
INSERT INTO Magasin (nom, localisation) VALUES
('LumierMart', '123 Rue de la Liberté Arc-en-Cielville'),
('EcoMonster', '456 Avenue des Songes Luneville'),
('MoCouture', '789 Chemin de la Féérie Flottemagie'),
('SavSphere', '101 Rue des Nuages Crystallineville'),
('MobiliBulle', '234 Allée des Mystères Ensorcelville'),
('GalactiGear', '567 Boulevard de l''Aurore Cielétincell'),
('PlanePlantes', '890 Promenade de l''Enchantement Brumeville'),
('MystiMonster', '210 Avenue des Lumières Sylveclaire'),
('RobeoMonster', '543 Rue des Étoiles Fleurétoile'),
('ArteMonster', '876 Chemin de la Magie Auroreville');
-- Insérer les équipements
INSERT INTO Equipement (nom, description, arene_id, type_id) VALUES
('Lac', 'Description du Lac', 1, (SELECT type_id FROM Type WHERE name = 'Eau')),
('Fontaine', 'Description de la Fontaine', 1, (SELECT type_id FROM Type WHERE name = 'Eau')),
('Pierres', 'Description des Pierres', 2, (SELECT type_id FROM Type WHERE name = 'Terre')),
('Monuments', 'Description des Monuments', 3, (SELECT type_id FROM Type WHERE name = 'Terre'));
-- Insérer les événements
INSERT INTO Evenement (nom, date_debut, date_fin, prix, description, arene_id) VALUES
('Tournoi du Poing d''Acier', '2023-04-15', '2023-04-18', 50, 'Un tournoi épique où les meilleurs monstres s''affrontent dans une compétition sans merci.', 3),
('L''Arène des Titans', '2023-06-10', '2023-06-12', 75, 'Une rencontre des titans où seuls les monstres les plus puissants survivront.', 3),
('La Bataille des Rois', '2023-08-20', '2023-08-20', 100, 'Une bataille royale entre les monstres les plus redoutables pour déterminer qui règnera en maître.', 4),
('Championnat Mondial des Monsters', '2023-09-15', '2023-09-18', 200, 'Le championnat le plus prestigieux où se disputent les titres de monstres les plus puissants du monde.', 3),
('La Guerre des Monsters', '2023-11-05', '2023-11-10', 60, 'Une guerre impitoyable entre les différentes espèces de monstres pour la suprématie.', 1),
('Le Duel des Titan', '2023-12-08', '2023-12-11', 45, 'Un affrontement spectaculaire où seuls les monstres les plus courageux oseront se battre.', 1),
('L''Ultimatum des Airs', '2023-12-01', '2024-01-05', 30, 'Une compétition aérienne où les monstres volants montrent leur agilité et leur force.', 3),
('Le Carnage des Monsteurs de Feu', '2024-01-25', '2024-02-14', 150, 'Une arène enflammée où les monstres de feu s''affrontent dans un combat brûlant.', 4),
('La Grande Joute des Héros', '2024-02-12', '2024-02-20', 679, 'Une joute légendaire où les monstres les plus héroïques se battent pour la gloire éternelle.', 1),
('Le Choc des Éléments', '2024-03-12', '2024-04-20', 1000, 'Un affrontement cataclysmique entre les monstres des quatre éléments pour déterminer lequel est le plus puissant.', 3);
-- Insérer les dresseurs
ALTER TABLE Dresseur DROP FOREIGN KEY fk_dresseur_professeur;
INSERT INTO Dresseur (nom, prenom, genre, est_professeur, id_professeur_dresseur) VALUES
('Anderson', 'Ethan', 'M', TRUE, NULL),
('Martinez', 'Daniel', 'M', FALSE, 1),
('Johnson', 'Olivia', 'F', TRUE, NULL),
('Nguyen', 'Isabella', 'F', FALSE, 11),
('Smith', 'Michael', 'M', TRUE, NULL),
('García', 'Michel', 'M', FALSE, 12),
('Williams', 'James', 'M', FALSE, NULL),
('Rodriguez', 'Lucas', 'M', FALSE, NULL),
('Brown', 'Sophia', 'F', FALSE, 5),
('Patel', 'Harper', 'F', FALSE, 3),
('Clark', 'Mia', 'F', TRUE, NULL),
('Hall', 'Charlotte', 'F', TRUE, NULL);
ALTER TABLE Dresseur ADD CONSTRAINT fk_dresseur_professeur FOREIGN KEY (id_professeur_dresseur) REFERENCES Dresseur(dresseur_id);
-- Insérer les monsters
-- Verifier l'ordre
ALTER TABLE Monster DROP FOREIGN KEY fk_monster_espece;
ALTER TABLE Monster DROP FOREIGN KEY fk_monster_type;
ALTER TABLE Monster DROP FOREIGN KEY fk_monster_dresseur;
INSERT INTO Monster (nom, type_id, point_experience, point_vie, poids, taille, points_puissance, niveau, espece_id, capturee, date_capture, dresseur_id) VALUES
('Grizzlor', (SELECT type_id FROM Type WHERE name = 'Feu'), 1000, 200, 20, 90, 150, 10, (SELECT espece_id FROM Espece WHERE nom = 'Fluffernox'), TRUE, '2022-12-14 11:10', 2),
('Azurika', (SELECT type_id FROM Type WHERE name = 'Air'), 2451, 100, 70, 70, 150, 5, (SELECT espece_id FROM Espece WHERE nom = 'Aquastruth'), FALSE, NULL, NULL),
('Crépulor', (SELECT type_id FROM Type WHERE name = 'Feu'), 8402, 200, 80, 80, 250, 3, (SELECT espece_id FROM Espece WHERE nom = 'Pyrovolcanix'), FALSE, NULL, NULL),
('Vortexar', (SELECT type_id FROM Type WHERE name = 'Air'), 1203, 300, 90, 90, 350, 6, (SELECT espece_id FROM Espece WHERE nom = 'Ventisphère'), TRUE, '2023-07-14 19:36:58', 3),
('Gorgonix', (SELECT type_id FROM Type WHERE name = 'Terre'), 8321, 400, 100, 100, 400, 10, (SELECT espece_id FROM Espece WHERE nom = 'Sylvabulle'), TRUE, '2023-06-28 11:20:08', 5),
('Zéphirium', (SELECT type_id FROM Type WHERE name = 'Terre'), 893, 500, 100, 100, 500, 5, (SELECT espece_id FROM Espece WHERE nom = 'Aquastruth'), FALSE, NULL, 4),
('Krypthona', (SELECT type_id FROM Type WHERE name = 'Air'), 193, 100, 30, 40, 200, 1, (SELECT espece_id FROM Espece WHERE nom = 'Pyrovolcanix'), FALSE, NULL, NULL),
('Glaciarax', (SELECT type_id FROM Type WHERE name = 'Terre'), 1893, 170, 60, 80, 300, 2, (SELECT espece_id FROM Espece WHERE nom = 'Glacéphalosaurus'), TRUE, '2022-10-19 21:07:11', 11),
('Infernion', (SELECT type_id FROM Type WHERE name = 'Feu'), 9903, 250, 100, 90, 400, 3, (SELECT espece_id FROM Espece WHERE nom = 'Pyrovolcanix'), TRUE, '2023-01-18 07:23:09', 11),
('Sylvarath', (SELECT type_id FROM Type WHERE name = 'Air'), 10000, 500, 150, 100, 500, 4, (SELECT espece_id FROM Espece WHERE nom = 'Ventisphère'), TRUE, '2023-03-29 16:10:27', 12),
('Draconyx', (SELECT type_id FROM Type WHERE name = 'Feu'), 9213, 100, 10, 30, 70, 1, (SELECT espece_id FROM Espece WHERE nom = 'Fluffernox'), FALSE, NULL, 1),
('Abominix', (SELECT type_id FROM Type WHERE name = 'Air'), 9241, 180, 30, 40, 100, 2, (SELECT espece_id FROM Espece WHERE nom = 'Fluffernox'), FALSE, NULL, 3),
('Hydrokhan', (SELECT type_id FROM Type WHERE name = 'Eau'), 6000, 270, 40, 50, 200, 3, (SELECT espece_id FROM Espece WHERE nom = 'Aquastruth'), FALSE, NULL, NULL),
('Sombrodeus', (SELECT type_id FROM Type WHERE name = 'Eau'), 7313, 300, 45, 60, 300, 5, (SELECT espece_id FROM Espece WHERE nom = 'Aquastruth'), TRUE, '2023-09-11 09:42:00', 8),
('Nébulorok', (SELECT type_id FROM Type WHERE name = 'Air'), 513, 500, 50, 65, 500, 5, (SELECT espece_id FROM Espece WHERE nom = 'Ventisphère'), TRUE, '2023-06-28 14:20:08', 8),
('Terramorth', (SELECT type_id FROM Type WHERE name = 'Terre'), 64, 200, 25, 90, 150, 2, (SELECT espece_id FROM Espece WHERE nom = 'Bulbosarbre'), FALSE, NULL, 8),
('Zombalith', (SELECT type_id FROM Type WHERE name = 'Feu'), 22, 100, 70, 50, 200, 3, (SELECT espece_id FROM Espece WHERE nom = 'Fluffernox'), FALSE, NULL, 7),
('Phantasmagor', (SELECT type_id FROM Type WHERE name = 'Feu'), 10, 500, 35, 60, 300, 4, (SELECT espece_id FROM Espece WHERE nom = 'Fluffernox'), TRUE, '2023-08-09 05:33:42', 9);
ALTER TABLE Monster ADD CONSTRAINT fk_monster_espece FOREIGN KEY (espece_id) REFERENCES Espece(espece_id);
ALTER TABLE Monster ADD CONSTRAINT fk_monster_type FOREIGN KEY (type_id) REFERENCES Type(type_id);
ALTER TABLE Monster ADD CONSTRAINT fk_monster_dresseur FOREIGN KEY (dresseur_id) REFERENCES Dresseur(dresseur_id);
-- Insérer les combats (exemple)
-- les dates sont inclus dans les dates evenement ?
ALTER TABLE Combat DROP FOREIGN KEY fk_combat_monster_1;
ALTER TABLE Combat DROP FOREIGN KEY fk_combat_monster_2;
ALTER TABLE Combat DROP FOREIGN KEY fk_combat_evenement;
INSERT INTO Combat (id_monster_1, id_monster_2, date_debut, date_fin, resultat, evenement_id) VALUES
(1, 2, '2023-04-16', '2023-04-16', 1, 1),
(3, 4, '2023-06-11', '2023-06-11', 2, 2);
ALTER TABLE Combat ADD CONSTRAINT fk_combat_monster_1 FOREIGN KEY (id_monster_1) REFERENCES Monster(monster_id);
ALTER TABLE Combat ADD CONSTRAINT fk_combat_monster_2 FOREIGN KEY (id_monster_2) REFERENCES Monster(monster_id);
ALTER TABLE Combat ADD CONSTRAINT fk_combat_evenement FOREIGN KEY (evenement_id) REFERENCES Evenement(evenement_id);
-- Insérer les participations aux événements
ALTER TABLE ParticipationEvenement DROP FOREIGN KEY fk_participation_evenement_monster;
ALTER TABLE ParticipationEvenement DROP FOREIGN KEY fk_participation_evenement_evenement;
INSERT INTO ParticipationEvenement (evenement_id, monster_id) VALUES
(1, 1),
(1, 2),
(2, 3),
(2, 4);
ALTER TABLE ParticipationEvenement ADD CONSTRAINT fk_participation_evenement_monster FOREIGN KEY (monster_id) REFERENCES Monster(monster_id);
ALTER TABLE ParticipationEvenement ADD CONSTRAINT fk_participation_evenement_evenement FOREIGN KEY (evenement_id) REFERENCES Evenement(evenement_id);
-- Insérer les ventes
ALTER TABLE Vente DROP FOREIGN KEY fk_vente_magasin;
ALTER TABLE Vente DROP FOREIGN KEY fk_vente_monster;
ALTER TABLE Vente DROP FOREIGN KEY fk_vente_dresseur;
INSERT INTO Vente (date_vente, magasin_id, monster_id, dresseur_id, prix) VALUES
('2023-04-20', 1, 2, 2, 200),
('2023-06-15', 3, 5, 1, 500),
('2023-07-14', 2, 8, 3, 300);
ALTER TABLE Vente ADD CONSTRAINT fk_vente_magasin FOREIGN KEY (magasin_id) REFERENCES Magasin(magasin_id);
ALTER TABLE Vente ADD CONSTRAINT fk_vente_monster FOREIGN KEY (monster_id) REFERENCES Monster(monster_id);
ALTER TABLE Vente ADD CONSTRAINT fk_vente_dresseur FOREIGN KEY (dresseur_id) REFERENCES Dresseur(dresseur_id);
-- Insérer les participations aux quêtes
ALTER TABLE ParticipationQuete DROP FOREIGN KEY fk_participation_quete_quete;
ALTER TABLE ParticipationQuete DROP FOREIGN KEY fk_participation_quete_monster;
INSERT INTO ParticipationQuete (id_quete, id_monster, date_participation) VALUES
(1, 1, '2023-04-15'),
(1, 2, '2023-04-15'),
(2, 3, '2023-06-06'),
(2, 4, '2023-06-06');
ALTER TABLE ParticipationQuete ADD CONSTRAINT fk_participation_quete_quete FOREIGN KEY (id_quete) REFERENCES Quete(quete_id);
ALTER TABLE ParticipationQuete ADD CONSTRAINT fk_participation_quete_monster FOREIGN KEY (id_monster) REFERENCES Monster(monster_id);
-- Supprimer les contraintes de clé étrangère
-- Ajouter à nouveau les contraintes de clé étrangère