Chapitre 05 - Modèle Réseau

Transcription

Chapitre 05 - Modèle Réseau
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
Enregistrement
Camp
Oxford
Solde
256
4545
347
3999
533
2323
Chicago
champs
liens
Ford
Viley
Boston
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
E-R
rue
nom
numéro
ville
Client
solde
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.
Camp
Ford
Oxford
Viley
256
4545
347
3999
533
2323
Chicago
Boston
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
Katz
Doner
Maple
North
Sidehill
San Francisco
200
66
256
100 000
347
667
301
10 533
San Jose
Palo Alto
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
Client
nom
CliCom
rue
ville
CliDate
Compte
numéro
date
solde
Compte
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
Camp
Kahn
Square
Downridge
Bayside
Client
GPA-775
Dallas
15 septembre 1980
305
500
1er octobre 1983
226
336
23 novembre 1984
177
205
15 septembre 1980
155
62
Garland
Plano
Date
Chapitre 5 - Modèle réseau
Compte
11
Relations ternaires
Avec le modèle BDR, que fait-on des relations ternaires?
ville
nom
avoir
agence
NAS
rue
nom
numéro
ville
Client
solde
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
CliRln
numéro
position
compte
ComRln
nom
avoirs
ville
agence
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
Lowman
Square
500
Dallas
226
177
336
205
155
62
1
Hillside
5 000 000
Garland
Valleyview
10 500 000
Dallas
2
Camp
Downridge
Kahn
Bayside
Garland
Plano
3
4
Agence
Client
GPA-775
Rlien
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
nom
rue
ville
numéro
solde
compte
b)
client
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;
A
B
possesseur ou
parent
membre ou
enfant
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 avec
un seul enfant.
un parent sans
enfant.
a1
a2
b1
un parent avec
plusieurs enfants.
a3
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
parent de
AgeCom
Possesseur ou
parent de CliCom
client
nom
rue
Ensemble DBTG
ville
nom
CliCom
avoirs
ville
agence
AgeCom
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 : Client.Lowman
enfant
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.
1
Lowman
Square
Dallas
2
Camp
3
Kahn
GPA-775
305
500
226
336
177
205
155
62
: Compte.305;
4
Hillside
5 000 000
Garland
Downridge Garland
Bayside
Plano
402
10 000
408
1123
Chapitre 5 - Modèle réseau
5
Valleyview 10 500 000
Dallas
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
CliRln
solde
compte
ComRln
Rlien
b)
Possesseurs
client
Beck
Maple
San Francisco
Enfants de
client et
compte
1
2
Katz
Doner
North
Sidehill
San Jose
Palo Alto
3
4
Possesseurs
compte
200
55
256
100 000
347
667
301
10 533
5
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
chèque
Lien fait-partie-de du diagramme réseau équivalent
é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
Racine
P-FILE
S
S#
Ensemble
singulier
S-FILE
Lien de système
P
SNAME
STATUS
CITY
P#
S-SP
PNAME
COLOR
WEIGHT
CITY
Pièce
P-SP
QTY
SP
Racine
Quantité
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
Enregistrement
RECORD NAME IS Client
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
3 gabarits
d’enregistrements
155
Lowman
10 500 000
Dallas
gabarit agence
3 pointeurs
d’enregistrements
Dallas
62
gabarit compte
Valleyview
Square
Camp
Downridge
Garland
Kahn
Bayside
Plano
Hillside
5 000 000
Garland
client
Valleyview 10 500 000
Dallas
compte
pointeurs
courants
2 pointeurs
d’ensembles DBTG
agence
CliCom
AgeCom
GPA-775
155
62
305
500
402
10 000
226
336
408
1123
177
205
1
indicateur d'état
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 :
Lowman
Square
Dallas
305
500
226
336
Hillside
Camp
Downridge
177
205
155
62
5 000 000
Garland
Garland
Valleyview 10 500 000 Dallas
Kahn
GPA-775
Bayside
Plano
402
10 000
408
1123
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
client.nom = “ Lowman ”
Lowman dans la BD.
find any client using nom
Trouve le premier
compte de Lowman.
find first compte within CliCom
while DB-status = 0 do
begin
get compte
somme = somme + compte.solde
find next compte within CliCom
end
print somme
GPA-775
Chapitre 5 - Modèle réseau
Additionne
tous les
soldes des
comtpes de
Lowman.
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
SSN
PROJECT
...
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
W3
(E1,P2,40)
E2
W4
(E3,P2,20)
E3
W5
(E3,P4,10)
E4
P1
P2
P3
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
1
CAMION
1
APPARTIENT
NO
N
EFFECTUE
QUANTITÉ
ADRESSE
LIVRAISON
N
CONTIENT
1
N
CONDUCTEUR
PRÉNOM
NOM
PRODUIT
NO_SÉRIE
NOM
NO_PERMIS
GPA-775
Chapitre 5 - Modèle réseau
37