Base de Données Avancée - DUT GI - S3
21 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Que signifie le PL dans PL/SQL ?

  • Programmation Logicielle
  • Programmation Linéaire
  • Langage de Programmation
  • Langage de Procédure (correct)
  • Quelles sont les étapes nécessaires pour se connecter à la base de données XEPDB1 ?

  • Créer un utilisateur puis exécuter une requête
  • Se connecter en tant que test puis exécuter une requête
  • Se connecter en tant que sysdba, puis lister les utilisateurs
  • Se connecter en tant que sysdba, puis créer un utilisateur (correct)
  • Quelles commandes sont utilisées pour afficher des valeurs en PL/SQL ?

  • DBMS_OUTPUT.PRINT() et DBMS_OUTPUT.DISPLAY()
  • DBMS_DISPLAY.PUT() et DBMS_DISPLAY.PUT_LINE()
  • DBMS_OUTPUT.PUT() et DBMS_OUTPUT.PUT_LINE() (correct)
  • DBMS_OUTPUT.ECRIRE() et DBMS_OUTPUT.ÉCRIRE_LIGNE()
  • Quels privilèges doivent être affectés à l'utilisateur test ?

    <p>create session et create table</p> Signup and view all the answers

    Quelle est la structure de base d'un bloc PL/SQL ?

    <p>DECLARE / BEGIN / END;</p> Signup and view all the answers

    Quelle commande est utilisée pour activer l'affichage des résultats dans SQL+ ?

    <p>SET SERVEROUTPUT ON</p> Signup and view all the answers

    Comment se déclare une variable en PL/SQL ?

    <p>nom type [:= initialisation];</p> Signup and view all the answers

    Quel type de variable n'est pas considéré comme une variable scalaire en PL/SQL ?

    <p>ARRAY</p> Signup and view all the answers

    Quel mot-clé est utilisé pour affecter le résultat d'une requête à une variable ?

    <p>INTO</p> Signup and view all the answers

    Pourquoi est-il important que la requête retourne une seule ligne lors de l'utilisation d'une affectation ?

    <p>Pour éviter une erreur d'exécution.</p> Signup and view all the answers

    Dans l'exemple donné, quelle variable stocke le jour selon la valeur de nb ?

    <p>jour</p> Signup and view all the answers

    Le code suivant : 'CASE nb WHEN 1 THEN 'lundi'' est un exemple de quoi ?

    <p>Condition CASE</p> Signup and view all the answers

    La déclaration 'film exemplaire.numFilm%TYPE;' est un exemple de quoi ?

    <p>Déclaration de type basé sur une table</p> Signup and view all the answers

    Quel type de boucle est utilisé pour répéter une action un nombre fixe de fois en PL/SQL?

    <p>Boucle FOR</p> Signup and view all the answers

    Quel est l'objectif principal de l'instruction EXIT WHEN dans une boucle?

    <p>Quitter la boucle sous une condition spécifique</p> Signup and view all the answers

    Quel message d'erreur est levé lorsque le prix d'un produit dépasse 110% de son ancien prix dans le trigger AUGMENTPU2?

    <p>'Violation de la Contrainte'</p> Signup and view all the answers

    Dans quel cas le trigger VERIFIERNOCLIENT lève-t-il une erreur?

    <p>Lorsque le Codecli est égal à 10000</p> Signup and view all the answers

    Comment est déclaré une variable numérique en PL/SQL?

    <p>declare nb number ;</p> Signup and view all the answers

    Quel est le rôle principal du trigger dans PL/SQL?

    <p>Maintenir les contraintes d'intégrité</p> Signup and view all the answers

    Quelle instruction est utilisée pour afficher un message à l'utilisateur dans PL/SQL?

    <p>DBMS_OUTPUT.PUT_LINE</p> Signup and view all the answers

    Quelle forme d'itération est représentée par 'LOOP...END LOOP'?

    <p>Une boucle infinie</p> Signup and view all the answers

    Study Notes

    Base de Données Avancée - DUT GI - S3

    • Le cours porte sur la base de données avancée.
    • Le cours est dispensé par Laraqui Abderrahmane.
    • La version du document est non révisée.
    • L'année académique est 2023-2024.

    Installation d'Oracle Database XE

    Installation de SQL Developer

    Connexion à la Base de données

    • Se connecter à Oracle en utilisant l'authentification sysdba.
    • La commande select name from v$pdbs; permet de lister les bases de données disponibles.
    • La base de données XEPDB1 est mentionnée comme seule base de données existante.
    • La connexion à XEPDB1 s'effectue avec la syntaxe: connect sys/oracle@localhost:1521/XEPDB1 as sysdba.
    • Création d'un nouvel utilisateur (test) avec le privilège create session et create table.
    • Création de la table etudiants avec des colonnes id, nom et age.
    • Insertion d'un enregistrement dans la table etudiants.
    • Interrogation de la table etudiants (affichage des données).

    Connexion avec le compte Utilisateur

    • Connexion en tant qu'utilisateur test avec la syntaxe connect test/test@localhost:1521/XEPDB1;.
    • Création de la table etudiants.
    • Insertion de données à la table etudiants.
    • Requête SQL pour afficher les données de la table.

    Blocs PL/SQL

    • PL/SQL est un langage procédural permettant d'effectuer des traitements complexes sur une base de données.
    • Les instructions DECLARE,BEGIN,END définissent les blocs PL/SQL.
    • Les procédures DBMS_OUTPUT.PUT() et DBMS_OUTPUT.PUT_LINE() permettent d'afficher le contenu d'une variable.
    • L'instruction SET SERVEROUTPUT ON active les sorties d'affichage.

    Variables

    • Déclaration des variables avec nom type [:= initialisation];
    • Affectation avec variable := valeur;
    • Exemple c varchar2(15) := 'Hello World!';

    Types de Variables

    • Les types de variables peuvent être issus de SQL (CHAR, NUMBER, DATE, VARCHAR2) ou PL/SQL (BOOLEAN, SMALLINT, BINARY_INTEGER, DECIMAL, FLOAT, INTEGER, REAL, ROWID).
    • Déclaration d'une variable scalaire avec nom-variable nom-du-type;
    • Exemples d'utilisation avec nom-variable nom-table.nom-attribut%TYPE

    Affectation

    • L'utilisation de INTO permet d'assigner le résultat d'une requête à une variable.
    • Exemple: select cnum into numero from conducteur

    Traitements Conditionnels

    • Utilisation de IF...THEN...ELSE...END IF pour les instructions conditionnelles.
    • Utilisation de CASE pour gérer les choix multiples.
    • Les conditions sont similaires à celles utilisées en SQL.

    Traitements Répétitifs

    • Boucles LOOP...END LOOP permettent d'exécuter des blocs d'instructions plusieurs fois.
    • L'instruction EXIT WHEN permet de quitter une boucle.
    • Boucles FOR et WHILE.

    Structures

    • Une structure (RECORD) regroupe plusieurs types de données.
    • Déclaration d'un type de structure : TYPE nomType IS RECORD (...).
    • Déclaration d'une variable de type structure : nomVariable nomType.
    • Exemple de utilisation de type structuré p point.

    Déclaration pour un Enregistrement

    • Déclaration par ROWTYPE: nomVariable nomTable%ROWTYPE (ou nomCurseur%ROWTYPE).
    • Exemple avec une requête SQL pour récupérer l'information dans une table

    Déclaration pour un Enregistrement (2)

    • Déclarer un enregistrement par énumération de rubriques:
    • Exemple d'utilisation TYPE nomType IS RECORD (...) et la déclaration de la variable.

    Exemple

    • Exemple complet d'utilisation d'une variable de type de structure.

    Tables et Structures

    • Utilisation du type nomTable.nomColonne%type.
    • Déclarer une ligne d'une table avec nomTable%rowtype.

    Gestion de Transaction

    • Les transactions sont des unités logiques de travail exécutées ensemble, ou non exécutées du tout.
    • Si des erreurs surviennent pendant une transaction, l'opération peut être annulée (ROLLBACK).
    • gestion de transactions et les blocs PL/SQL

    Gestion de Transaction - Structure d'un bloc

    • Les programmes PL/SQL sont constitués de blocs avec les sections DECLARATION, corps de bloc et gestion des erreurs (EXCEPTION).

    Section Déclaration

    • Contient la déclaration des structures et variables dans le bloc.
    • Facultatif.

    Section Corps du Bloc

    • Bloc BEGIN...END contenant les instructions du programme.
    • Obligatoire.

    Section Traitement des Erreurs

    • Section EXCEPTION qui gère les erreurs.
    • Facultative.

    Syntaxe

    • Syntaxe complète pour un bloc PL/SQL, incluant DECLARE, BEGIN, EXCEPTION, END.

    Exemple Complet

    • Un exemple d'utilisation complet d'une transaction PL/SQL, y compris la gestion des erreurs.

    Les Curseurs dans SQL

    • Les curseurs sont des zones de travail qui permettent de traiter une requête SQL ligne par ligne.
    • Attributs SQL%ROWCOUNT, SQL%FOUND, SQL%NOTFOUND, SQL%ISOPEN.
    • Utilisation des curseurs avec OPEN, FETCH, CLOSE

    Les Attributs du Curseur Explicite

    • Attributs CUR_EXP%ISOPEN, CUR_EXP%NOTFOUND, CUR_EXP%FOUND, et CUR_EXP%ROWCOUNT.

    Les Attributs des Curseurs SQL

    • Comment utiliser l'attribut SQL%ROWCOUNT pour obtenir le nombre de lignes affectées.
    • Comment utiliser SQL%FOUND et SQL%NOTFOUND pour conditionner la boucle.

    Les Boucles FOR des Curseurs

    • Utilisation des boucles FOR pour parcourir les lignes d'un curseur.

    Procédures

    • Définition et utilisation des procédures PL/SQL avec paramètres (type IN, OUT, IN OUT).

    Fonctions

    • Définition et utilisation des fonctions PL/SQL avec paramètres (type IN).
    • Invocation d'une fonction via la structure SELECT module (...) FROM DUAL;

    Déclencheurs

    • Définition des déclencheurs pour exécuter des actions automatiquement lorsqu'un événement (INSERT, UPDATE, DELETE) se produit sur une table.
    • Types de déclencheurs (énoncé, tuple).
    • Utilisation des variables :old et :new pour accéder aux anciennes et nouvelles valeurs.
    • Gestion des erreurs dans les déclencheurs.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Cours BD Avancée 2023-2024 PDF

    Description

    Ce quiz porte sur les concepts avancés de bases de données dans le cadre du DUT G informatique, semestre 3. Vous y trouverez des informations sur l'installation d'Oracle Database XE, SQL Developer, et les méthodes de connexion à la base de données. Testez vos connaissances sur ces sujets essentiels pour une compréhension approfondie des bases de données.

    More Like This

    Use Quizgecko on...
    Browser
    Browser