37
Chapitre 5 Modèle Réseau

Chapitre 05 - Modèle Réseau

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Chapitre 05 - Modèle Réseau

Chapitre 5

Modèle Réseau

Page 2: Chapitre 05 - 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

Page 3: Chapitre 05 - Modèle Réseau

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

Page 4: Chapitre 05 - Modèle Réseau

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

Page 5: Chapitre 05 - Modèle Réseau

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

Page 6: Chapitre 05 - Modèle 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.

Page 7: Chapitre 05 - Modèle Réseau

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

Page 8: Chapitre 05 - Modèle Réseau

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

Page 9: Chapitre 05 - Modèle Réseau

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…

Page 10: Chapitre 05 - Modèle Réseau

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

Page 11: Chapitre 05 - Modèle Réseau

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

Page 12: Chapitre 05 - Modèle Réseau

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

Page 13: Chapitre 05 - Modèle Réseau

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.

Page 14: Chapitre 05 - Modèle Réseau

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

Page 15: Chapitre 05 - Modèle Réseau

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

Page 16: Chapitre 05 - Modèle Réseau

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.

Page 17: Chapitre 05 - Modèle Réseau

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.

Page 18: Chapitre 05 - Modèle Réseau

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

Page 19: Chapitre 05 - Modèle Réseau

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.

Page 20: Chapitre 05 - Modèle Réseau

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

Page 21: Chapitre 05 - Modèle Réseau

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

Page 22: Chapitre 05 - Modèle Réseau

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).

Page 23: Chapitre 05 - Modèle Réseau

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)

Page 24: Chapitre 05 - Modèle Réseau

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

Page 25: Chapitre 05 - Modèle Réseau

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.

Page 26: Chapitre 05 - Modèle Réseau

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

Page 27: Chapitre 05 - Modèle Réseau

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.

Page 28: Chapitre 05 - Modèle Réseau

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.

Page 29: Chapitre 05 - Modèle Réseau

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.

Page 30: Chapitre 05 - Modèle Réseau

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

Page 31: Chapitre 05 - Modèle Réseau

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

Page 32: Chapitre 05 - Modèle Réseau

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.

Page 33: Chapitre 05 - Modèle Réseau

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

Page 34: Chapitre 05 - Modèle Réseau

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)

Page 35: Chapitre 05 - Modèle Réseau

GPA-775 Chapitre 5 - Modèle réseau 35

Implantation réseaux de la BD COMPANY

Implantation physique des occurrences des ensembles:

Page 36: Chapitre 05 - Modèle Réseau

GPA-775 Chapitre 5 - Modèle réseau 36

Système réseau de la BD COMPANY

Page 37: Chapitre 05 - Modèle Réseau

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É