Base de Données Avancées
Oracle Database - Cours Complet
PL/SQL
22 Leçons
SQL
8 Chapitres
Vues & Users
TP3 & TP4
Oracle Database - Cours Complet
PL/SQL
22 Leçons
SQL
8 Chapitres
Vues & Users
TP3 & TP4
Oracle Database - Formation SQL Complète
Formation SQL Complète : Théorie & Pratique. Ce cours couvre tous les aspects essentiels du SQL Oracle.
Oracle Database SQL Essential
Oracle Database SQL Essential
Oracle Database SQL Essential
Oracle Database SQL Essential
Oracle Database SQL Essential
Oracle Database SQL Essential
Questions 1-19 - Solutions Complètes
Créer les tables departement, etudiant, module, et Evaluation avec contraintes.
TP3 & TP4 - Solutions Pratiques
Les vues sont des objets de base de données qui représentent le résultat d'une requête SELECT. Elles permettent de masquer la complexité des requêtes et de restreindre l'accès aux données.
Restriction d'accès & Agrégation
Créer une vue publique qui exclut les colonnes sensibles (Tel, Email).
Création d'une vue complexe qui joint les tables et calcule la moyenne des examens.
Sous-requêtes & Mises à jour via Vues
Utilisation de la vue vMoyEtudiant dans une sous-requête pour trouver les étudiants ayant la note maximale.
Création d'une vue filtrée (< 10) et modification des données.
Point Important
L'UPDATE augmente les notes de 2 points. Si une note passe à 10 ou plus, elle ne satisfait plus la condition WHERE noteEX < 10.
→ La ligne est modifiée dans la table, mais disparaît de la vue !
Intégrité des données & CHECK OPTION
Insertion d'une donnée qui ne respecte pas le critère de la vue (noteEX < 10).
Résultat
L'insertion réussit dans la table, mais la ligne disparaît immédiatement de la vue car 12 ≥ 10.
Cette clause force toutes les modifications (INSERT/UPDATE) via la vue à respecter le WHERE clause.
Toutes les Questions avec Solutions
Analytique & Reporting
Calcul du % de notes ≥ 10 par module via CASE WHEN.
Vue filtrant les étudiants avec des notes "critiques" entre 5 et 10.
Utilisation de DENSE_RANK() pour gérer les ex-aequo efficacement.
Identifier les étudiants n'ayant aucune note ≥ 10 via HAVING.
Questions 1-20 - Solutions Complètes
Structure et Exemples Pratiques
Bloc PL/SQL avec déclaration de variables et calculs simples.
Utilisation de IF-THEN-ELSIF-ELSE pour gérer différents cas.
Utilisation d'une boucle FOR pour itérer sur une plage de valeurs.
Utilisation de SELECT INTO pour récupérer une seule ligne avec gestion des erreurs.
Traitement ligne par ligne
Créez un curseur qui récupère toutes les évaluations d'un étudiant spécifié par son matricule.
Utilisation d'un curseur pour parcourir tous les étudiants de la base de données.
Utilisation de SELECT INTO dans une boucle avec gestion de NO_DATA_FOUND.
Utilisation d'un curseur avec FOR LOOP pour simplifier le traitement.
Utilisation d'un curseur avec WHILE LOOP pour un contrôle plus fin.
Blocs Nommés & Modulaires
Valeurs de retour et utilisation SQL
Créez une fonction PL/SQL qui prend en paramètre le code d'un module et retourne son titre.
Créez une fonction PL/SQL qui prend en paramètre un matricule d'étudiant et retourne sa moyenne.
Automatisation et Audit
Créez un déclencheur pour enregistrer les modifications apportées aux étudiants.
Mettre en place une suppression en cascade à l'aide de déclencheurs.
Questions 1-10 - Solutions Complètes
En utilisant la boucle FOR puis WHILE, écrire un programme qui affiche 7 fois le mot « Bonjour ».
En utilisant la boucle FOR, écrire un programme PL/SQL qui affiche 7 fois le mot « Bonjour ».
Avec WHILE :
Créer un TYPE tableau (VARRAY) pouvant contenir jusqu'à 30 entiers. Remplir avec les 10 premiers carrés (4, 16, 36... 400).
Créez une fonction PL/SQL nommée GET_MODULE_TITRE qui prend en paramètre le code d'un module et retourne son titre.
Créez une fonction PL/SQL qui prend en paramètre un matricule d'étudiant et retourne sa moyenne (moyenne de toutes ses évaluations CC).
Créez un curseur qui récupère toutes les évaluations d'un étudiant spécifié par son matricule. Affichez pour chaque ligne : le matricule, le code du module, le titre du module et la noteCC.
Créez un déclencheur pour enregistrer les modifications apportées aux étudiants (une nouvelle table qui contient l'ancienne valeur, la nouvelle valeur et la date de modification).
Mettre en place une suppression en cascade à l'aide de déclencheurs. Lorsqu'un étudiant est supprimé, toutes ses évaluations doivent être supprimées automatiquement.