Vous êtes sur la page 1sur 33

Conception des

Bases de Données

1
Chapitre 4

Le modèle réseau

2
Plan du chapitre

 Historique
 Principes du modèle réseau
 Propriétés d’un modèle réseau
 Notion de sous-schéma dans le
modèle réseau
 Avantages/Inconvénients
3
Introduction
 Le modèle réseau est une extension du
modèle précédent (hiérarchique), les liens
entre objets peuvent exister sans restriction.
 L’accès aux données n’est pas limité aux
chemins descendants/ascendants du modèle
hiérarchique.
 Il peut se faire de plusieurs façons différentes
pour une même donnée.
 Le modèle de données réseau à étudier est Le
modèle de données réseau de Codasyl
4
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.

5
Principes
du modèle réseau (1/15)

 Le modèle réseau proposé par le Data Base


Task Group (DBTG) est un modèle de type
diagramme de BACHMAN où tous les liens
sont de type 1:N, c’est à dire qu’aucun lien
complexe M:N n’est autorisé.
 Dans ce cas, si le processus de modélisation
conduit à un modèle de données comportant
des liens complexes M:N, il faudra
nécessairement pour se conformer aux
spécifications du modèle réseau CODASYL,
les transformer en des liens 1:N.

6
Principes
du modèle réseau (2/15)

 Concepts du modèle (1/8)


 Le modèle réseau CODASYL propose deux
concepts de base, les enregistrements appelés
RECORD et les liens (ou associations) entre
enregistrements appelés SET.

7
Principes
du modèle réseau (3/15)

 Concepts du modèle (2/8)


 L’enregistrement ou RECORD est décrit par un
nom unique (identificateur) permettant de le
distinguer parmi l’ensemble des enregistrements
du schéma conceptuel et par un ensemble
d’attributs chacun possédant un nom et un type
(entier, réel, chaîne de caractères, etc.).

8
Principes
du modèle réseau (4/15)

 Concepts du modèle (3/8)


 Exemple d’enregistrement
RECORD NAME IS EMPLOYE
02 Numero PICTURE 9(6)
02 Nom PICTURE A(12)
02 Nbre_Enfants PICTURE 99
 Les mots en jaune sont les mots clefs du langage
 Les attributs de l’enregistrement :
 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 d’enfants identifié par Nbre_Enfants de type
9
numérique à 2 chiffres PICTURE 99
Principes
du modèle réseau (5/15)

 Concepts du modèle (4/8)


 Le lien ou set
 L’entité origine du SET est dite propriétaire (Medecin).
 L’entité sur laquelle arrive le SET (l’arc) est dite
membre du SET (Malade).
 Un SET permet d’associer à une occurrence de l’entité
(ou enregistrement) propriétaire une ou plusieurs
occurrences de l’entité membre (car tout lien du modèle
est de type 1:N)
 Inversement à chaque occurrence de l’entité membre
ne peut être associé qu’au plus une occurrence de
l’entité propriétaire.
10
Principes
du modèle réseau (6/15)

 Concepts du modèle (5/8)


 On représente donc simplement un SET à l’aide
d’un arc orienté de l’entité propriétaire vers
l’entité membre et on le distingue par un nom.
 Sur la figure ci-dessus, le SET a pour nom
Examine et est orienté dans le sens MEDECIN
vers MALADE.

11
Principes
du modèle réseau (7/15)

 Concepts du modèle (6/8)


 Dans le cas où la modélisation conduit à des
liens M:N, il faut passer au modèle Réseau
CODASYL, les transformer en des liens 1:N
par :
 Duplication des entités
 Création d’une entité d’intersection

12
Principes
du modèle réseau (8/15)

 Concepts du modèle (7/8)


 Les occurrences de SET
Electricien
noOrdre
nomElectricien
noCellulaire

E1 E2

Autorisation A1 A2 A3 A4 A5
noAutorisation
dateAutorisation

une
Set occurrence
DEMANDE du set 13
DEMANDE
Principes
du modèle réseau (9/15)

 Concepts du modèle (8/8)


 Modélisation de la relation 1:N

 Le propriétaire a un membre
 Le membre peut être propriétaire
 Aucun membre ne peut être propriétaire de son propriétaire
14
Principes
du modèle réseau (10/15)

 Modélisation du lien M:N (1/6)

 Exemple : Soient deux entités INSTITUTS et


MODULES qui sont associées par un lien M:N
modélisant le fait qu’un module peut être enseigné
dans 0, 1 ou plusieurs instituts et qu’inversement un
institut peut dispenser 0, 1 ou plusieurs modules
 un institut d’informatique 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
15
Principes
du modèle réseau (11/15)

 Modélisation du lien M:N (2/6)


 La représentation des différentes associations entre
Instituts et Modules donne :

16
Principes
du modèle réseau (12/15)

 Modélisation du lien M:N (3/6)


 La transformation du lien M:N en utilisant
une entité d’intersection donne :

 Où #Instituts et #Modules désignent


respectivement les clés des entités INSTITUTS et
MODULES. 17
Principes
du modèle réseau (13/15)

 Modélisation du lien M:N (4/6)


 Chaque enregistrement de l’entité Instituts
va être une tête de liste pour la réalisation
du lien L1 allant de l’entité Instituts vers
l’entité d’intersection.
 Il en sera de même pour les enregistrements
de l’entité Modules pour la réalisation du
lien L2 allant de l’entité Modules vers
l’entité d’intersection.
18
Principes
du modèle réseau (14/15)

 Modélisation du lien M:N (5/6)


 Réalisation des liens L1 et L2 grâce au mécanisme de
la liste circulaire

19
Principes
du modèle réseau (15/15)

 Modélisation du lien M:N (6/6)


 Chaque occurrence de l’entité INSTITUTS
ou MODULES est une tête de liste.
 On remarque qu’il y’ a trois (03) listes
réalisant le SET L1 ayant chacune pour tête
une occurrence de INSTITUTS à savoir :
Informatique puis Mathématiques puis
Physique.

20
Propriétés d’un
modèle réseau CODASYL (1/4)

 D’un enregistrement on peut faire partir autant


de liens différents que l’on veut
 Sur un enregistrement peuvent arriver autant
de liens que l’on 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 pas y avoir
de lien pouvant boucler sur ce même
enregistrement (lien réflexif).
21
Propriétés d’un
modèle réseau CODASYL (2/4)

 L’impossibilité d’avoir un lien réflexif est dûe au


fait que l’implémentation physique d’un lien est
faite généralement à l’aide d’un ensemble de
listes circulaires dont chacune a pour tête une
occurrence de l’enregistrement propriétaire du
lien et dont les autres éléments sont des
occurrences de l’enregistrement membre qui
sont liées à l’occurrence de ce propriétaire.

22
Propriétés d’un
modèle réseau CODASYL (3/4)

 Lors du parcours d’une liste circulaire


réalisant un SET, le SGBD passe d’un
fichier (contenant les occurrences du
propriétaire) à un autre fichier (contenant
les occurrences du membre) et
inversement.

23
Propriétés d’un
modèle réseau CODASYL (4/4)

 Dans un lien réflexif, c’est le même


fichier qui contiendra les occurrences du
propriétaire et celles du membre (même
type d’enregistrement défini par un nom).
 IL sera donc très difficile pour ne pas dire
impossible pour le SGBD de distinguer
entre les occurrences du Propriétaire et
celles du membre.
24
Notion de sous-schéma
dans le modèle réseau (1/3)
 Le rôle d’un sous-schéma est de permettre
aux programmes d’application de ne voir que
la partie de la base de données dont ils ont
besoin.
 En se référant aux propositions du DBTG, on
peut énumérer la liste non exhaustive de
règles suivantes :

25
Notion de sous-schéma
dans le modèle réseau (2/3)
 On peut définir un nombre quelconque de
sous schémas pour un schéma conceptuel
donné
 Un sous schéma peut être partagé par
plusieurs programmes d’application
 Un sous schéma sera donc décrit grâce à
un programme en utilisant le langage de
description de données offert par le SGBD.
26
Notion de sous-schéma
dans le modèle réseau (3/3)

2
27
Avantages
du modèle réseau
 Elimination des redondances de données.
 Création de chemins d'accès multiples à
une même donnée.
 Absences d'anomalies pour les opérations
de stockage.

28
Inconvénients
du modèle réseau
 Rigides et complexes à mettre en œuvre.
 Les associations complexes sont difficiles à
gérer.

29
Exercices
 Exercice1 : Parmi les modèles de données suivants,
quels sont ceux qui ne sont pas conformes aux spécifications
du modèle réseau Codasyl?

30
Exercices
 Exercice2 : Parmi les modèles de données
suivants, quels sont ceux qui ne sont pas conformes
aux spécifications du modèle hiérarchique?

31
Exercices
 Exercice3 : Parmi les modèles de données suivants,
transformer ceux que ne sont pas conformes aux
spécifications du modèle réseau CODASYL de façon à les
rendre conformes.

32
Exercice
 Une société est organisée en services. Chaque service a un nom et un
numéro unique et est dirigé par un employé unique. La date à laquelle
l’employé a comencé à diriger le service est comptabilisée. Un service peut
avoir plusieurs emplacements.
 Un service contrôle un certain nombre de projets, chacun d’entre eux ayant
un nom, un numéro et un emplacement unique.
 Le nom de chaque employé, son numéro de sécurité sociale, son adresse,
son salaire, son genre et sa date de naissance sont mémorisés. Un employé
est affecté à un service, mais peut travailler sur plusieurs projets qui ne sont
pas contrôlés forcément par le même service. Le nombre d’heures
hebdomadaires travaillées par chaque employé par projet est comptabilisé.
Le supérieur immédiat de chaque employé est lui aussi mémorisé.
 Les ayants droit de chaque employé doivent être indiqués pour des raisons
d’assurance. Leur prénom, leur genre, leur date de naissance et leur lien de
parenté avec l’employé sont mémorisés.
 Donner le schéma hierarchique et le shéma en réseau de cet énoncé
33

Vous aimerez peut-être aussi