Chapter 3 Construction de diagrammes physiques


Création d'une séquence pour une colonne

Lorsque votre SGBD prend en charge les séquences, vous pouvez créer une séquence pour une colonne.

Pour comprendre le concept des séquences, vous devez connaître le principe de fonctionnement des colonnes auto-incrémentées. Une colonne auto-incrémentée est une colonne dont les valeurs sont automatiquement incrémentées de 1, produisant ainsi une liste de numéros consécutifs. Les séquences sont des colonnes auto-incrémentées spéciales dotées de fonctionnalités qui vous permettent de définir une liste de numéros plus complexe. Par exemple, les séquences vous permettent de définir des numéros compris au sein d'une plage (dont vous spécifiez les limites) et d'y définir le pas d'incrément (un entier) de votre choix.

Une fois que vous avez défini une séquence, vous pouvez l'appliquer à une colonne et l'activer. Le type de données de la colonne recevant la séquence doit être numérique. De telles colonnes auto-incrémentées peuvent être utilisées dans une clé pour une table de MPD.

Pour plus d'informations sur les types de données, reportez-vous à la section "Sélection d'un type de données pour une colonne".

Utilisation des séquences

L'utilisation des séquences implique deux étapes :

Lorsque vous créez une séquence, vous devez définir les options dans sa feuille de propriétés. Il est également possible d'affecter des options aux autres séquences existantes.

Une fois qu'une séquence est créée, vous l'appliquez à une colonne de table dans le modèle. Par la suite, vous régénérez les triggers afin d'activer la séquence sur cette colonne.

Pour plus d'informations sur les vérifications de modèle, reportez-vous à la section "Vérification d'un MPD" dans le chapitre "Gestion des MPD".

Effet d'un changement de SGBD sur les séquences et les colonnes auto-incrémentées

Si vous créez une séquence attachée à une colonne dans un SGBD qui prend en charge les séquences (par exemple Oracle 8 et version supérieure, Interbase ou PostgreSQL), ou que vous créez une colonne auto-incrémentée dans un SGBD qui prend en charge cette fonctionnalité, puis décidez de changer le SGBD cible, il en découle les effets suivants :

Changement de SGBD Défini dans le SGBD d'origine Effet sur les séquences et les colonnes auto-incrémentées
D'un SGBD acceptant les séquences à un SGBD acceptant les colonnes auto-incrémentées Séquence attachée à une colonne La séquence disparaît et la colonne à laquelle elle était attachée devient une colonne auto-incrémentée dans le SGBD
D'un SGBD acceptant les colonnes auto-incrémentées à un SGBD acceptant les séquences Colonne auto-incrémentée La colonne auto-incrémentée est supprimée et remplacée par une séquence appelée S_NOMTABLE qui est attachée à la colonne d'origine

Séquences et génération intermodèle

Lorsqu'un MCD ou un MOO est généré depuis un MPD, le type de données d'une colonne de table attachée à une séquence est converti en type de données numérique dans le nouveau modèle :

MPD généré dans Séquence convertie en
MCD Type de données séquentiel pour une propriété d'entité. Le type de données a le format NO%n%n est un nombre indiquant la longueur du type de données
MOO Type de données séquentiel pour un attribut de classe. Le type de données a le format NO%n%n est un nombre indiquant la longueur du type de données

Exemple

Supposons que vous souhaitiez créer une colonne qui répertorie les mois de l'année alors que les rapports trimestriels sont publiés en Mars, Juin, Septembre et Décembre. Le premier rapport est publié le troisième mois, le second est publié le sixième mois, le troisième publié le neuvième mois et le dernier le douzième mois.

Vous pouvez définir la séquence appropriée en saisissant les valeurs suivantes dans les paramètres de séquence :

Nom du paramètre
Description
Valeur
Start with Mars est le 3ème mois de l'année 3
Increment by Avancer de trois mois pour identifier le prochain mois dans la liste 3
Maxvalue Arrêter une fois le dernier mois de l'année atteint 12

La séquence créée à l'aide de ces paramètres permet de créer automatiquement la liste des mois de publication des rapports trimestriels.

 


Copyright (C) 2005. Sybase Inc. All rights reserved.