Chapitre 5
Modèle Réseau
Contenu de chapitre
Les points abordés dans ce chapitre sont :
Ø Concept de base du modèle réseau
Ø Transformations E-R vers BDR (Base de données réseau)
Ø Le modèle CODASYL DBTG
Ø Langage de manipulation des données des BDR
GPA-775 Chapitre 5 - Modèle réseau 2
Concepts de base du modèle réseau
Les données du modèle réseau sont représentées par des
ensembles d'enregistrements associés par des relations.
Ø Modèle logique orienté enregistrement;
Ø Les enregistrements représentent les entités d'une
structure entités-relations.
• Les attributs deviennent les champs des enregistrements.
Ø Les enregistrements sont associés par des relations que
l’on appelle liens.
• Les liens associent que deux enregistrements à la fois.
Ø les structures cycliques sont permises
• e.i que pour une série de relations on peut obtenir la topologie
cyclique suivante : A ↔ B ↔ C ↔ A
GPA-775 Chapitre 5 - Modèle réseau 3
Concepts de base du modèle réseau
Dans un diagramme de données structurées (modèle réseau),
les données sont réparties de façon quelconque sur leur
graphe et elles sont reliées par des pointeurs (liens).
Exemple de base de données réseau (1 vers n) :
No Compte Solde
256 4545
Enregistrement Camp Oxford Chicago
347 3999
champs
liens
Ford Viley Boston
533 2323
Camp possède les comptes 256 et 347 et chaque compte appartient à un
seul client.
GPA-775 Chapitre 5 - Modèle réseau 4
Transformations E-R vers BDR
Tout comme pour le modèle E-R, il existe 3 types de relation entre les
enregistrements (1 vers 1, 1 vers n et n vers n).
Voici un diagramme E–R et son diagramme de données structurées
réseau équivalent.
Diagramme
rue E-R numéro
nom ville solde
Client CliCom Compte
Diagramme de données
structurées réseau
Client nom rue ville numéro solde Compte
CliCom
Nous allons voir le processus de transformation…
GPA-775 Chapitre 5 - Modèle réseau 5
Relations binaires sans attribut
La transformation du modèle E-R au modèle réseau s'effectue
comme suit :
Ø chaque entité devient un enregistrement;
Ø chaque relation entre entités devient un lien.
Il n’y a qu’un seul lien associé à chaque enregistrement.
Pour une relation 1 vers 1 : Un client a un seul compte et vice-versa
Ford Post Georgetown 510 10 577
Moody Oxford Pittsburgh 860 400
Nabors Willow Philadelphia 544 675
Instanciation d’une BDR de cardinalité 1 vers 1
GPA-775 Chapitre 5 - Modèle réseau 6
Relations binaires sans attribut
Pour une relation 1 vers n : Un client peut avoir plusieurs comptes, mais
un compte ne peut appartenir qu’à un seul client.
256 4545
Camp Oxford Chicago
347 3999
Ford Viley Boston
533 2323
Instanciation d’une BDR de cardinalité 1 vers n
GPA-775 Chapitre 5 - Modèle réseau 7
Relations binaires sans attribut
Pour une relation n vers n: Un client peut avoir plusieurs
comptes et un compte peut appartenir à plus d’un client.
Beck Maple San Francisco 200 66
256 100 000
Katz North San Jose
347 667
Doner Sidehill Palo Alto 301 10 533
Instanciation d’une BDR de cardinalité n vers n
GPA-775 Chapitre 5 - Modèle réseau 8
Relations binaires avec attribut
Un lien ne comporte jamais d'attributs:
Alors, pour toutes relations 1 vers 1,1 vers n et n vers n
qui ont des attributs dans le modèle E-R:
1. Il faut créer un nouveau type d'enregistrement.
2. Il faut créer des liens appropriés. (Ces liens dépendent
du type de la relation ).
Ø Voyons la procédure de transformation pour les
relations binaires avec attribut…
GPA-775 Chapitre 5 - Modèle réseau 9
Relations binaires avec attribut
Exemple: Procédure de transformation d’une relation binaire avec attribut :
1. Créer un nouveau type d'enregistrement intermédiaire avec un
champ approprié: Date (date);
2. Créer les 2 liens n vers 1 (CliDate, ComDate) entre le nouvel
enregistrement (Date) et les 2 enregistrements originaux. Les liens
doivent être nommés puisqu’ils sont utilisés par le langage de
consultation ! date
rue numéro
nom ville solde
Client CliCom Compte
Client nom rue ville numéro solde Compte
CliDate date ComDate
date
GPA-775 Chapitre 5 - Modèle réseau 10
Relations binaires avec attribut
Voici un échantillon de la base de données correspondant au
diagramme de l’exemple précédant.
Lowman Square Dallas 15 septembre 1980 305 500
1er octobre 1983 226 336
Camp Downridge Garland
23 novembre 1984 177 205
Kahn Bayside Plano 15 septembre 1980 155 62
Client Date Compte
GPA-775 Chapitre 5 - Modèle réseau 11
Relations ternaires
Avec le modèle BDR, que fait-on des relations ternaires?
ville
nom avoir
agence
NAS rue
numéro
nom ville solde
Client CCA Compte
Pour ce type de relation, trois liens devraient être créés…
mais un lien ne peut unir que 2 enregistrements.
GPA-775 Chapitre 5 - Modèle réseau 12
Relations ternaires
Procédure de transformation pour une relation ternaire :
1. Transformer les entités en enregistrements;
2. Créer un nouvel enregistrement “ Rlien ”
• Si la relation ne comporte pas d’attribut,
l’enregistrement bidon ne contient aucun champ;
• Si la relation comporte un attribut, un champ
spécifique est ajouté.
3. Créer les liens binaires n vers 1 ou 1 vers 1 du nouvel
enregistrement vers les premiers enregistrements.
GPA-775 Chapitre 5 - Modèle réseau 13
Relations ternaires
Exemple:
1. Les classes d'entités Compte, Agence et Client sont
transformées en enregistrements.
2. Un nouvel enregistrement Rlien est créé et ne comporte
aucun champ.
3. L’enregistrement bidon est relié aux autres
enregistrements par les liens n vers 1: CliRln, ComRln et
AgeRln.
client nom rue ville numéro position nom avoirs ville agence
compte
ComRln
CliRln AgeRln
Rlien
GPA-775 Chapitre 5 - Modèle réseau 14
Relations ternaires
Voici un exemple de l’instanciation de la BD correspondant à
l’exemple précédent. Compte
305 500 226 336 177 205 155 62
Lowman Square Dallas 1
Hillside 5 000 000 Garland
2
Camp Downridge Garland
3
Valleyview 10 500 000 Dallas
Kahn Bayside Plano 4
Agence
Client Rlien
GPA-775 Chapitre 5 - Modèle réseau 15
Le modèle CODASYL DBTG
Historique
Le modèle CODASYL DBTG représente le premier standard
relatif aux bases de données qui remonte à 1960.
Ø CODASYL = COnference on DAta SYstems Languages, qui est
aussi l’organisation responsable de la définition du langage
COBOL;
Ø DBTG = DataBase Task Group, qui est le groupe de CODASYL qui
a créé ce standard.
Restrictions du modèle DBTG
Dans le modèle DBTG les liens n vers n sont interdits!
Ø Cette contrainte est ajoutée pour faciliter la transformation d'un
diagramme E-R en un diagramme de données structurées.
GPA-775 Chapitre 5 - Modèle réseau 16
Le modèle CODASYL DBTG
Exemples:
(a) Un ensemble DBTG d'une relation 1 vers n sans attribut.
(b) Un ensemble DBTG d'une relation 1 vers n à lequel on
désire ajouter un attribut date à la relation Client-Compte.
Ajout de la flèche pour
le lien.
a)
client nom rue ville numéro solde compte
b)
client nom rue ville numéro solde compte
date
date
GPA-775 Chapitre 5 - Modèle réseau 17
Forme générale de l'ensemble DBTG
Ø Pour réaliser la contrainte qui consiste à éliminer les liens n vers n,
il faut introduire une notion d'ensemble et d'enregistrements
possesseurs.
Ø L’ensemble DBTG est représenté par deux enregistrements reliés
par un lien binaire 1 vers 1 ou 1 vers n.
Ø nom de l'ensemble = nom du lien;
Ø chaque ensemble DBTG peut représenter un nombre quelconque
d'occurrence;
possesseur ou
parent
A
membre ou
enfant
B
Ensemble DBTG typique
GPA-775 Chapitre 5 - Modèle réseau 18
Forme générale de l'ensemble DBTG
Ø avec l'absence de liens n vers n, un enregistrement
enfant d'un ensemble ne peut participer à plus d'une
occurrence de l'ensemble;
un parent sans un parent avec
enfant. un seul enfant. un parent avec
plusieurs enfants.
a1 a2 a3
b1 b2 b3
Ø cependant, un enregistrement enfant d'un ensemble
peut participer simultanément à plusieurs occurrences
d'ensembles DBTG différents.
GPA-775 Chapitre 5 - Modèle réseau 19
Exemples d'ensembles DBTG
Exemple : Ce modèle représente des clients qui ont des comptes
appartenant à des agences.
Possesseur ou Possesseur ou
parent de CliCom parent de
AgeCom
client nom rue ville nom avoirs ville agence
CliCom AgeCom
Ensemble DBTG Ensemble DBTG
numéro solde
compte
Membre ou enfant
de AgeCom et
CliCom
GPA-775 Chapitre 5 - Modèle réseau 20
Exemples d'ensembles DBTG
À partir des ensembles CliCom (1,2,3) et AgeCom (4,5) du diagramme
précédent, on peut obtenir les cinq occurrences suivantes :
1. Possesseur : [Link] enfant : Compte.305;
2. Possesseur : [Link] enfants : Compte.177,226;
3. Possesseur : [Link] enfants : Compte.155,402 et 408;
4. Possesseur : [Link] enfants : Compte.305,226 et 155;
5. Possesseur : [Link] enfants : Compte.177,402 et 408.
305 500
1
Lowman Square Dallas 226 336 4
Hillside 5 000 000 Garland
2 177 205
Camp Downridge Garland
155 62 5
3 Valleyview 10 500 000 Dallas
Kahn Bayside Plano 402 10 000
408 1123
GPA-775 Chapitre 5 - Modèle réseau 21
Exemples d'ensembles DBTG
Voici un autre exemple d’une banque qui autorise les comptes conjoints:
a) L'enregistrement bidon Rlien devient un enregistrement enfant pour les
ensembles CliRln et ComRln.
b) on remarque qu'un possesseur (Client ou Compte) peut avoir plusieurs
enfants ( Katz ← 2,3 et 347 ← 3,4) mais qu'un enfant n'a qu'un seul
parent par type de possesseur (Beck ← 1 → 200, Katz ← 2 → 256).
a)
client nom rue ville numéro solde compte
CliRln ComRln
Rlien
Enfants de
b)
Possesseurs client et
compte Possesseurs
client compte
1
Beck Maple San Francisco 200 55
2
256 100 000
Katz North San Jose
3
347 667
4
Doner Sidehill Palo Alto 301 10 533
GPA-775 Chapitre 5 - Modèle réseau 22
Le modèle réseau DBTG et les structures complexes
Le modèle DBTG peut utiliser des structures d'ensembles
pour lesquelles il existe un seul type de possesseur et
plusieurs types différents d'enfants.
Exemple:
client client
possè
de
compte chèque compte épargne
compte
b)
est-un Lien fait-partie-de du diagramme réseau équivalent
chèque épargne
a)
Diagramme E–R avec relation est-un (IS-A)
GPA-775 Chapitre 5 - Modèle réseau 23
Le modèle réseau DBTG et les structures complexes
Voici une structure complexe qui permet de définir un ensemble singulier.
SYSTEM
Fournisseur S-FILE P-FILE
Lien de système
Racine S P
Racine
S# SNAME STATUS CITY P# PNAME COLOR WEIGHT CITY
Ensemble S-SP P-SP
Pièce
singulier QTY Quantité
SP
Cet ensemble se caractérise par les observations suivantes :
Ø tout enregistrement d'un ensemble qui n'est enfant d'aucun possesseur est
appelé racine;
Ø toute racine peut être perçue comme l'enfant d'un enregistrement
hypothétique de niveau supérieur appelé système;
Ø un lien de système existe aussi entre toute racine et enregistrement
système;
Note : On peut rencontrer plusieurs ensembles singuliers du même possesseur
système.
GPA-775 Chapitre 5 - Modèle réseau 24
Langage de manipulation des données des BDR
Ø Il consiste en un certain nombre d'instructions
insérées dans un langage hôte.
Ø Le SGBD “IDMS” est une base de données réseau
développée par Cullinane Database System Inc.
• IDMS est fidèle au modèle DBTG.
• Il comporte un langage détaillé de manipulation
des données qui dote l'utilisateur d'un contrôle
complet sur l'organisation physique de la base.
GPA-775 Chapitre 5 - Modèle réseau 25
Langage de manipulation des données des BDR
Le langage commercial IDMS contient un module DDL
(Langage de définition de données) qui :
Ø permet de créer les enregistrements
RECORD NAME IS Client Enregistrement
LOCATION MODE IS :
Nom PIC X (30)
Rue PIC X (25) Champs
Ville PIC X (15)
Ø permet de créer les ensembles DBTG
Ensemble
SET NAME IS CliCom
OWNER IS Client Parent
MEMBER IS Compte
Enfant
GPA-775 Chapitre 5 - Modèle réseau 26
Langage de manipulation des données des BDR
IDMS contient aussi un module DML qui permet à l'intérieur
d'un langage comme Pascal d'effectuer sur les données les
opérations suivantes :
Ø FIND
• Localise une occurrence d'un enregistrement et
l'établit comme occurrence courante.
Ø GET
• Retrouve et utilise l'occurrence courante.
Ø OBTAIN
• Équivalent à FIND suivi de GET.
GPA-775 Chapitre 5 - Modèle réseau 27
Langage de manipulation des données des BDR
Ø CONNECT
• Établit un lien entre un nouvel enregistrement et une
occurrence d'ensemble.
Ø DISCONNECT
• Permet d'éliminer un enregistrement de l'occurrence
d'un ensemble.
Ø ERASE
• Suppression d'un enregistrement.
Ø STORE
• Création d'un nouvel enregistrement en insérant des
valeurs spécifiques dans les champs de
l'enregistrement.
GPA-775 Chapitre 5 - Modèle réseau 28
Zone programme utilisateur
Un langage de programmation peut utiliser les fonctions DDL et DML,
imbriquées dans le code régulier, pour permettre à l'application d'effectuer
des opérations sur la base de données réseau.
Chaque application possède une zone de liaison utilisateur qui est
constituée d'un espace tampon qui contient les variables suivantes:
Ø Gabarits d'enregistrement
• un gabarit pour chacun des enregistrements.
Ø Pointeurs courants
• Un pointeur par type T d'enregistrement; contient l'adresse
disque du dernier enregistrement de T traité par le programme,
• un pointeur par type S d'ensemble DBTG; contient l'adresse
disque du dernier enregistrement de l'ensemble S (possesseur
ou membre) traité par le programme,
• un pointeur programme; contient l'adresse disque du dernier
enregistrement traité par le programme.
Ø un indicateur d'état ; indique le succès (DB_status = 0) ou l'insuccès
(DB_status = 1) de l'opération.
GPA-775 Chapitre 5 - Modèle réseau 29
Zone programme utilisateur
Kahn Bayside Plano
gabarit client
Lowman Square Dallas
3 gabarits
155 62
d’enregistrements
gabarit compte Camp Downridge Garland
Valleyview 10 500 000 Dallas
Kahn Bayside Plano
gabarit agence
3 pointeurs Hillside 5 000 000 Garland
client
d’enregistrements
Valleyview 10 500 000 Dallas
compte
pointeurs
155 62 305 500
courants
agence
402 10 000 226 336
2 pointeurs CliCom 408 1123 177 205
d’ensembles DBTG
AgeCom
1
indicateur d'état
GPA-775 Chapitre 5 - Modèle réseau 30
Exemple de manipulation des données des BDR
Recherche d'un enregistrement à l'aide de l'instruction FIND
Cette commande localise n'importe lequel des enregistrements de
la BD, i.e que la recherche utilise le type d'enregistrement et
l'ensemble DBTG pour retrouver l'information utile.
Soit le réseau suivant :
305 500
Lowman Square Dallas 226 336
Hillside 5 000 000 Garland
177 205
Camp Downridge Garland
155 62
Valleyview 10 500 000 Dallas
Kahn Bayside Plano 402 10 000
408 1123
GPA-775 Chapitre 5 - Modèle réseau 31
Exemple de manipulation des données des BDR
À l'aide du langage de manipulation, nous voulons trouver la
somme du solde du client Lowman :
somme = 0 Trouve le client
[Link] = “ Lowman ” Lowman dans la BD.
find any client using nom
Trouve le premier
find first compte within CliCom compte de Lowman.
while DB-status = 0 do
begin
get compte
somme = somme + [Link] Additionne
find next compte within CliCom tous les
soldes des
end comtpes de
Lowman.
print somme
GPA-775 Chapitre 5 - Modèle réseau 32
Implantation réseaux de la BD COMPANY
Cet exemple montre l'implantation physique d'un réseau
DBTG avec des liens n vers n.
EMPLOYEE PROJECT
SSN ... PNUMBER ...
E_W P_W
WORKS_ON
HOURS
Représentation correcte d’une relation n vers n
GPA-775 Chapitre 5 - Modèle réseau 33
Implantation réseaux de la BD COMPANY
EMPLOYEE WORKS_ON PROJECTS
W1
(E2,P1,30)
W2
(E2,P2,10)
E1 P1
W3
(E1,P2,40)
E2 P2
W4
(E3,P2,20)
E3 P3
W5
(E3,P4,10)
E4 P4
W6
(E3,P3,10)
W7
(E4,P3,40)
Représentation d’occurrence avec l’enregistrement bidon WORKS_ON
GPA-775 Chapitre 5 - Modèle réseau 34
Implantation réseaux de la BD COMPANY
Implantation physique des occurrences des ensembles:
GPA-775 Chapitre 5 - Modèle réseau 35
Système réseau de la BD COMPANY
GPA-775 Chapitre 5 - Modèle réseau 36
Exercice complémentaire (pas dans les notes)
À partir du modèle E-R suivant, établir le diagramme réseau
équivalent.
CAPACITÉ
DATE
NO_SÉRIE MODÈLE NO ADRESSE
1 N
CAMION EFFECTUE LIVRAISON
1 N
APPARTIENT QUANTITÉ CONTIENT
1 N
CONDUCTEUR PRODUIT
PRÉNOM NOM NO_SÉRIE NOM
NO_PERMIS
GPA-775 Chapitre 5 - Modèle réseau 37