Niveau d'étude
BAC +3
ECTS
3 crédits
Composante
Sciences économiques, gestion, mathématiques et informatique
Volume horaire
32h
Période de l'année
Enseignement sixième semestre
Description
Ce cours a pour objectif d’introduire les étudiants à la programmation procédurale appliquée aux bases de données à travers le langage PL/SQL. Il prolonge les connaissances acquises en SQL en permettant de développer des traitements complexes directement au sein du système de gestion de bases de données Oracle.
Le cours aborde les structures fondamentales du langage PL/SQL : blocs, variables, conditions, boucles, curseurs, procédures, fonctions, gestion des exceptions et déclencheurs (triggers). Une attention particulière sera portée à la modularité du code, à la robustesse des traitements et à l’optimisation des interactions avec les données.
Objectifs
À l’issue du cours, les étudiants devront être capables de :
- Écrire et exécuter des blocs PL/SQL ;
- Déclarer et manipuler des variables, constantes et structures de contrôle , avec les notions de curseur et curseur paramétré ;
- Utiliser des conditions, boucles et curseurs pour traiter des données ;
- Créer des procédures stockées, fonctions et packages réutilisables ;
- Gérer les exceptions et sécuriser les traitements ;
- Concevoir des triggers pour automatiser certaines opérations ;
- Optimiser les échanges entre SQL et PL/SQL ;
- Développer des traitements robustes et maintenables dans une base Oracle.
Évaluation
Modalités : Mixte : CC + CT
SESSION 1 :
Contrôle Continu
• Type : Écrit, Machine, TP
• Durée : --
• Précisions : Le contrôle continu représente 50 % de la note finale,
et comprend un devoir écrit ou sur machine comptant pour 30 %, des rendus de TPs comptant pour 20%
Contrôle Terminal
• Type : Écrit
• Durée : 1h30
• Précisions : L’examen final représente 50 % de la note finale.
Régime Dérogatoire
• Type : Écrit
• Durée : 1h30
• Précisions : L’examen final représente 100 % de la note finale.
SESSION 2 :
• Type : Écrit
• Durée : 1h30
• Précisions : L’examen final représente 100 % de la note finale.
► Les différentes épreuves écrites, qu’il s’agisse de l’examen final, du devoir, de l’examen terminal en régime dérogatoire ou de la seconde session, ont une durée indicative de 1h30, susceptible d’être ajustée en fonction des contraintes pédagogiques, matérielles ou logistiques, dans le respect des M3C applicables. Les absences, les aménagements éventuels et les autres situations particulières sont traités conformément aux M3C en vigueur.
Utilisation de l'intelligence artificielle :
Pour cet EC, l’usage de l’intelligence artificielle (IA) générative pour aider à la réalisation des travaux soumis à évaluation est interdite, sauf éventuelles exceptions dûment spécifiées par l’enseignant responsable du cours. Dans le cadre de ces éventuelles exceptions, les principes suivants doivent être respectés.
Les résultats fournis par l’IA doivent constituer un matériau pour votre réflexion, et toujours faire l’objet d’une réappropriation et d’une reprise critique.
Tous les usages doivent être documentés dans une section dédiée à la fin de votre travail, à l’exception des usages de recherche web augmentée, de correction orthographique et syntaxique. Cette section doit permettre à votre lecteur d’évaluer la manière dont vous avez travaillé avec l’IA et mobilisé cette ressource au service d’un travail personnel.
L’intégration directe de contenus engendrés par l’IA doit être faite sous le régime de la citation.
Toute utilisation non déclarée ou non autorisée d’un outil d’IA pourra être considérée comme un manquement aux règles d’intégrité académique.
Il est également demandé aux étudiants de ne pas transmettre à des outils d’IA des données confidentielles ou personnelles concernant l’université, les enseignants, les entreprises partenaires ou d’autres étudiants.
Heures d'enseignement
- CMCM16h
- TDTD16h
Compétences visées
- Concevoir des traitements procéduraux associés à une base de données relationnelle.
- Développer des programmes PL/SQL structurés et maintenables.
- Manipuler les structures de contrôle et les curseurs.
- Créer et organiser des procédures stockées, fonctions et packages.
- Assurer la gestion des erreurs et des exceptions.
- Automatiser des traitements via des triggers.
- Optimiser les performances des traitements liés aux bases de données.
- Garantir l’intégrité et la cohérence des données manipulées.
- Tester, déboguer et documenter du code PL/SQL.
