• Aucun résultat trouvé

2020-2021 BD Avancées Pascal Lafourcade, Franck Glaziou & Raphaël Delage

N/A
N/A
Protected

Academic year: 2022

Partager "2020-2021 BD Avancées Pascal Lafourcade, Franck Glaziou & Raphaël Delage"

Copied!
2
0
0

Texte intégral

(1)

2020-2021 BD Avancées Pascal Lafourcade, Franck Glaziou & Raphaël Delage

TP4

1. (3 points) Afficher la date sous la forme "Il est 18 heure 45 minutes et 26 secondes, nous sommes LUNDI "

Cette commande peut vous aider :

select to_char(sysdate,’DAY’,’NLS_DATE_LANGUAGE =FRENCH’) from dual;

2. (2 points) Afficher le jour de la semaine en toute lettre suivi d’autant de $ qu’il faut pour que la chaine fasse 20 caractères sans espace.

3. (5 points) Le SQL dynamique permet de générer des commandes SQL. La commande spool toto.sql écrit l’ensemble des résultats des requêtes exécutées par la suite dans le fichier toto.sql . Pour arrêter cette fonctionalité il faut faire spool off; . Il est donc possible d’exé- cuter les commandes générées avec les requêtes SQL en lançant la commande @toto.sql; ainsi créée.

À partir de la liste de vos tables, indiquer la liste des commandes permettant de supprimer les tables. Les seules tables a supprimer doivent contenir la lettre ’A’ au moins une fois et avoir plus de 6 lettres. Si la table ne répond pas à ce critère, afficher "la table XXX ne doit pas être supprimée". Créer des tables fictives pour tester votre code.

4. (10 points) Concurrence d’accès. Suivez les entêtes de colonne à la lettre. Les tables doivent exister dans les deux comptes étudiants. Les chaînes entre <> sont à remplacer par la valeur.

<User1> le compte d’un des étudiants <User2> le compte de l’AUTRE etudiant.

Pour les questions suivantes, vous indiquerez :

— Quels sont les résultats des commandes exécutées ?

— Est-ce que des verrous sont positionnés ?

— Que constatez-vous ? Expliquez vos réponses.

Lancer la commande : CREATE TABLE tp4 AS select * FROM STATS;

Puis les commandes indiquées par utilisateurs dans l’ordre indiqué.

(a) (1 point) Trouver l’idjoueur de Kévin Durant. Cette valeur n’est pas forcément la même pour tous les étudiants. Dans la suite, si cette valeur est différente de 920 , remplacez la par la valeur trouvée.

(b) (1 point) Uniquement pour cette question, d’un point de vue théorique quel est le compor- tement obtenu pour chaque utilisateur. Pour les autres questions exécutez les commandes sur machines dans plusieurs fenêtres.

Tps User1 (session S1, transaction T1) User2 (session S2, transaction T2) t1 DELETE tp4 WHERE datenaissances=

TO_DATE(’04/01/1997’,’DD/MM/YYYY’);

t2 DELETE tp4 WHERE datenaissances=

TO_DATE(’04/01/1997’,’DD/MM/YYYY’);

t3 Rollback;

t4 Rollback;

(c) (2 points)

Tps User1 (session S1, transaction T1) User1(session S2, transaction T2) t1 DELETE tp4 WHERE idjoueur=’920’;

t2 DELETE tp4 WHERE idjoueur=’920’;

t3 Rollback;

t4 Rollback;

(d) (2 points)

(2)

2020-2021 BD Avancées Pascal Lafourcade, Franck Glaziou & Raphaël Delage

Tps User1 (session S1, transaction T1) User1 (session S2, transaction T2) t1 DELETE tp4 WHERE idjoueur=’920’;

t2 DELETE tp4 WHERE prenomnomj=’Kevin Durant’;

t3 Rollback;

t4 Rollback;

(e) (2 points)

Tps User1 (session S1, transaction T1) User1 (session S2, transaction T2) t1 UPDATE tp4 SET

prenomnomj=’Kevin Durant’

WHERE idjoueur=’920’;

t2 ALTER TABLE tp4 MODIFY (STATUS VARCHAR2(7));

t3 Rollback;

t4 ALTER TABLE tp4 MODIFY (STATUS VARCHAR2(7));

(f) (2 points)

Tps User1 (session S1, transaction T1) User1 (session S2, transaction T2) t1 DELETE tp4;

t2 SELECT count(1) FROM tp4;

t3 SELECT count(1) FROM tp4;

t4 commit;

t5 SELECT count(1) FROM tp4;

Références

Documents relatifs

Contour des blocs pour différentes valeurs de la propriété display Valeur par défaut pour tous les éléments.. CV

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Écrire un programme Pro-C qui se connecte à Kirov puis affiche le nombre de produits contenus dans la base de données, puis se déconnecte.... Écrire un programme Pro-C qui demande

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

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 inscrits lors d’un match durant toute sa