Les mod les hi rarchiques et r seaux
Mehdi HAJJI
Conception BD II2
Plan du cours
Les mod les hi rarchiques et r seaux
-M. HAJJI-
2
Le mod le r seau
3
Les mod les hi rarchiques et r seaux
-M. HAJJI-
Caract ristiques principales
} Un mod le de donn es R seau g n ral (ou PLEXE) est
un mod le dans lequel les relations entre les entit s sont
repr sent es par des liens qui peuvent tre 1:1, 1:N, N:1,
ou N:M.
} Ces liens en nombre quelconque peuvent associer toute
paire dentit s du mod le.
} Ils devront tre distingu s les uns des autres par un
identificateur.
} Exemple
Les mod les hi rarchiques et r seaux
-M. HAJJI-
4
Caract ristiques princpales
} Exemple
Les mod les hi rarchiques et r seaux
-M. HAJJI-
5
Caract ristiques princpales
} Un lien de type 1 : 1
} associe une occurrence de lentit origine une et une seule
occurrence de lentit darriv e.
dans ce type de lien les cardinalit s (1:1) ne suffisent pas pour
orienter le lien afin de distinguer lentit origine du lien de celle
darriv e.
Cest pour cela que la s mantique du lien doit tre v hicul e
par le nom du lien.
} Par exemple le lien 1:1 existant entre les deux entit s WILAYAS et
WALI et ayant pour nom A_Pour_Wali sous entend quon oriente
le lien de lentit WILAYAS vers lentit WALI.
} On aurait pu utiliser le m me lien mais en lorientant de lentit
WALI vers lentit WILAYAS gr ce au nom du lien qui serait dans
ce cas Est_Wali_De.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
6
Caract ristiques princpales
} Un lien de type 1:N
} associe une occurrence de lentit origine (se trouvant du
c t de la fl che simple) z ro (0), une (1) ou plusieurs (N)
occurrences de lentit darriv e (se trouvant du c t de la
fl che double).
Lorientation du lien est donc enti rement d termin e gr ce
aux cardinalit s 1:N. Le nom attribu au lien permet de
rattacher une s mantique au lien.
} Par exemple le lien Est_Habit _Par de type 1:N va implicitement
de lentit VILLES vers lentit PERSONNES et permet de
mod liser le fait quune ville v soit habit e par 0, une ou plusieurs
personnes.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
7
Caract ristiques princpales
} Un lien de type N:1
} associe 0, une ou plusieurs occurrences de lentit origine
(se trouvant du c t de la fl che double, une et une seule
occurrence de lentit darriv e (se trouvant du c t de la
fl che simple).
Ce lien est donc implicitement orient de lentit se
trouvant du c t de la fl che double vers lentit se trouvant du
c t de la fl che simple.
} Par exemple le lien Habite_Dans de type N:1 allant de lentit s
PERSONNES vers lentit VILLES mod lise le fait que 0, une ou
plusieurs personnes Habitent dans une seule ville.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
8
Caract ristiques princpales
} Un lien de type N:M
} associe 0, une ou plusieurs occurrences de lentit origine (se trouvant
du c t de la premi re fl che double), 0, une ou plusieurs occurrences
de lentit darriv e (se trouvant du c t de lautre fl che double).
les cardinalit s N:M ne suffisent pas pour fixer lorientation du lien afin
de pouvoir distinguer entre lentit origine et lentit darriv e de ce lien.
Cest le m me probl me que dans le cas dun lien de type 1:1
et par cons quent la s mantique du lien doit tre v hicul e par le nom qui
sera attribu au lien.
} Par exemple, le lien N:M entre les entit s VILLES et SOCIETES et ayant pour
nom Est_Impant e_Dans sous-entend quon oriente le lien de lentit
SOCIETES vers lentit VILLES puisque dans la r alit on dit quune soci t
est implant e dans une ville (ou poss de un si ge dans une ville).
} La possibilit qui consisterait orienter le lien de lentit VILLES vers lentit
SOCIETES permettrait quant elle de mod liser une autre r alit qui signifie
quune ville regroupe 0, une ou plusieurs soci t s. Il faudra dans ce cas donner au
lien N:M un nom qui v hicule cette s mantique. Dans notre exemple cest le nom
Regroupe attribu au lien qui renseigne sur cette s mantique.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
9
Diagramme de structure de donn es de
BACHMAN
} Un diagramme de BACHMAN (appel aussi diagramme
de structures de donn es) est un mod le de donn es de
type r seau g n ral mais dans lequel toutes les relations
entre les entit s sont de type 1:N.
} La repr sentation graphique dun mod le de donn es
sous forme de bo tes et de fl ches a t propos e
justement par BACHMAN.
} Auparavant, on ne repr sentait un mod le de donn es que par
le biais de structures de donn es plus proche du niveau
physique telles que des liste cha n es et des fichiers ce qui
rendait difficile l tape de conception du mod le de donn es.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
10
Diagramme de structure de donn es de
BACHMAN
} Lavantage du diagramme de BACHMAN est donc de
permettre une repr sentation simple et uniforme des
mod les de donn es bas e sur deux concepts : la bo te
(rectangle) mod lisant une entit et la fl che mod lisant
un lien entre deux entit s. Pour obtenir un tel mod le, il
est bien souvent n cessaire de transformer tous les liens
de type N:M en des liens 1:N.
} Bien entendu, le mod le ne comportera pas de lien N:M,
mais peut cependant avoir plusieurs liens 1:N entre deux
m mes entit s qui seront alors diff renci s par un nom
(i.e. un identificateur).
Les mod les hi rarchiques et r seaux
-M. HAJJI-
11
M thodes de transformation des liens N:M
} Un lien N:M (complexe) entre deux entit s peut tre
transform de telle sorte que les liens r sultants soient
de type 1:N
} Deux m thodes
} Cr ation dune entit dintersection
} M thode des entit s virtuelles et des pointeurs logiques
Les mod les hi rarchiques et r seaux
-M. HAJJI-
12
M thodes de transformation des liens N:M
} Cr ation dune entit dintersection
} Cette m thode consiste cr er une nouvelle entit appel e
entit dintersection qui poss dera une cl obtenue par
concat nation des cl s des deux entit s participant au lien
N:M.
} Exemple
Les mod les hi rarchiques et r seaux
-M. HAJJI-
13
Entit dintersection
M thodes de transformation des liens N:M
} M thode des entit s virtuelles et des pointeurs logiques
} Cette m thode consiste cr er des entit s virtuelles appel es aussi
entit s pointeurs qui sont constitu es de pointeurs et contenant
autant de pointeurs que lentit point e.
} Un pointeur logique doit tre vu ce niveau comme une cl de
lentit concern e.
} Exemple
Les mod les hi rarchiques et r seaux
-M. HAJJI-
14
M thodes de transformation des liens N:M
} M thode des entit s virtuelles et des pointeurs logiques
} Les fl ches en pointill s signifient que lentit virtuelle contient
des pointeurs logiques (ou cl s) sur lentit point e (A ou B).
} Cette solution a surtout pour but d viter le probl me de
duplication des entit s qui comme on le sait engendre de la
redondance dinformation avec tous les probl mes qui en
d coulent (gaspillage de lespace m moire, risque
dincoh rence, etc.).
} On peut transformer le lien complexe N:M en cr ant une
copie de chaque entit A et B (i.e. avec les m mes attributs)
mais auxquelles on donnera deux noms distincts par exemple
A2 et B2.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
Advertisement
15
M thodes de transformation des liens N:M
} M thode des entit s virtuelles et des pointeurs logiques
Les mod les hi rarchiques et r seaux
-M. HAJJI-
16
M thodes de transformation des liens N:M
} M thode des entit s virtuelles et des pointeurs logiques
} Les deux entit s A2 et B2 seront d finies au m me niveau que
A et B et de la m me fa on.
} Un SGBD ne peut en aucun cas d duire par exemple que
lentit A2 et une copie de lentit A ni que B2 et une copie de
lentit B et ce malgr que celles-ci ont les m mes attributs.
} Mis part les probl mes de redondance dinformation et leurs
cons quences, cette solution oblige le programmeur de g rer
lui m me les probl mes de coh rence car toute mise jour
dans A ou B devra obligatoirement tre r percut e dans A2 ou
B2 respectivement.
} En effet, ce travail ne peut en aucun tre fait par le SGBD qui ignore
comme on la dit plus haut que A2 est une copie de A et que B2 est
une copie de B puisque les entit s sont simplement distingu es par
leurs noms.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
17
Le mod le de donn es r seau de Codasyl
} Le mod le r seau CODASYL propose deux concepts de
base, les enregistrements appel s RECORD dans la
terminologie CODASYL et les liens (ou associations) entre
enregistrements appel s SET.
} Lenregistrement
} Un enregistrement ou RECORD est d crit par un nom
(identificateur) unique permettant de le distinguer parmi
lensemble des enregistrements du sch ma conceptuel et par
un ensemble dattributs chacun poss dant un nom et un type
(entier, r el, cha ne de caract res, etc.).
Les mod les hi rarchiques et r seaux
-M. HAJJI-
18
Le mod le de donn es r seau de Codasyl
} Lenregistrement
} Exemple
Les mod les hi rarchiques et r seaux
-M. HAJJI-
19
Le mod le de donn es r seau de Codasyl
} Lenregistrement
} Les mots en gras sont des mots clefs du langage de description de
donn es(LDD) offert par le SGBD.
} Lenregistrement ici sappelle EMPLOYE et poss de comme attributs :
} un num ro identifi par Numero de type num rique six (06) chiffres :
PICTURE 9(6)
} un nom identifi par Nom de type alphab tique 12 caract res : PICTURE
A(12)
} un nombre denfants identifi par Nbre_Enfants de type num rique 2 chiffres
(PICTURE 99)
} de 0 Nbre_Enfants enfants (variable selon chaque employ ) chaque enfant tant
caract ris par les attributs :
un pr nom identifi par Prenom_Enfant de type caract re pouvant occuper
jusqu 10 au maximum
un ge identifi par Age_Enfant de type num rique 2 chiffres (PICTURE
99)
une ann e scolaire identifi e par Annee_Scolaire de type num rique 2
chiffres (PICTURE 99)
Les mod les hi rarchiques et r seaux
-M. HAJJI-
20
Le mod le de donn es r seau de Codasyl
} Le Lien ou SET
} Un lien entre deux entit s est appel un SET dans la
terminologie CODASYL. Lentit origine du SET est dite
propri taire ( ou Owner en anglais ). Cest le cas de lentit
MEDECIN dans la figure suivante. Lentit sur laquelle arrive le
SET (larc) est dite membre du SET ( ou Member en anglais ).
Cest le cas de lentit MALADES dans la figure suivante. Un
SET permet dassocier une occurrence de lentit (ou
enregistrement) propri taire une ou plusieurs occurrences de
lentit membre (car tout lien du mod le est de type 1:N)
alors quinversement chaque occurrence de lentit membre
ne peut tre associ quau plus une occurrence de lentit
propri taire.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
21
Le mod le de donn es r seau de Codasyl
} Le Lien ou SET
} Exemple
} Dans la repr sentation graphique dun SET, il nest pas
n cessaire dindiquer par une double fl che que le lien est de
type 1:N puisque tous les liens sont sous entendus tre de
type 1:N.
} On repr sente donc simplement un SET laide dun arc
orient de lentit propri taire vers lentit membre et on le
distingue par un nom.
} Pour ce cas le SET a pour nom Examine et est orient dans
le sens MEDECIN vers MALADES.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
22
Le mod le de donn es r seau de Codasyl
} Le Lien ou SET
} Dans le cas o la mod lisation conduit des liens N:M les
transformer en des liens 1:N par lune des m thodes pr c dentes,
pour passer au mod le R seau CODASYL.
} Le m canisme dacc s qui permet de passer dune occurrence de
lentit propri taire aux occurrences de lentit membre qui lui sont
associ es par le lien est en g n ral celui dune liste circulaire ayant
pour t te de liste loccurrence de lentit Propri taire .
Les mod les hi rarchiques et r seaux
-M. HAJJI-
23
Le mod le de donn es r seau de Codasyl
} Cette liste circulaire ne repr sente quune seule occurrence
(r alisation) du SET ayant pour nom Examine.
} La t te de la liste contient loccurrence Pasteur de lenregistrement
MEDECIN qui est le Propri taire du SET.
} Les membres de la liste sont : Ali, Omar,.... et enfin Kamel qui sont
toutes des occurrences de lenregistrement MALADES.
} Cette repr sentation est possible car chaque occurrence de
lenregistrement de type MALADES (ex : Ali, Omar, ...ou
Kamel) nest associ qu une seule occurrence de
lenregistrement de type MEDECIN (ex : Pasteur) et ne peut
donc appara tre que dans une seule liste circulaire.
} En effet, si une occurrence de lenregistrement de type MALADES
pouvait tre parcouru par plusieurs listes ayant chacune pour t te
une occurrence diff rente de MEDECIN, il faudrait un nombre
variable de pointeurs rajouter chaque occurrence de
MALADES et aussi celles de MEDECIN (en t te de chaque
liste).
Les mod les hi rarchiques et r seaux
-M. HAJJI-
24
Le mod le de donn es r seau de Codasyl
} Au fond, cette solution difficile impl menter ne vise qu
mod liser le fait quun malade peut tre examin par plusieurs
m decins et quun m decin peut examiner plusieurs malades et
qui nest autre quun lien complexe N:M.
} Cest donc pour des raisons li es des difficult s
dimpl mentation quune association de type N:M na pas t
retenue dans le mod le r seau de CODASYL.
} Au niveau physique, il y aura pour chaque SET autant de
listes quil y a doccurrences de lenregistrement
propri taire de ce SET.
} On dit que chaque liste est une r alisation du lien L.
} Ce sera la m me chose pour tous les autres SET existant
entre les enregistrements du mod le.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
25
Le mod le de donn es r seau de Codasyl
} Exemple de transformation dun lien N:M
} Deux entit s INSTITUTS et MODULES qui sont associ es par
un lien N:M : un module peut tre enseign dans 0, 1 ou
plusieurs instituts et inversement :
} un institut dinformatique qui dispense les modules : INF123, M002 et
P014
} un institut de math matiques qui dispense le module : M002
} un institut de physique qui dispense les modules : M002 et P014
Les mod les hi rarchiques et r seaux
-M. HAJJI-
26
Le mod le de donn es r seau de Codasyl
} Exemple de transformation dun lien N:M
} La transformation du lien N:M en utilisant la m thode de
lentit dintersection donnerait :
Les mod les hi rarchiques et r seaux
-M. HAJJI-
27
Le mod le de donn es r seau de Codasyl
} Exemple de transformation dun lien N:M
Les mod les hi rarchiques et r seaux
-M. HAJJI-
28
Propri t s dun sch ma conforme au mod le
r seau CODASYL
} Les notions de SET (ou lien) et de RECORD (ou
enregistrement) servent de support principal la
d finition du sch ma dune base de donn es conforme
au mod le r seau propos par CODASYL.
} La structure dun sch ma d pend troitement de
Advertisement
lapplication qui a n cessit sa mise en place.
} Cependant, il existe un certain nombre de propri t s qui
doivent tre respect es lors de l tablissement de tout
sch ma et ce ind pendamment de lapplication :
Les mod les hi rarchiques et r seaux
-M. HAJJI-
29
Propri t s dun sch ma conforme au mod le
r seau CODASYL
} Dun enregistrement on peut faire partir autant de liens
diff rents que lon veut
} Sur un enregistrement peuvent arriver autant de liens que lon
veut.
} Entre deux enregistrements distincts P et M, il peut y avoir
plusieurs liens diff rents allant de P vers M et inversement.
} Sur un enregistrement, il ne peut y avoir de lien pouvant
boucler sur ce m me enregistrement (lien r flexif)
Les mod les hi rarchiques et r seaux
-M. HAJJI-
30
Propri t s dun sch ma conforme au mod le
r seau CODASYL
} Cas du lien r flexif
} Non autoris dans le mod le r seau CODASYL pour des
raisons purement techniques
} tr s utile au niveau de la mod lisation.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
31
Description dun sch ma avec un LDD de type
CODASYL
} Exemple
} Un Fournisseur peut fournir 0, 1 ou plusieurs Produits et
inversement un Produit peut tre fourni par 0, 1 ou plusieurs
Fournisseurs ;
} Un Client peut commander 0, 1 ou plusieurs Produits et
inversement un Produit peut tre command par 0, 1 ou
plusieurs Clients.
Non conforme aux sp cifications du mod le r seau CODASYL
Les mod les hi rarchiques et r seaux
-M. HAJJI-
32
Description dun sch ma avec un LDD de type
CODASYL
} Deux entit s dintersection:
} Fournisseurs Produits : Prix
} Clients Produits : Commandes
Cinq entit s qui sont : FOURNISSEURS, PRODUITS, CLIENTS, COMMANDES et PRIX.
Quatre SET qui sont : FOURNISEUR_PRIX, PRODUIT_PRIX, COMMANDE_PRODUIT et
COMMANDE_CLIENT.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
33
Description dun sch ma avec un LDD de type
CODASYL
} Structure dun sch ma
} Quatre types de d claration
} La d claration du nom du sch ma qui servira au SGBD le
distinguer parmi lensemble des sch mas g r s par le SGBD ;
} Une ou plusieurs d clarations dAREA pr cisant les noms des zones
physiques du support de stockage dans lesquelles seront crites les
occurrences des enregistrements de la base de donn es.
} Une ou plusieurs d clarations de type denregistrement (ou
RECORD). Un type denregistrement est d crit de mani re analogue
une description denregistrement en COBOL cest dire par un
nom et un ensemble dattributs poss dant chacun un type (entier,
cha ne de caract res, etc.) et un format ;
} Une ou plusieurs d clarations de lien (ou SET), sp cifiant les
associations entre les types denregistrement d j d finis.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
34
Description dun sch ma avec un LDD de type
CODASYL
} Structure dun sch ma
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
SCHEMA NAME IS GESTION_VENTES
AREA NAME IS
AREA NAME IS
COMMANDES_CLIENTS
PRODUITS_FOURNISSEURS
RECORD NAME IS CLIENTS
PRIVACY LOCK FOR GET FIND IS 266D
PRIVACY LOCK FOR MODIFY, INSERT, DELETE, REMOVE, STORE IS CHEF_VENTES
LOCATION MODE IS CALC HASH-PROC1 USING Num_Client IN CLIENTS
DUPLICATES ARE NOT ALLOWED
WITHIN COMMANDES_CLIENTS
IDENTIFIER IS Num_Client IN CLIENTS
02 Num_Client
02 Nom_Client
02 Adr_Client
PICTURE 9(6).
PICTURE A(12).
03 Num ro
03 Rue
03 Code_Postal
03 Ville
PICTURE 999.
PICTURE X(15).
PICTURE 9(5).
PICTURE A(20).
Les mod les hi rarchiques et r seaux
-M. HAJJI-
35
Description dun sch ma avec un LDD de type
CODASYL
} Structure dun sch ma
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
RECORD NAME IS FOURNISSEURS
LOCATION MODE IS CALC HASH-PROC2 USING Num_Fourn IN FOURNISSEURS
DUPLICATES ARE NOT ALLOWED
WITHIN PRODUITS_FOURNISSEURS
IDENTIFIER IS Num_Fourn IN FOURNISSEURS
02 Num_Fourn
02 Nom_Fourn
02 Adr_Fourn
02 T l phone
PICTURE 9(6)
PICTURE A(15)
PICTURE X(20)
PICTURE 9(8)
RECORD NAME IS PRODUITS
LOCATION MODE IS CALC HASH-PROC3 USING Num_Produit IN PRODUITS
DUPLICATES ARE NOT ALLOWED
WITHIN PRODUITS_FOURNISSEURS
IDENTIFIER IS Num_Produit IN PRODUITS
02 Num_Produit
02 Nom_Produit
PICTURE 9(4).
PICTURE X(15).
Les mod les hi rarchiques et r seaux
-M. HAJJI-
36
Description dun sch ma avec un LDD de type
CODASYL
} Structure dun sch ma
34
35
36
37
38
39
COMMANDE_PRODUIT
40
COMMANDE_CLIENT
41
42
43
44
Advertisement
45
46
PRODUIT_PRIX
47
FOURNISSEUR_PRIX
RECORD NAME IS COMMANDES
LOCATION MODE IS
SYSTEM DEFAULT
WITHIN COMMANDES_CLIENTS
02 Quantit PICTURE 9(3)
02 Num_Produit IS VIRTUAL SOURCE IS Num_Produit OF OWNER OF
02 Num_Client IS VIRTUAL SOURCE IS Num_Client OF OWNER OF
RECORD NAME IS PRIX
LOCATION MODE IS
SYSTEM DEFAULT
WITHIN PRODUITS_FOURNISSEURS
02 Prix_Unit PICTURE 9999V99
02 Num_Produit IS VIRTUAL SOURCE IS Num_Produit OF OWNER OF
02 Num_Fourn
IS VIRTUAL SOURCE IS Num_Fourn OF OWNER OF
Les mod les hi rarchiques et r seaux
-M. HAJJI-
37
Description dun sch ma avec un LDD de type
CODASYL
} Structure dun sch ma
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
FOURNISSEUR_PRIX
SET NAME IS
ORDER IS SORTED
MODE IS CHAIN
OWNER IS FOURNISSEURS
MEMBER IS PRIX INSERTION IS AUTOMATIC
RETENTION IS MANDATORY
ASCENDING KEY IS Num_Fourn
DUPLICATES ARE NOT ALLOWED
SET SELECTION IS THRU FOURNISSEUR_PRIX
OWNER IDENTIFIED BY Num_Fourn IN FOURNISSEURS
PRODUIT_PRIX
SET NAME IS
ORDER IS SORTED
OWNER IS PRODUITS
MEMBER IS PRIX INSERTION IS MANUAL ; RETENTION IS OPTIONAL
ASCENDING KEY IS Num_Produit, Prix_Unit
DUPLICATES ARE NOT ALLOWED
SET SELECTION IS THRU PRODUIT_PRIX OWNER IDENTIFIED BY Num_Produit
IN PRODUITS
Les mod les hi rarchiques et r seaux
-M. HAJJI-
38
Description dun sch ma avec un LDD de type
CODASYL
} Structure dun sch ma
COMMANDE_PRODUIT
66
67
68
69
70
71
72
Num_Produit IN PRODUITS
SET NAME IS
ORDER IS NEXT
MODE IS CHAIN
OWNER IS PRODUITS
MEMBER IS COMMANDES INSERTION IS MANUAL ; RETENTION IS OPTIONAL
DUPLICATES ARE ALLOWED
SET SELECTION IS THRU COMMANDE_PRODUIT OWNER IDENTIFIED BY
COMMANDE_CLIENT
73
74
75
76
77
78
79
Num_Client IN CLIENTS
SET NAME IS
ORDER IS NEXT
MODE IS CHAIN
OWNER IS CLIENTS
MEMBER IS COMMANDES INSERTION IS MANUAL ; RETENTION IS OPTIONAL
DUPLICATES ARE ALLOWED
SET SELECTION IS THRU COMMANDE_CLIENT OWNER IDENTIFIED BY
Les mod les hi rarchiques et r seaux
-M. HAJJI-
39
Langage de manipulation de donn es dans un
mod le r seau
} FIND
} Permet au programmeur de naviguer dans la base de donn es
en tenant compte de sa structure (i.e. au gr s des chemins
dacc s).
} Elle permet de localiser ou se positionner sur une occurrence
dun enregistrement sans la d livrer au programme.
} GET
} Permet au programme de lire loccurrence courante dun
enregistrement.
} STORE
} Permet au programme dins rer une nouvelle occurrence dun
enregistrement dans la base.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
40
Langage de manipulation de donn es dans un
mod le r seau
} MODIFY
} Permet au programme de modifier une occurrence dun
enregistrement se trouvant d j dans la base.
} Modifier une occurrence signifie changer la valeur dun ou de
plusieurs attributs de cette occurrence.
} ERASE
} Permet de supprimer loccurrence dun enregistrement.
} CONNECT
} Permet dins rer manuellement loccurrence dun enregistrement se
trouvant d j dans la base de donn es comme membre dans une
r alisation ou occurrence dun SET
} DISCONNECT
} Permet de supprimer logiquement loccurrence dun enregistrement
se trouvant d j dans la base de donn es comme membre dans une
r alisation ou occurrence dun SET (suppression dun l ment dune
liste circulaire sans le supprimer physiquement de la base de
donn es) .
Les mod les hi rarchiques et r seaux
-M. HAJJI-
41
Le mod le hi rarchique
42
Les mod les hi rarchiques et r seaux
-M. HAJJI-
Introduction
} Une base de donn es hi rarchique est une forme de
syst me de gestion de base de donn es qui lie des
enregistrements dans une structure arborescente de
fa on ce que chaque enregistrement nait quun seul
possesseur (par exemple, une paire de chaussures
nappartient qu une seule personne).
} Les structures de donn es hi rarchiques ont t
largement utilis es dans les premiers syst mes de gestion
de bases de donn es con us pour la gestion des donn es
du programme Apollo de la NASA.
} Cependant, cause de leurs limitations internes, elles ne
peuvent pas souvent tre utilis es pour d crire des
structures existantes dans le monde r el.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
43
Introduction
} Les liens hi rarchiques entre les diff rents types de donn es
peuvent rendre tr s simple la r ponse certaines questions,
mais tr s difficile la r ponse dautres formes de questions.
} Si le principe de relation 1 vers N nest pas respect (par
exemple, un malade peut avoir plusieurs m decins et un
m decin a, a priori, plusieurs patients), alors la hi rarchie se
transforme en un r seau.
} Un segment est d fini par un nom et un ensemble dattributs
appel s Fields et constitue lunit d change entre la base de
donn es et les programmes dapplication.
} Cest l quivalent du RECORD vu avec le mod le r seau.
} La notion de lien ou SET (mod le r seau) nexiste pas.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
Advertisement
44
Caract ristiques principales dun mod le
hi rarchique
} Un mod le hi rarchique est un mod le de type
diagramme de structures de donn es ou de Bachman
dans lequel :
} Tous les liens entre les entit s (segments) sont de type 1:N
} Sur chaque entit ou segment narrive quun seul lien (arc)
} De chaque entit ou segment peuvent partir autant de lien
(arcs) quon veut
} Il existe une entit ou segment particulier appel racine sur
lequel narrive aucun lien (arc).
Les mod les hi rarchiques et r seaux
-M. HAJJI-
45
Caract ristiques principales dun mod le
hi rarchique
Ce mod le nest pas conforme au mod le hi rarchique
cause des deux arcs qui arrivent sur le segment D
Ce mod le nest pas conforme au mod le hi rarchique
car il ne poss de pas de segment Racine sur lequel
narrive aucun arc.
Ce mod le est conforme au mod le hi rarchique car il
poss de un segment Racine qui est C et sur chaque
segment narrive quun seul arc.
Ce mod le nest pas conforme au mod le hi rarchique
cause des deux arcs qui arrivent sur le segment E
Les mod les hi rarchiques et r seaux
-M. HAJJI-
46
Les liens N:M dans un mod le hi rarchique
} De part sa d finition, le mod le hi rarchique naccepte
pas de lien N:M entre deux entit s ni de structure en
r seau.
} Si la mod lisation produit un mod le de donn es dans
lequel existe un ou plusieurs lien N:M, ou bien une ou
plusieurs entit s sur lesquelles arrivent plus dun lien
(arc), il faudra le transformer pour le conformer aux
caract ristiques du mod le hi rarchique.
} La transformation dun lien N:M dans le cadre du mod le
hi rarchique repose essentiellement sur la duplication des
entit s et la cr ation dentit dintersection.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
47
Les liens N:M dans un mod le hi rarchique
} Transformation par duplication des entit s
} La duplication des entit s consiste transformer le lien N:M
en deux liens 1:N en cr ant des copies des entit s impliqu es
dans le lien.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
48
Les liens N:M dans un mod le hi rarchique
} Transformation par duplication des entit s
Cette m thode engendre une redondance dinformation avec toutes les
cons quences qui sen suivent (perte despace, risques dincoh rence des
donn es, ...)
Les mod les hi rarchiques et r seaux
-M. HAJJI-
49
Les liens N:M dans un mod le hi rarchique
} Transformation par cr ation dentit s dintersection
} Il est aussi possible de transformer un lien N:M entre deux
entit s en deux liens 1:N gr ce la cr ation dune nouvelle
entit dite entit dintersection.
} On obtient g n ralement un r seau qui devra tre de nouveau
transform en arborescence par duplication dentit .
Cr ation dune entit
dintersection
le mod le obtenu est un mod le
R seau
Duplication de lentit dintersection
Les mod les hi rarchiques et r seaux
-M. HAJJI-
50
Les liens N:M dans un mod le hi rarchique
} Transformation par cr ation dentit s dintersection
} Afin d viter la duplication des occurrences des entit s dans les
deux bases physiques, on peut utiliser la technique dite des
entit s virtuelles.
} Celle-ci consiste d finir r ellement une entit dintersection
pour une des deux entit s, et la d clarer comme entit
virtuelle pour lautre
Les mod les hi rarchiques et r seaux
-M. HAJJI-
51
Sch ma conceptuel dune Base de donn es
hi rarchique
} Une base de donn es hi rarchique peut tre vue au
niveau conceptuel comme un ensemble darbres
} dont chacun est compos dentit s ou segments et de liens de
type 1:N
} respectant les caract ristiques du mod le hi rarchique.
} Chaque arbre appel aussi un PDB (Physical Data Base)
sera d crit ind pendamment gr ce un programme de
description appel une DBD (Data Base Description
program) en utilisant le langage de description de
donn es offert par le SGBD.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
52
Description dun sch ma dans le cas dun SGBD
Hi rarchique
} Compte tenu de la structure du sch ma conceptuel dune
base de donn es hi rarchique, sa description va
comprendre pour chaque PDB composant le sch ma :
} La d claration du nom du PDB qui servira au SGBD de la
distinguer parmi toutes les PDB
} une ou plusieurs d clarations de segments, chaque segment
tant caract ris par son nom, ses attributs (ou FIELDS) et le
nom de son segment PARENT.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
53
Description dun sch ma dans le cas dun SGBD
Hi rarchique
} Deux PDB.
} La premi re PDB est compos e des segments : DEPARTEMENTS,
EMPLOYES, ENFANTS et VEHICULES.
} La seconde PDB est compos e des deux segments : VILLES et
ECOLES.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
54
Description dun sch ma dans le cas dun SGBD
Hi rarchique
} Pour le besoin de lapplication, il a t jug utile de
rajouter un arc allant du segment ECOLES de la seconde
PDB vers le segment ENFANTS de la premi re PDB. Ce
lien permettra par exemple de r pondre une question
du style : Quels sont les Enfants inscrits dans une cole X .
Les mod les hi rarchiques et r seaux
-M. HAJJI-
55
Description dun sch ma dans le cas dun SGBD
Hi rarchique
} 1 re PDB
Les mod les hi rarchiques et r seaux
-M. HAJJI-
56
Description dun sch ma dans le cas dun SGBD
Hi rarchique
} 2 me PDB
Les mod les hi rarchiques et r seaux
-M. HAJJI-
57
La manipulation de donn es dans un mod le
hi rarchique
} GET UNIQUE (GU)
} Retrouver un enregistrement dont le type a t sp cifi . Cette
op ration est particuli rement utilis e pour acc der la racine
dune arborescence connaissant la valeur de la cl dun
enregistrement.
} GET NEXT (GN).
} Se d placer dans une arborescence en utilisant une fonction de
type successeur ou suivant dun nSud.
} Cest une op ration de recherche purement s quentielle qui
consiste donc explorer la liste des nSuds.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
58
La manipulation de donn es dans un mod le
hi rarchique
} GET NEXT WITHIN PARENT
} Se d placer dans une arborescence en utilisant une fonction de
type successeur ou suivant dun nSud mais en se limitant
uniquement des nSuds qui ont le m me p re.
} INSERT, DELETE et REPLACE
} Ins rer une nouvelle occurrence dun nSud (ou segment),
supprimer une occurrence dun nSud, remplacer une
occurrence.
Les mod les hi rarchiques et r seaux
-M. HAJJI-
59
Merci&
Les mod les hi rarchiques et r seaux
-M. HAJJI-
60