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

  1. Réaliser un vue race_view qui permette d’afficher tous les champs d’une race.
  2. Insérer deux nouvelles races grâce à cette vue.
  3. Supprimer la dernière race grâce à la vue.

Partie 2

Livrable : warcraft/mission4.pdf

Réaliser les triggers suivants :

  1. Initialiser le level à 1 lors de la modification du nom d’un joueur.
  2. Ajouter un niveau au level lors de l’ajout d’une monture à un joueur.
  3. Attribuer le level 70 à la création d’un chevaliers de la mort.
  4. Interdire la suppression d’un personnage de lvl 100 ou plus.
  5. Interdire de choisir druide pour l’Alliance et paladin pour la Horde.
  6. Offrir une monture au hasard lors de la création d’un personnage.

Partie 3

Livrable : warcraft/mission4.pdf et  warcraft/mission4.sql

  1. Proposer un schéma permettant d’ajouter les pet et leur type à la base de données.
  2. 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
  3. Ajouter la clef étrangère et les clefs primaires. On prendra pet_id pour les pets.
  4. Identifier les réflexives et ajouter les contraintes.
  5. Permettre aux joueurs d’avoir plusieurs pets.
  6. Réaliser un dump

 

Partie 4

Livrable : warcraft/mission4.pdf

  1. 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 :

  1. Attribuer un pet au hasard à plusieurs joueurs. (RAND)
  2. Attribuer au hasard plusieurs montures à plusieurs joueurs.

Réaliser les fonctions suivantes :

  1. Attribuer un pet à un joueur en fonction de son id
  2. Attribuer une monture supplémentaire aux joueurs qui ont le moins de monture.