> Tech > Prendre une identité DB2 UDB

Prendre une identité DB2 UDB

Tech - Par iTPro.fr - Publié le 24 juin 2010
email

par Kent Milligan - Mis en ligne le 26/11/2003

Utilisez les colonnes d'identité SQL pour alléger votre fardeau

Les colonnes d'identité de DB2 UDB sont l'une des nombreuses améliorations de SQL V5R2, qui permettent de porter plus facilement des bases de données sur l'iSeries, à  partir d'autres plates-formes...

Les colonnes d'identité de DB2 UDB sont l'une des nombreuses améliorations de SQL V5R2, qui permettent de porter plus facilement des bases de données sur l'iSeries, à  partir d'autres plates-formes. Beaucoup de tables d'une base de données ont une caractéristique commune : elles contiennent des identificateurs uniques, généralement utilisés comme index vis-à -vis des données qu'ils identifient. Par exemple, un champ numéro de client identifie de façon unique un client et lui relie l'information dans la base de données le concernant.
Certaines applications demandent aux utilisateurs d'attribuer ces identificateurs ; d'autres les génèrent ellesmêmes. Bien entendu, les développeurs doivent écrire et maintenir ce code. Pour de telles applications, les colonnes d'identité simplifient la tâche. Voyons comment elles fonctionnent.

Pour les développeurs, les colonnes
d’identité sont un moyen de générer
automatiquement et facilement une valeur
numérique unique pour chaque
ligne d’une table. Au fur et à  mesure
que de nouvelles lignes s’ajoutent à 
une table, DB2 UDB for iSeries se
charge de fournir la valeur de la colonne
d’identité suivante, au lieu de
passer par le code d’application pour
cela.

L’exemple de table employée cidessous
montre les colonnes d’identité
en action :


CREATE TABLE employee (
empid INTEGER GENERATED ALWAYS AS
IDENTITY,
name CHAR(3à˜), dep# CHAR(4))

La colonne ID employé (empid)
a été créée comme une colonne
d’identité et donc, quand de nouveaux employés sont ajoutés, DB2 UDB génère
la valeur empid. Le premier employé
recevra une valeur empid de 1,
l’employé suivant recevra 2, et ainsi de
suite. Les colonnes d’identité sont intéressantes
pour des colonnes comme
ID employé où il faut simplement de la
logique pour attribuer la valeur suivante,
et où la valeur elle-même n’a pas
de signification. Les clés secondaires
en data warehousing sont un autre créneau
où les colonnes d’identité ont
leur place.

Une fois que l’on sait ce qu’une colonne
d’identité peut faire, la question
logique suivante est : « Est-elle
meilleure que le code d’application ? ».
Les colonnes d’identité de DB2 UDB
évitent les problèmes de simultanéité
et de performance possibles quand
une application génère son propre
compteur unique à  l’extérieur de la
base de données. Une logique d’application
courante consiste à  stocker un
compteur dans un objet qui peut être
partagé, comme une table, zone de
données, ou file d’attente de données.
Chaque transaction verrouille ensuite
cet objet compteur, incrémente le
nombre, puis déverrouille l’objet
compteur.

Malheureusement, ce modèle oblige
aussi les autres jobs ou transactions
à  attendre jusqu’à  ce que l’objet compteur
ait été incrémenté et déverrouillé,
avant de pouvoir obtenir une valeur
clé. Bien que DB2 UDB doive aussi utiliser
un genre de verrouillage interne
pour maintenir la colonne d’identité,
le verrouillage effectué par DB2 UDB
demande moins de ressources système.
La génération plus rapide de valeurs
clé par les colonnes d’identité de
DB2 UDB signifie que les applications
peuvent atteindre de plus hauts niveaux
de débit et d’évolutivité.

Les colonnes d’identité dispensent
aussi le développeur d’application de
devoir se rappeler d’écrire du code ou
d’appeler une routine qui génère
l’identificateur unique pour une table.
L’intégrité de l’application et de la base de données est améliorée par la génération
automatique d’identificateurs
uniques par la colonne d’identité.

Téléchargez cette ressource

Guide de Sécurité IA et IoT

Guide de Sécurité IA et IoT

Compte tenu de l'ampleur des changements que l'IA est susceptible d'entraîner, les organisations doivent élaborer une stratégie pour se préparer à adopter et à sécuriser l'IA. Découvrez dans ce Livre blanc Kaspersky quatre stratégies efficaces pour sécuriser l'IA et l'IoT.

Tech - Par iTPro.fr - Publié le 24 juin 2010