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