• Aucun résultat trouvé

2019-2020 BD PLS/SQL

N/A
N/A
Protected

Academic year: 2022

Partager "2019-2020 BD PLS/SQL"

Copied!
7
0
0

Texte intégral

(1)

NOM : Partiel

PRENOM : 90 minutes, 90 points

GROUPE : Aucun document autorisé

Exercice 1 (Curseur (20 points)).

1. (3 points) Expliquer à quoi sert un curseur.

2. (5 points) Donner un exemple simple de requête en précisant la table utilisée qui n’est pas possible de traiter sans un curseur, et expliquer pourquoi.

3. (12 points) Créer un curseur permettant de traiter l’exemple de la question précédente.

(2)

Exercice 2 (Exception (15 points)).

1. (3 points) Expliquer ce qu’est une exception.

2. (12 points) Donner un exemple de création d’exceptionMINEURqui est levée si la tableETUDIANT (NOM VARCHA2(100), AGE NUMBER); contient au moins un mineur (personne de moins de 18 ans) et affiche le nombre de mineurs.

(3)

PL/SQL : NBA Statistiques

Ci-dessous un modèle de la base de données de statistiques de la NBA (National Basketball Asso- ciation), où PG, SG, SF, PF et C sont les différents postes occupés par les joueurs sur le terrain. Un joueur ne peut pas être en activité dans deux équipes en même temps.

APPARTIENT id_contrat

#id_joueur

#id_equipe Date_debut Date_fin Salaire_jour JOUEUR

id_joueur Nom Pénom

Date_de_naissance Taille

Poste(’PG’,’SG’,’SF’,’PF’,’C’)

Game id_game Date_game

#id_equipe_domicile

#id_equipe_exterieur Ville

Categorie(Amical,Saison,Playoff,Allstar) Score_domicile

Score_exterieur Prolongation JOUE

#id_joueur

#id_game Points Rebonds Interceptions Contres Passes

Balles_perdues Fautes

EQUIPE id_equipe Nom Ville

Conference(’Est’,’Ouest’) Date_creation

Exercice 3 (NBA, PLSQL). (60 points) Le MLD ci-dessus stocke les données des matchs NBA.

1. (20 points) Lister dans une table TLIGNES tous les joueurs d’un match donné par l’utilisateur, afficher leur nom, prénom, poste et le nombres de match où il a fait 0, 1, 2, 3, 4 ou 5 fautes, durant sa carrière :

GAME XXX

Nom Prenom Poste XXXXXX XXXXXXX XXXXXX Fautes Nb Matchs

0 YYY

1 YYY

2 YYY

3 YYY

4 YYY

5 YYY

XXXXXX XXXXXXX XXXXXX Fautes Nb Matchs

0 YYY

1 YYY

2 YYY

3 YYY

4 YYY

5 YYY

(4)
(5)

2. (10 points) Écrire un code PL/SQL qui permet de saisir un nouveau joueur en entrant les six champs nécessaires. Lever une exception si la clef primaire saisie n’est pas valide.

(6)

3. (15 points) Écrire un code PL/SQL qui, pour un id_joueur saisi par l’utilisateur, liste dans une tableTLIGNESson maximum de points inscrits lors d’un match durant toute sa carrière. La solution proposée doit mettre en place deuxmécanismes un avecet un sansEXCEPTION pour traiter les cas d’erreurs suivants :

’joueur inconnu’, il n’y a pas le joueur dans la tableJOUEUR,

’joueur n a pas fait de match’, il n’apparait pas dans la table JOUE.

(7)

4. (15 points) Écrire un code PL/SQL qui liste dans une table TLIGNES les joueurs en activité (ayant une date de fin de contrat non nulle) du plus vieux au plus jeune.

Nom Prenom Date de naissance Nom Equipe Actuelle XXXXXX XXXXXXX XX/XX/XXXX XXXXXXXX

XXXXXX XXXXXXX XX/XX/XXXX XXXXXXXX XXXXXX XXXXXXX XX/XX/XXXX XXXXXXXX ...

Références

Documents relatifs

Donner la procédure PL/SQL permettant l’enregistrement du retour, pour une date de retour donnée et pour un véhicule dont le numéro sera saisi ainsi que le kilométrage de fin

Afficher la liste des locations en cours d’un client dont le numéro est saisi par l’utilisateur.. La liste sera triée par catégorie puis par numéro

Afficher la liste des véhicules libres de même catégorie ou de catégorie équivalente que le véhicule n° XXXXX (n° saisi).. Numéro véhicule : numéro catégorie Catégorie

Ecrire le programme Pro ∗ C ( Q4.pc ) qui reprend le programme écrit dans l’exercice 1 et le com- plète pour lire une ligne de la table tessai, par exemple lire la ligne

Modifiez le programme précédent pour développer un nouveau programme : supprClient.pc qui permet la suppression d’un client existant en informant l’utilisateur que la

(15 points) Écrire un code PL/SQL qui, pour un id_joueur saisi par l’utilisateur, liste dans une table TLIGNES son maximum de points lors d’un match de sa carrière.. La

Ecrivez-le dans un ´editeur dont vous copierez le contenu dans SQL+. Un script ´ecrit en PL/SQL se termine obliga- toirement par un /, sinon SQL+ ne

Un SGBDR (Système de Gestion de Bases de Données Relationnel) est un logiciel qui permet de :. - stocker, - consulter, - modifier,