Exemple : Cours et intervenants
Exemple : Modèle logique
Appuyer sur espace pour rester en pause.Appuyer sur espace pour rester en pause.
CTRL+C pour copier, CTRL+V pour coller
1
Type typBureau : <centre:char, batiment:char, numero:int>
2
Type typListeTelephones : collection de <entier>
3
Type typSpecialite : <domaine:char, specialite:char>
4
Type typListeSpecialites : collection de <typSpecialite>
5
tIntervenant (#nom:char, prenom:char, bureau:typBureau, ltelephones:typListeTelephones, lspecialites:typListeSpecialites)
Type typBureau : <centre:char, batiment:char, numero:int> Type typListeTelephones : collection de <entier> Type typSpecialite : <domaine:char, specialite:char> Type typListeSpecialites : collection de <typSpecialite> tIntervenant (#nom:char, prenom:char, bureau:typBureau, ltelephones:typListeTelephones, lspecialites:typListeSpecialites)
Exemple : LDD
Appuyer sur espace pour rester en pause.
CTRL+C pour copier, CTRL+V pour coller
1
CREATE OR REPLACE TYPE typBureau AS OBJECT (
2
centre char(2),
3
batiment char(1),
4
numero number(3)
5
);
6
/
7
8
CREATE OR REPLACE TYPE typListeTelephones AS TABLE OF number(10);
9
/
10
11
CREATE OR REPLACE TYPE typSpecialite AS OBJECT (
12
domaine varchar2(15),
13
technologie varchar2(15)
14
);
15
/
16
17
CREATE OR REPLACE TYPE typListeSpecialites AS TABLE OF typSpecialite;
18
/
19
20
CREATE TABLE tIntervenant (
21
pknom varchar2(20) PRIMARY KEY,
22
prenom varchar2(20) NOT NULL,
23
bureau typBureau,
24
ltelephones typListeTelephones,
25
lspecialites typListeSpecialites
26
)
27
NESTED TABLE ltelephones STORE AS tIntervenant_nt1,
28
NESTED TABLE lspecialites STORE AS tIntervenant_nt2;
CREATE OR REPLACE TYPE typBureau AS OBJECT ( centre char(2), batiment char(1), numero number(3) ); / CREATE OR REPLACE TYPE typListeTelephones AS TABLE OF number(10); / CREATE OR REPLACE TYPE typSpecialite AS OBJECT ( domaine varchar2(15), technologie varchar2(15) ); / CREATE OR REPLACE TYPE typListeSpecialites AS TABLE OF typSpecialite; / CREATE TABLE tIntervenant ( pknom varchar2(20) PRIMARY KEY, prenom varchar2(20) NOT NULL, bureau typBureau, ltelephones typListeTelephones, lspecialites typListeSpecialites ) NESTED TABLE ltelephones STORE AS tIntervenant_nt1, NESTED TABLE lspecialites STORE AS tIntervenant_nt2;
Exemple : Insert
Appuyer sur espace pour rester en pause.
CTRL+C pour copier, CTRL+V pour coller
1
INSERT INTO tIntervenant (pknom, prenom, bureau, ltelephones, lspecialites)
2
VALUES (
3
'Crozat',
4
'Stéphane',
5
typBureau('PG','K',256),
6
typListeTelephones (0687990000,0912345678,0344231234),
7
typListeSpecialites (typSpecialite ('BD','SGBDR'), typSpecialite('Doc','XML'), typSpecialite('BD','SGBDRO'))
8
);
9
10
INSERT INTO tIntervenant (pknom, prenom, bureau, ltelephones, lspecialites)
11
VALUES (
12
'Vincent',
13
'Antoine',
14
typBureau('R','C',123),
15
typListeTelephones (0344231235,0687990001),
16
typListeSpecialites (typSpecialite ('IC','Ontologies'), typSpecialite('BD','SGBDRO'))
17
);
INSERT INTO tIntervenant (pknom, prenom, bureau, ltelephones, lspecialites) VALUES ( 'Crozat', 'Stéphane', typBureau('PG','K',256), typListeTelephones (0687990000,0912345678,0344231234), typListeSpecialites (typSpecialite ('BD','SGBDR'), typSpecialite('Doc','XML'), typSpecialite('BD','SGBDRO')) ); INSERT INTO tIntervenant (pknom, prenom, bureau, ltelephones, lspecialites) VALUES ( 'Vincent', 'Antoine', typBureau('R','C',123), typListeTelephones (0344231235,0687990001), typListeSpecialites (typSpecialite ('IC','Ontologies'), typSpecialite('BD','SGBDRO')) );
Exemple : Select (enregistrement imbriqué)
Appuyer sur espace pour rester en pause.
CTRL+C pour copier, CTRL+V pour coller
1
PKNOM PRENOM BUREAU.CENTRE
2
-------------------- -------------------- -------------
3
Crozat Stéphane PG
4
Vincent Antoine R
PKNOM PRENOM BUREAU.CENTRE -------------------- -------------------- ------------- Crozat Stéphane PG Vincent Antoine R
Exemple : Select (collection de scalaires imbriquée)
Appuyer sur espace pour rester en pause.
CTRL+C pour copier, CTRL+V pour coller
1
PKNOM COLUMN_VALUE
2
-------------------- ------------
3
Crozat 687990000
4
Crozat 912345678
5
Crozat 344231234
6
Vincent 344231235
7
Vincent 687990001
PKNOM COLUMN_VALUE -------------------- ------------ Crozat 687990000 Crozat 912345678 Crozat 344231234 Vincent 344231235 Vincent 687990001
Exemple : Select (collection d'enregistrements imbriquée)
Appuyer sur espace pour rester en pause.
CTRL+C pour copier, CTRL+V pour coller
1
PKNOM DOMAINE TECHNOLOGIE
2
-------------------- --------------- ---------------
3
Crozat BD SGBDR
4
Crozat Doc XML
5
Crozat BD SGBDRO
6
Vincent IC Ontologies
7
Vincent BD SGBDRO
PKNOM DOMAINE TECHNOLOGIE -------------------- --------------- --------------- Crozat BD SGBDR Crozat Doc XML Crozat BD SGBDRO Vincent IC Ontologies Vincent BD SGBDRO