Créé en 2019 et modifié le 04 Août 2020
SQL – Vues, triggers et procédures stockées
On pourra récupérer la base suivante : https://gitlab.com/cherryclass/wow7/blob/slam3/warcraft.sql
Partie 1
Livrable : warcraft/mission4.pdf
- Réaliser un vue race_view qui permette d’afficher tous les champs d’une race.
- Insérer deux nouvelles races grâce à cette vue.
- Supprimer la dernière race grâce à la vue.
Partie 2
Livrable : warcraft/mission4.pdf
Réaliser les triggers suivants :
- Initialiser le level à 1 lors de la modification du nom d’un joueur.
- Ajouter un niveau au level lors de l’ajout d’une monture à un joueur.
- Attribuer le level 70 à la création d’un chevaliers de la mort.
- Interdire la suppression d’un personnage de lvl 100 ou plus.
- Interdire de choisir druide pour l’Alliance et paladin pour la Horde.
- Offrir une monture au hasard lors de la création d’un personnage.
Partie 3
Livrable : warcraft/mission4.pdf et warcraft/mission4.sql
- Proposer un schéma permettant d’ajouter les pet et leur type à la base de données.
- Insérer les pet et leur type dans la base de données
https://gitlab.com/cherryclass/wow7/blob/master/pet.sql
https://gitlab.com/cherryclass/wow7/blob/master/petype.sql - Ajouter la clef étrangère et les clefs primaires. On prendra pet_id pour les pets.
- Identifier les réflexives et ajouter les contraintes.
- Permettre aux joueurs d’avoir plusieurs pets.
- Réaliser un dump
Partie 4
Livrable : warcraft/mission4.pdf
- Enregistrer la procédure suivante.
DELIMITER // CREATE PROCEDURE pet() BEGIN DECLARE v1 INT unsigned DEFAULT 200; WHILE v1 > 0 DO insert into pets_members values (FLOOR(1+ RAND() * (963- 1+1)),FLOOR(1+ RAND() * (510- 1+1))); SET v1 = v1 - 1; END WHILE; END //
2 – Appeler celle-ci pour attribuer des pets à des membres dans la table pets_members(id_pet,id_members). Vérifier l’insertion.
call pet();
3 – Afficher le joueur qui a le plus de pet
4 – Afficher le nombre de pet par joueur
5 – Afficher le nombre de pet par joueur et par type.
Partie 5
Livrable : warcraft/mission4.pdf
Réaliser les procédures suivantes :
- Attribuer un pet au hasard à plusieurs joueurs. (RAND)
- Attribuer au hasard plusieurs montures à plusieurs joueurs.
Réaliser les fonctions suivantes :
- Attribuer un pet à un joueur en fonction de son id
- Attribuer une monture supplémentaire aux joueurs qui ont le moins de monture.