Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Chapitre 5
Modèle Réseau
GPA-775 Chapitre 5 - Modèle réseau 2
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 3
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 4
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) :
Camp possède les comptes 256 et 347 et chaque compte appartient à un seul client.
Camp ChicagoOxford
Ford BostonViley
4545256
3999347
2323533
Enregistrement
champsliens
No Compte Solde
GPA-775 Chapitre 5 - Modèle réseau 5
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.
Nous allons voir le processus de transformation…
nom
rue
ville
Client
numéro
solde
CompteCliCom
nom villerue soldenuméroClient CompteCliCom
Diagramme E-R
Diagramme de données structurées réseau
GPA-775 Chapitre 5 - Modèle réseau 6
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.
Pour une relation 1 vers 1 : Un client a un seul compte et vice-versa
Instanciation d’une BDR de cardinalité 1 vers 1
Ford GeorgetownPost 10 577510
Moody PittsburghOxford 400860
Nabors PhiladelphiaWillow 675544
Il n’y a qu’un seul lien associé à chaque enregistrement.
GPA-775 Chapitre 5 - Modèle réseau 7
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.
Instanciation d’une BDR de cardinalité 1 vers n
Camp ChicagoOxford
Ford BostonViley
4545256
3999347
2323533
GPA-775 Chapitre 5 - Modèle réseau 8
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.
Instanciation d’une BDR de cardinalité n vers n
Beck San FranciscoMaple 66200
Katz San JoseNorth100 000256
Doner Palo AltoSidehill
667347
10 533301
GPA-775 Chapitre 5 - Modèle réseau 9
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épendentdu type de la relation ).
Ø Voyons la procédure de transformation pour les relations binaires avec attribut…
GPA-775 Chapitre 5 - Modèle réseau 10
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 !
nom
rue
ville
Client
numéro
solde
CompteCliCom
nom villerue soldenuméroClient Compte
CliDate
date
date ComDate
date
GPA-775 Chapitre 5 - Modèle réseau 11
Relations binaires avec attribut
Voici un échantillon de la base de données correspondant au diagramme de l’exemple précédant.
SquareLowman Dallas 305 500
DownridgeCamp Garland
BaysideKahn Plano
226 336
177 205
155 62
15 septembre 1980
15 septembre 1980
1er octobre 1983
23 novembre 1984
Client Date Compte
GPA-775 Chapitre 5 - Modèle réseau 12
Relations ternaires
Avec le modèle BDR, que fait-on des relations ternaires?
Pour ce type de relation, trois liens devraient être créés…mais un lien ne peut unir que 2 enregistrements.
nom
NAS rue
ville
Client
numéro
solde
CompteCCA
nom avoir
ville
agence
GPA-775 Chapitre 5 - Modèle réseau 13
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 14
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.
nom villecompte
ruenom ville numéro position agenceclient
Rlien
avoirs
ComRlnCliRln AgeRln
GPA-775 Chapitre 5 - Modèle réseau 15
Relations ternaires
Voici un exemple de l’instanciation de la BD correspondant àl’exemple précédent.
5 000 000Hillside Garland
10 500 000Valleyview Dallas
SquareLowman Dallas
DownridgeCamp Garland
BaysideKahn Plano
305 500 226 336 177 205 155 62
1
2
3
4
Client Rlien
Compte
Agence
GPA-775 Chapitre 5 - Modèle réseau 16
Le modèle CODASYL DBTG
HistoriqueLe 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 17
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.
ruenom ville numéro soldeclient compte
ruenom ville numéro solde compteclient
date
date
a)
b)
Ajout de la flèche pour le lien.
GPA-775 Chapitre 5 - Modèle réseau 18
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;
Ensemble DBTG typique
A
B
possesseur ou parent
membre ou enfant
GPA-775 Chapitre 5 - Modèle réseau 19
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;
Øcependant, un enregistrement enfant d'un ensemble peut participer simultanément à plusieurs occurrences d'ensembles DBTG différents.
a1 a2
b1
a3
b2 b3
un parent avec plusieurs enfants.
un parent avec un seul enfant.
un parent sansenfant.
GPA-775 Chapitre 5 - Modèle réseau 20
Exemples d'ensembles DBTG
Exemple : Ce modèle représente des clients qui ont des comptes appartenant à des agences.
ruenom ville
numéro solde
compte
client avoirsnom ville agence
CliCom AgeCom
Membre ou enfant de AgeCom et
CliCom
Ensemble DBTG Ensemble DBTG
Possesseur ou parent de CliCom
Possesseur ou parent de AgeCom
GPA-775 Chapitre 5 - Modèle réseau 21
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 : Client.Lowman enfant : Compte.305;
2. Possesseur : Client.Camp enfants : Compte.177,226;
3. Possesseur : Client.Kahn enfants : Compte.155,402 et 408;
4. Possesseur : Agence.Hillside enfants : Compte.305,226 et 155;
5. Possesseur : Agence.Valleyview enfants : Compte.177,402 et 408.
SquareLowman Dallas
305 500
5 000 000Hillside Garland
10 500 000Valleyview Dallas
DownridgeCamp Garland
BaysideKahn Plano
226 336
177 205
155 62
402 10 000
408 1123
1
2
3
4
5
GPA-775 Chapitre 5 - Modèle réseau 22
Exemples d'ensembles DBTG
ruenom ville numéro solde compte
Rlien
a)
client
ComRlnCliRln
MapleBeck San Francisco 200 55
Possesseurscompte
1
Enfants declient etcompte
b)Possesseurs
client
NorthKatz San Jose256 100 000
2
SidehillDoner Palo Alto
347 6673
301 10 5334
5
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).
GPA-775 Chapitre 5 - Modèle réseau 23
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:
Lien fait-partie-de du diagramme réseau équivalent
Diagramme E–R avec relation est-un (IS-A)
compte chèque compte épargne
client
b)
client
possède
compte
est-un
chèque épargne
a)
GPA-775 Chapitre 5 - Modèle réseau 24
Le modèle réseau DBTG et les structures complexes
Voici une structure complexe qui permet de définir un ensemble singulier.
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.
STATUSSNAME CITYS# COLORPNAME CITYP# WEIGHT
QTY
SYSTEM
S-FILE P-FILE
PS
SP
S-SP P-SP
RacineRacine
Fournisseur
Pièce
Quantité
Lien de système
Ensemble singulier
GPA-775 Chapitre 5 - Modèle réseau 25
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 26
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 ClientLOCATION MODE IS :
Nom PIC X (30)Rue PIC X (25)Ville PIC X (15)
Øpermet de créer les ensembles DBTG
SET NAME IS CliComOWNER IS ClientMEMBER IS Compte
Enregistrement
Champs
Ensemble
Parent
Enfant
GPA-775 Chapitre 5 - Modèle réseau 27
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 28
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 29
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 30
Zone programme utilisateur
SquareLowman Dallas
305 500
5 000 000Hillside Garland
10 500 000Valleyview Dallas
DownridgeCamp Garland
BaysideKahn Plano
226 336
177 205
155 62
402 10 000
408 1123
BaysideKahn Plano
155 62
10 500 000Valleyview Dallas
gabarit client
gabarit compte
gabarit agence
client
compte
agence
CliCom
AgeCom
pointeurscourants
3 gabarits d’enregistrements
3 pointeurs d’enregistrements
2 pointeurs d’ensembles DBTG
indicateur d'état1
GPA-775 Chapitre 5 - Modèle réseau 31
Exemple de manipulation des données des BDR
Recherche d'un enregistrement à l'aide de l'instruction FINDCette 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 :
SquareLowman Dallas
305 500
5 000 000Hillside Garland
10 500 000Valleyview Dallas
DownridgeCamp Garland
BaysideKahn Plano
226 336
177 205
155 62
402 10 000
408 1123
GPA-775 Chapitre 5 - Modèle réseau 32
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 = 0client.nom = “ Lowman ”find any client using nom
find first compte within CliComwhile DB-status = 0 dobegin
get comptesomme = somme + compte.soldefind next compte within CliCom
endprint somme
Trouve le client Lowman dans la BD.
Trouve le premier compte de Lowman.
Additionne tous les
soldes des comtpes de Lowman.
GPA-775 Chapitre 5 - Modèle réseau 33
Implantation réseaux de la BD COMPANY
Cet exemple montre l'implantation physique d'un réseau DBTG avec des liens n vers n.
Représentation correcte d’une relation n vers n
EMPLOYEE
SSN . . .
PROJECT
PNUMBER . . .
WORKS_ON
HOURS
P_WE_W
GPA-775 Chapitre 5 - Modèle réseau 34
Implantation réseaux de la BD COMPANY
Représentation d’occurrence avec l’enregistrement bidon WORKS_ON
EMPLOYEE WORKS_ON PROJECTS
E1
E2
E3
E4
P1
P2
P3
P4
W1(E2,P1,30)
W2(E2,P2,10)
W3(E1,P2,40)
W4(E3,P2,20)
W5(E3,P4,10)
W6(E3,P3,10)
W7(E4,P3,40)
GPA-775 Chapitre 5 - Modèle réseau 35
Implantation réseaux de la BD COMPANY
Implantation physique des occurrences des ensembles:
GPA-775 Chapitre 5 - Modèle réseau 36
Système réseau de la BD COMPANY
GPA-775 Chapitre 5 - Modèle réseau 37
Exercice complémentaire (pas dans les notes)
À partir du modèle E-R suivant, établir le diagramme réseau équivalent.
CAMION LIVRAISON
PRODUITCONDUCTEUR
EFFECTUE
CONTIENTAPPARTIENT
NO_SÉRIE
NO_PERMIS
NO_SÉRIENOM
NO
PRÉNOM NOM
ADRESSEMODÈLE
CAPACITÉ
N
N
N
1
1
1
DATE
QUANTITÉ