Définition de tables objets (modèles et LDD)
Définition :
Syntaxe : Modèle logique
Appuyer sur espace pour rester en pause.
1
nom_table de nom_type (#attributs_clés)
Syntaxe : LDD SQL3
Appuyer sur espace pour rester en pause.
1
CREATE TABLE nom_table OF nom_type (
2
PRIMARY KEY(attribut1),
3
attribut2 NOT NULL,
4
UNIQUE (attribut3)
5
FOREIGN KEY (attribut4) REFERENCES ...
6
);
Il est possible, sur une table ainsi définie, de spécifier les mêmes contraintes que pour une table créée avec une clause CREATE TABLE (contraintes de table). Ces contraintes doivent être spécifiées au moment de la création de la table, et non au moment de la création du type (bien que la définition de type permet de spécifier certaines contraintes, comme NOT NULL).
Fondamental : Méthodes
Des méthodes peuvent être associées à une table-objet.
Complément : Héritage
Cette modalité de définition de schéma permet de profiter de l'héritage de type pour permettre l'héritage de schéma de table.
Exemple :
Appuyer sur espace pour rester en pause.
1
CREATE OR REPLACE TYPE typIntervenant AS OBJECT(
2
pknom varchar2(20),
3
prenom varchar2(20)
4
);
5
/
6
7
CREATE TABLE tIntervenant OF typIntervenant (
8
PRIMARY KEY(pknom),
9
prenom NOT NULL
10
);