Packages de base de données (Oracle)

Dans Oracle, les packages encapsulent les procédures associées, les fonctions et les curseurs et variables associés dans une même unité située dans la base de données. Les packages comportent le plus souvent deux parties : une spécification et un corps. La spécification est l'interface avec vos applications ; elle déclare les types, variables, constantes, exceptions, curseurs et sous-programmes disponibles. Le corps définit pleinement les curseurs et sous-programmes, et met en oeuvre la spécification.

L'utilisation des packages permet des améliorations dans les domaines suivants :

Vous pouvez générer des packages de base de données et procéder à leur reverse engineering de la même façon que pour les autres objets de base de données (voir Génération et reverse-engineering de bases de données). Lorsque vous procédez au reverse engineering du contenu d'un package de base de données, les sous-objets (variable, procédure, curseur, exception et type) sont créés à partir de la spécification et du corps du package de base de données.

Création d'un package de base de données

Vous pouvez créer un package de base de données de l'une des façons suivantes :
  • Sélectionnez Modèle > Packages de base de données pour afficher la boîte de dialogue Liste des packages de base de données, puis cliquez sur l'outil Ajouter une ligne.

  • Pointez sur le modèle (ou package) cliquez le bouton droit de la souris, puis sélectionnez Nouveau > Package de base de données.

Propriétés d'un package de base de données

Pour visualiser ou modifier les propriétés d'un package de base de données, double-cliquez sur l'entrée correspondante dans l'Explorateur d'objets ou dans une liste. Les onglets de feuille de propriétés et zones répertoriés ici sont ceux disponibles par défaut, avant toute personnalisation de l'interface par vous ou par un administrateur.

L'onglet Général contient les propriétés suivantes :

Propriété

Description

Nom/Code/Commentaire

Identifient l'objet. Le nom doit permettre à des utilisateurs non spécialistes de savoir à quoi sert l'objet, tandis que le code, qui est utilisé afin de générer du code ou des scripts, peut être abrégé, et ne doit normalement contenir aucun espace. Vous pouvez également spécifier un commentaire afin de fournir des informations plus détaillées sur l'objet. Par défaut, le code est généré à partir du nom en appliquant les conventions de dénomination spécifiées dans les options du modèle. Pour supprimer la synchronisation du nom et du code, cliquez sur le bouton = en regard de la zone Code.

Stéréotype

Etend la sémantique de l'objet. Vous pouvez saisir un stéréotype directement dans cette zone, ou bien ajouter des stéréotypes dans la liste en les spécifiant dans un fichier d'extension.

Propriétaire

Spécifie le nom du propriétaire de package de base de données, que vous pouvez choisir dans la liste des utilisateurs.

Privilège

Permet d'indiquer si les fonctions et procédures contenues dans le package de base de données sont exécutées avec les privilèges et dans la structure de l'utilisateur qui le possède (celui qui l'a défini), ou avec les privilèges et dans la structure de CURRENT_USER (celui qui l'a appelé)..

Table

Spécifie la table à laquelle le package de base de données est associé.

Modèle

Spécifie le modèle de package de base de données sur lequel le package courant est basé (voir Modèles de package de base de données). vous utilisez un modèle de package, les onglets restants de la feuille de propriétés seront renseignés par ce modèle de package. Si vous modifiez les autres onglets, le bouton Utilisateur à droite de la zone est enfoncé et le package est détaché du modèle de package et ne sera plus mis à jour automatiquement lorsque vous modifierez la définition de la table à laquelle il est associé.

Mots clés

Permet de grouper de façon informelle des objets. Pour saisir plusieurs mots clés, séparez-les de virgules.

Les onglets suivants sont également disponibles :
  • Procédures – Répertorie les procédure associées au package de base de données (voir Procédures de package de base de données).

  • Variables - Répertorie les variables associées au package de base de données (voir Variables de package de base de données).

  • Curseurs - Répertorie les curseurs associés au package de base de données (voir Curseurs de package de base de données).

  • Exceptions – Répertorie les exceptions associées au package de base de données (voir Exceptions de package de base de données).

  • Types - Répertories les types associés au package de base de données (voir Types de package de base de données).

  • Initialisation - Permet de définir du code d'initialisation pour le corps du package de base de données. L'initialisation se produit après la création et la compilation du package de base de données sur le serveur.

  • Spécification - [masqué par défaut] Contient la spécification publique de la base de données.
  • Aperçu - Affiche le code SQL qui sera généré à partir du package de base de données.