Vous êtes sur la page 1sur 12

20/05/2020 Examen blanc SGBD

Examen blanc SGBD


Durée : 1h
Date limite de remise de l'examen : 21-05-2020 à 15h

L'adresse e-mail du répondant (selim.chikhzaouali@esprit.tn) a été enregistrée lors de


l'envoi de ce formulaire.

Quel est le résultat de l'exécution de ce code: *

Il génère une exception utilisateur.

Il affiche une erreur de compilation.

Aucune de ces réponses.

Soit la déclaration suivante d'un curseur Explicite. Quelle(s) instruction(s)


permet(tent) d'ouvrir correctement le curseur C. *

OPEN C(20);

FOR i in C(20) LOOP ...

OPEN C('IT_PROG',20);

FOR i in C(20,'IT_PROG') LOOP ...

OPEN C(20,'IT_PROG');

https://docs.google.com/forms/d/e/1FAIpQLSekfLcITj5YPNaedDM5qQ8Ux1-IcOnDn7LAjgRn75laXWr79A/viewscore?viewscore=AE0zAgBmijigh… 1/12
20/05/2020 Examen blanc SGBD

Quelle est la réponse correcte pour créer un curseur explicite ? *

CURSOR cursor_name IS select_statement;

CREATE CURSOR cursor_name IS select_statement;

CREATE CURSOR cursor_name AS select_statement;

CURSOR cursor_name AS select_statement;

Choisir l'(les) affirmation(s) correcte(s): *

les blocs anonymes sont des blocs PL/SQL exécutables nommés.

Les procédures et fonctions stockées sont des blocs PL/SQL non nommés.

Les blocs anonymes sont stockés dans la base de données.

Les sous programmes peuvent accepter des paramètres.

Les blocs anonymes sont compilés une seule fois.

Les blocs anonymes sont compilés pour chaque exécution.

Ayant le code suivant, quelles sont les exceptions qui peuvent être générées ? *

TOO_MANY_ROWS

NO_DATA_FOUND

DUP_VAL_ON_INDEX

ZERO_DIVIDE

https://docs.google.com/forms/d/e/1FAIpQLSekfLcITj5YPNaedDM5qQ8Ux1-IcOnDn7LAjgRn75laXWr79A/viewscore?viewscore=AE0zAgBmijigh… 2/12
20/05/2020 Examen blanc SGBD

Nous souhaitons créer une fonction stockée qui prend en paramètre l’id de
l’employé et qui retourne le nom du département auquel il est associé. Quel est
le code associé à cette fonction? *

https://docs.google.com/forms/d/e/1FAIpQLSekfLcITj5YPNaedDM5qQ8Ux1-IcOnDn7LAjgRn75laXWr79A/viewscore?viewscore=AE0zAgBmijigh… 3/12
20/05/2020 Examen blanc SGBD

Le code du bloc suivant est erroné. Préciser le(s) numéro(s) de(s) la(les) ligne(s)
erronée(s). *

https://docs.google.com/forms/d/e/1FAIpQLSekfLcITj5YPNaedDM5qQ8Ux1-IcOnDn7LAjgRn75laXWr79A/viewscore?viewscore=AE0zAgBmijigh… 4/12
20/05/2020 Examen blanc SGBD

Une déclaration de mise à jour sur employees affecte 100 lignes. Combien de
lignes seront insérées dans la table log après le déclenchement de ce
déclencheur ? (La table log est une table d'historisation). *

100

Même nombre de lignes que dans la table employees

Que fait cette fonction? *

Retourne le double d'un nombre entré en paramètre.

Aucune de ces réponses.

Ne retourne rien car la fonction est incorrecte.

https://docs.google.com/forms/d/e/1FAIpQLSekfLcITj5YPNaedDM5qQ8Ux1-IcOnDn7LAjgRn75laXWr79A/viewscore?viewscore=AE0zAgBmijigh… 5/12
20/05/2020 Examen blanc SGBD

Quelle(s) est(sont) l'(les) affirmation(s) correcte(s) pour les TRIGGERS de type


table? *

Ils sont exécutés une seule fois lorsque les modifications surviennent sur une table.

Ils sont exécutés autant de fois que de lignes modifiées dans la table.

Ils permettent d'accéder aux anciennes et nouvelles valeurs de colonnes de la ligne.

Ils n'ont pas la spécification de l’option FOR EACH ROW.

Quelle est l'affirmation correcte par rapport au code suivant : *

Afficher tous les employés du département 90.

Afficher des informations sur les top trois premiers salariés du département 90.

Afficher des informations sur des salariés du département 90 qui ont un salaire
supérieur à10000.

Afficher des information sur les top salariés du département 90 ayant un salaire
supérieur à 10000. L'affichage ne dépasse pas trois lignes./

https://docs.google.com/forms/d/e/1FAIpQLSekfLcITj5YPNaedDM5qQ8Ux1-IcOnDn7LAjgRn75laXWr79A/viewscore?viewscore=AE0zAgBmijigh… 6/12
20/05/2020 Examen blanc SGBD

Pour pouvoir récupérer le nombre de départements pour une location donnée,


nous établissons la procédure suivante. Le code est manquant, choisir la bonne
réponse : *

varloc IN number

varloc out number, a IN number

varloc IN number, a IN number

varloc IN number, a IN out number

varloc IN number, a out number

Quelles sont les deux affirmations qui différencient correctement les fonctions
des procédures ? *

Une fonction ne peut être appelée que dans le cadre d'une instruction SQL, tandis
qu'une procédure ne peut être appelée que comme une instruction PL SQL.

Une fonction doit renvoyer une valeur à l'environnement appelant, tandis qu'une
procédure peut retourner de zéro à plusieurs valeurs à son environnement appelant.

Une fonction peut être appelée dans le cadre d'une instruction SQL ou d'une
expression PL / SQL, tandis qu'une procédure ne peut être appelée que comme une
instruction PL /SQL.

Une fonction peut renvoyer une ou plusieurs valeurs à l'environnement appelant,


tandis qu'une procédure doit renvoyer une seule valeur à son environnement appelant.

https://docs.google.com/forms/d/e/1FAIpQLSekfLcITj5YPNaedDM5qQ8Ux1-IcOnDn7LAjgRn75laXWr79A/viewscore?viewscore=AE0zAgBmijigh… 7/12
20/05/2020 Examen blanc SGBD

Quel est le résultat d'exécution de ce bloc? *

Déclenche une exception car v n'est pas initialisée.

Affiche : v est un nombre pair.

Affiche : v est un nombre impair.

Commentaire

v a la valeur NULL

Parmi les déclarations de variables suivantes, déterminer celles qui sont


incorrectes : *

v_x,v_y,v_z VARCHAR2(10);

v_date_naissance DATE NOT NULL;

v_id NUMBER(4);

v_en_stock BOOLEAN := 1;

v_e employees%type;

https://docs.google.com/forms/d/e/1FAIpQLSekfLcITj5YPNaedDM5qQ8Ux1-IcOnDn7LAjgRn75laXWr79A/viewscore?viewscore=AE0zAgBmijigh… 8/12
20/05/2020 Examen blanc SGBD

Quand se déclenche ce trigger? *

Pour toute requête UPDATE

Pour les requêtes UPDATE concernant les employés dont l'ancien salaire est supérieur
au nouveau salaire

Jamais, le bloc est erroné

Examiner le code suivant. La procédure Procdept permet de(d') : *

Afficher le max des salaires des employes d’un département saisie en entrée.

Afficher le manager d’un département donné en entrée.

Afficher l'employé le plus rémunéré du département donné en paramètre.

Aucune de ces réponses.

https://docs.google.com/forms/d/e/1FAIpQLSekfLcITj5YPNaedDM5qQ8Ux1-IcOnDn7LAjgRn75laXWr79A/viewscore?viewscore=AE0zAgBmijigh… 9/12
20/05/2020 Examen blanc SGBD

On souhaite créer un TRIGGER permettant de vérifier avant chaque mise à jour


dans la table Employees si le salaire est bien entre les bornes min_salary et
max_salary. Le code du TRIGGER est manquant, choisir la bonne réponse pour
compléter les deux espaces dans l'ordre adéquat. *

espace 1(:new.job_id> a or :new.job_id< b), espace2(job_id is not null)

espace 1(:new.job_id< a or :new.job_id> b), espace2(job_id=:new.job_id)

espace 1(job_id is not null), espace2(:new.job_id< a or :new.job_id> b)

espace 1(job_id=:new.job_id), espace2(:new.job_id> a or :new.job_id< b)

https://docs.google.com/forms/d/e/1FAIpQLSekfLcITj5YPNaedDM5qQ8Ux1-IcOnDn7LAjgRn75laXWr79A/viewscore?viewscore=AE0zAgBmijig… 10/12
20/05/2020 Examen blanc SGBD

En supposant que dans la table Employees, il y a au plus un seul employé dont le


prénom est Joe, l'exécution de ce bloc consiste à : *

Mettre à jour le salaire de l'employé dont l'id est 100 par la moyenne des salaires des
employés sinon par le salaire de l'employé dont le prénom est 'Joe'

Mettre à jour le salaire de l'employé dont l'id est 100 par le salaire de l'employé dont le
prénom est 'Joe', sinon par la moyenne des salaires des employés.

Mettre à jour le salaire de l'employé dont le prénom est 'Joe' par la moyenne des
salaires des employés.

Aucune de ces réponses.

https://docs.google.com/forms/d/e/1FAIpQLSekfLcITj5YPNaedDM5qQ8Ux1-IcOnDn7LAjgRn75laXWr79A/viewscore?viewscore=AE0zAgBmijig… 11/12
20/05/2020 Examen blanc SGBD

Que représente ce bloc? *

Un trigger de table qui permet de lever une exception personnalisée si une condition
n'est pas respectée

Un trigger de ligne qui permet de lever une exception prédéfinie par oracle si une
condition n'est pas respectée.

Un trigger de ligne qui permet de lever une exception définie utilisateur si une
condition n'est pas respectée

Un bloc erroné car la déclaration de l'erreur est fausse

Ce formulaire a été créé dans esprit.

 Forms

https://docs.google.com/forms/d/e/1FAIpQLSekfLcITj5YPNaedDM5qQ8Ux1-IcOnDn7LAjgRn75laXWr79A/viewscore?viewscore=AE0zAgBmijig… 12/12