Concepts de base de données. Novell Pilote DirXML pour JDBC
Novell Confidential Manual (FRA) 28 October 2003
Schéma d’application
Ensemble des classes et attributs d’une application. Comme les bases de données n’ont aucune notion de classes ou d’attributs, le pilote assigne les classes eDirectory à des vues ou des tables et les attributs eDirectory à des colonnes.
Schéma de synchronisation
Le schéma de base de données visible pour le pilote.
Classe de base de données logique
L’ensemble de tables ou de vues utilisées pour représenter une classe eDirectory dans une base de données.
Concepts de base de données
La section suivante définit les concepts importants relatifs aux bases de données ci-dessous :
« Schéma de base de données », page 13
« Langage de manipulation de données », page 13
« Langage de définition de données », page 14
« Colonnes d’identité/Séquences », page 15
« Procédures/fonctions stockées », page 16
Schéma de base de données
Un schéma de base de données est un ensemble d’objets de base de données tels que des tables, des vues, des procédures stockées, etc., qui sont la propriété d’un utilisateur de base de données particulier. La propriété est souvent exprimée par une notation à point du type dirxml.emp
, où dirxml
est le nom de l’utilisateur de base de données qui est propriétaire de la table emp
. Tous les objets de base de données qui appartiennent à dirxml
constituent le schéma de base de données dirxml.
Langage de manipulation de données
Les instructions en langage DML (Data Manipulation Language - Langage de manipulation de données) sont des éléments hautement normalisés qui permettent de manipuler des données de la base de données. Elles sont fondamentalement les mêmes quelle que soit la base de données utilisée.
L’exemple suivant contient plusieurs instructions DML :
SELECT * FROM emp;
INSERT INTO emp(lname) VALUES('Doe');
UPDATE emp SET fname = 'John' WHERE empno = 1;
Remarque : les exemples utilisés dans l’ensemble du présent guide d’implémentation s’appliquent à la base de données Oracle*.
Présentation du pilote DirXML pour JDBC
13
Novell Confidential Manual (FRA) 28 October 2003
Langage de définition de données
Les instructions en langage DDL (Data Definition Language - Langage de définition de données) permettent de manipuler des objets de base de données comme des tables, des index, des comptes utilisateur, etc. Les instructions DDL sont propriétaires et diffèrent largement selon les bases de données.
L’exemple suivant contient une instruction DDL :
CREATE TABLE emp
(
empno NUBMER(8),
fname VARCHAR2(64),
lname VARCHAR2(64)
);
CREATE USER dirxml IDENTIFIED BY novell;
Transactions
Une transaction est une opération de base de données atomique qui se compose d’une ou de plusieurs instructions. Lorsqu’une transaction est terminée, toutes les instructions qu’elle contient sont validées. Lorsqu’une transaction est interrompue ou que l’une de ses instructions est erronée, elle est restaurée à son état initial. Dans ce cas, la base de données est rétablie à son état antérieur, celui qu’elle avait avant le début de la transaction.
Les transactions sont soit manuelles (définies par l’utilisateur), soit automatiques. Les transactions manuelles peuvent se composer d’une ou de plusieurs instructions et doivent être explicitement validées. Les transactions automatiques ne comportent qu’une seule instruction et sont implicitement validées après l’exécution de cette instruction.
Transactions manuelles
Les transactions manuelles contiennent généralement plusieurs instructions. En principe, il est impossible de combiner des instructions DDL et des instructions DML dans une transaction manuelle. L’exemple suivant illustre une transaction manuelle :
INSERT INTO emp(lname) VALUES('Doe');
UPDATE emp SET fname = 'John' WHERE empno = 1;
COMMIT; /* explicit */
Transactions automatiques
Les transactions automatiques se composent d’une seule instruction. Elles sont souvent appelées instructions auto-validées car les modifications sont implicitement validées après chaque instruction. Lorsqu’une instruction est exécutée automatiquement, elle est indépendante de toute autre instruction. L’exemple suivant illustre une transaction automatique :
INSERT INTO emp(lname) VALUES('Doe');
/* COMMIT; implicit */
14
DirXML Driver for JDBC Implementation Guide (Guide d’implémentation du pilote DirXML pour JDBC)
Novell Confidential Manual (FRA) 28 October 2003
Déclencheurs
Un déclencheur de base de données est une logique programmable associée à une table qui se déclenche ou s’exécute dans certaines conditions. Les déclencheurs servent souvent à créer des effets secondaires dans une base de données. Voici un exemple de déclencheur de base de données sur une table emp
.
CREATE TABLE emp
(
empno NUMBER(8),
fname VARCHAR(64),
lname VARCHAR(64)
);
CREATE TRIGGER t_emp_insert
AFTER INSERT ON emp
FOR EACH ROW
BEGIN
UPDATE emp SET fname = 'John';
END;
Lorsqu’une instruction est exécutée sur une table qui comporte des déclencheurs, un déclencheur se déclenche si l’instruction répond aux conditions qu’il indique. Par exemple, dans la table cidessus, si l’instruction d’insertion suivante était exécutée,
INSERT INTO emp(LNAME) VALUES('Doe')
Le déclencheur t_emp_insert
se déclencherait après l’exécution de l’instruction d’insertion et l’instruction de mise à jour suivante serait également exécutée :
UPDATE emp SET fname = 'John'
Un déclencheur peut généralement être exécuté avant ou après l’instruction qui l’a déclenché. Les instructions qui sont exécutées dans le cadre d’un déclencheur de base de données sont généralement incluses dans la même transaction que l’instruction déclenchante. Dans l’exemple ci-dessus, les instructions insert et update seraient validées ou annulées ensemble.
Colonnes d’identité/Séquences
Les colonnes d’identité et les séquences sont utilisées pour générer des valeurs de clé primaire uniques.
Une colonne d’identité est une colonne qui s’incrémente automatiquement et qui est utilisée pour identifier de manière unique une ligne dans une table. Les valeurs des colonnes d’identité sont automatiquement renseignées lors de l’insertion d’une ligne dans une table.
Un objet de séquence est un compteur qui peut être utilisé pour identifier de manière unique une ligne dans une table. Contrairement à une colonne d’identité, un objet de séquence n’est pas lié à une seule table. Si toutefois il est utilisé par une seule table, un objet de séquence peut être utilisé pour obtenir un résultat équivalent.
Voici un exemple d’objet de séquence :
CREATE SEQUENCE seq_empno
START WITH 1
INCREMENT BY 1
NOMINVALUE
NOMAXVALUE
CACHE 100
ORDER;
Présentation du pilote DirXML pour JDBC
15

Enlace público actualizado
El enlace público a tu chat ha sido actualizado.