Table des matières:
Vidéo: Initiation à Oracle pour débutant ou préparation certification Oca Sql Dba ou developpeur #oracle 2025
PL / SQL est le langage à utiliser lors de l'écriture de code résidant dans la base de données. Dans l'article suivant, vous verrez différentes situations dans lesquelles vous trouverez PL / SQL utile.
Utilisation des déclencheurs de base de données
Un déclencheur est un événement dans le SGBD qui peut provoquer l'exécution automatique du code. Il existe quatre types de déclencheurs de base de données:
- Les déclencheurs au niveau table peuvent initier une activité avant ou après un événement INSERT, UPDATE ou DELETE. Ils sont généralement utilisés pour suivre les informations d'historique et les modifications de la base de données, pour synchroniser les données redondantes ou pour renforcer la sécurité en empêchant certaines opérations de se produire.
- Les déclencheurs au niveau de la vue sont très utiles. Une vue est une instruction SQL stockée que les développeurs peuvent interroger comme s'il s'agissait d'une table de base de données elle-même. En plaçant les déclencheurs INSTEAD OF sur une vue, les commandes INSERT, MODIFY et DELETE peuvent être appliquées à la vue quelle que soit sa complexité, car le déclencheur INSTEAD OF définit ce qui peut être fait pour la vue.
- Les déclencheurs au niveau de la base de données peuvent être activés au démarrage et à l'arrêt. Par exemple, lorsque la base de données démarre, vous pouvez tester la disponibilité d'autres bases de données ou services Web. Avant la fermeture d'une base de données, vous pouvez indiquer aux autres bases de données et services Web que la base de données est hors connexion.
- Les déclencheurs au niveau de la session peuvent être utilisés pour stocker des informations spécifiques. Par exemple, lorsqu'un utilisateur se connecte ou se déconnecte, vous pouvez exécuter un code contenant les préférences de l'utilisateur et les charger dans la mémoire pour un accès rapide. Lorsque la session se ferme, un déclencheur peut enregistrer les préférences pour une utilisation future.
Script avec rapidité
Lors de l'écriture de code, la possibilité de taper une partie du code et de l'exécuter sans l'enregistrer d'abord dans la base de données est utile. Oracle fournit cette fonctionnalité, qui est prise en charge par tous les IDE de PL / SQL.
Maintien du code côté serveur
La majorité du code PL / SQL est stockée en tant qu'unités de programme dans le serveur. Une application typique a beaucoup de lignes de code.
Certains programmeurs, en particulier les développeurs Web travaillant dans le J2EE ou. Les environnements NET, essayez d'écrire la plupart de leur code dans le serveur d'application en Java (pour les développeurs J2EE) ou VB. NET (pour les développeurs.NET). Ce n'est pas une bonne pratique. Dans une application de base de données, une grande partie de la logique est consacrée à la récupération et à la mise à jour des informations. Si le code pour accomplir cette tâche réside dans un serveur d'application, il doit envoyer une demande à la base de données sur un réseau. Ensuite, la base de données doit traiter la demande et renvoyer les informations sur le réseau pour que l'application puisse les traiter.Parce que les réseaux et les ordinateurs sont maintenant très rapides, vous pourriez penser que cela ne prendrait qu'une fraction de seconde. Bien que ce soit le cas pour une seule requête, si une application très complexe nécessite des millions voire des centaines de millions d'interactions avec la base de données, multiplier le nombre d'interactions par quelques fractions de seconde peut entraîner de très mauvaises performances.
Même des opérations relativement simples ne nécessitant que quelques requêtes de base de données peuvent être problématiques si l'application est utilisée par des centaines, des milliers ou des dizaines de milliers d'utilisateurs simultanément. Il est beaucoup plus difficile de créer une application gourmande en bases de données sans utiliser le codage côté serveur que d'écrire tout le code à exécuter dans un serveur d'applications.
L'un des arguments contre l'écriture de code côté serveur est que l'application ne sera pas portable (elle ne peut pas être déplacée d'une plate-forme à une autre). Cependant, la plupart des organisations utilisant Oracle l'utilisent depuis très longtemps (dix ans ou plus) et n'envisagent pas de passer à une plate-forme différente. En outre, le développement Web est actuellement dans un état de flux rapide. Les organisations changent fréquemment entre. NET, J2EE et d'autres environnements pour leur développement d'applications Web.
Les deux. Les environnements NET et J2EE évoluent également. Dans l'environnement J2EE, la norme de l'industrie pour le développement Web il y a un an était de créer des pages JavaServer (JSP). Actuellement, la norme de l'industrie est de travailler dans l'environnement JSP / Struts. Au cours de la prochaine année, JavaServer Faces (JSF) deviendra probablement la norme de l'industrie. Par conséquent, le code écrit dans le niveau intermédiaire risque fort d'être réécrit à l'avenir.
Le code côté serveur s'exécute plus rapidement, est plus facile à gérer et à tester et moins susceptible d'être modifié que le code placé dans le niveau intermédiaire. Par conséquent, créer des parties significatives d'une application dans la base de données est une meilleure approche.
Il existe un certain nombre d'endroits où vous pouvez écrire du code que vos applications peuvent utiliser:
- Portions d'applications: Les unités de programme PL / SQL peuvent renvoyer un ensemble de valeurs (fonctions) ou routines PL / SQL peut effectuer des opérations de base de données (procédures). Ces fonctions et procédures peuvent être appelées par d'autres fonctions et procédures ou (dans le cas de fonctions) utilisées dans les instructions SQL. Les routines PL / SQL peuvent être aussi volumineuses et complexes que vous le souhaitez. Certaines routines complexes peuvent contenir des milliers de lignes de code. Des systèmes entiers peuvent contenir des millions de lignes de code.
- Code PL / SQL intégré dans les vues: Oracle vous permet d'intégrer du code dans les vues de la base de données. Le code peut être situé à l'un des deux endroits de la vue. Tout d'abord, vous pouvez placer des fonctions correctement créées renvoyant une valeur dans la partie SELECT d'une instruction SQL pour extraire des informations supplémentaires, qui peuvent ou non faire partie des tables interrogées. Vous pouvez également intégrer PL / SQL dans les déclencheurs INSTEAD OF sur une vue. Ces déclencheurs vous permettent d'effectuer des opérations INSERT, UPDATE et DELETE sur des vues complexes, PL / SQL gérant par programmation la manière dont ces opérations doivent être gérées.
- Routines par lots: Routines par lots code d'exécution qui traite un grand nombre d'enregistrements en même temps. La génération de factures pour chaque client dans un système ou le traitement de chèques de paie pour une organisation entière sont des exemples de routines de traitement par lots. Ces routines sont généralement volumineuses, complexes et nécessitent une base de données importante. Ce type de routine devrait certainement être écrit en PL / SQL.
