Académique Documents
Professionnel Documents
Culture Documents
Données
Introduction
! Dans oracle, il existe des types de base comme les caractères, les nombres et
les dates.
! Des données appelées attributs définis à partir des types de base ou des
types utilisateurs;
! Des méthodes manipulant ces attributs. Ces méthodes peuvent être écrite en
PL/SQL, en C ou en Java. Chaque objet possède une méthode constructeur
qui crée un nouvel objet selon les spécifications du type sous-jacent.
© O.Lamouchi 2
Introduction
© O.Lamouchi 3
! La définition d’une structure de données partagée qui peut être utilisée pour
créer une ou plusieurs tables;
! La définition d’une structure de données partagée qui peut être utilisée pour
définir un ou plusieurs attributs dans une ou plusieurs tables;
© O.Lamouchi 4
Les types abstraits de données (TAD)
def_colonne::=nom_colonne type
© O.Lamouchi 5
def_colonne::=nom_colonne type
Utilisation des types:
CREATE TABLE nom_table OF nom_type;
Exemples:
CREATE TYPE personne_type AS OBJECT(!
!num_eleve NUMBER !
!Nom VARCHAR2(20),!
!Prenom VARCHAR2(20),!
!Adresse adr_type);!
CREATE TABLE Eleve OF personne_type (CONSTRAINT pk_Eleve
PRIMARY KEY (Num_eleve));!
© O.Lamouchi 6
Les Méthodes
© O.Lamouchi 7
Les Méthodes
• Exemple
© O.Lamouchi 8
Héritage
© O.Lamouchi 9
• Supprimer un type
© O.Lamouchi 10
Les tables
CREATE TABLE nom_table OF nom_type
" Type_contrainte: !
- PRIMARY KEY (liste attributs clé primaire)
- FOREIGN KEY (liste attributs clé étrangère)
Exemple:
© O.Lamouchi 11
Les tables
Insertion de données
" On ajoute des données comme avec une table normale
" Si le type est un type utilisé par un autre type, l’utilisation du constructeur du type est
obligatoire :
© O.Lamouchi 12
Les tables
Modification
Appel de procédure ou fonction
© O.Lamouchi 13
Références
" On peut indiquer dans la définition d’un type qu’un attribut contient des références (et
non des valeurs) à des données d’un autre type.
© O.Lamouchi 14
Références
INSERT INTO employe (matricule, nom, dept)
Référence vers le dept de numéro 10
VALUES ( 1240, ‘Dupond’, (SELECT REF(d)
FROM dept d
WHERE d.numDept=10));
© O.Lamouchi 15
Références
© O.Lamouchi 16
Références
Tables imbriquées
• Nom_table_imbriquee est une colonne de type table qui fait le lien entre la table maître et
la table imbriquée.
• Nom_structure_interne est le nom de la table qui contient les lignes de la table imbriquée
© O.Lamouchi 18
Tables imbriquées
Exemple:
CREATE TYPE emp_type AS OBJECT
(num_emp NUMBER,
CREATE TYPE emp_type_table AS TABLE OF emp_type;
CREATE TABLE departements (
(num_dep NUMBER,
Emp_table EMP_TYPE_TABLE)
© O.Lamouchi 19