Les modèles hiérarchiques et réseaux

Modèles de données, Réseaux · course

Browse all réseaux documents

Les mod les hi rarchiques et r seaux

Mehdi HAJJI

[email protected]

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