Trang 1
Analyse et Conception des Systèmes d'Information Modèle logique de données Relationnel. MicheL EBOUEYA Université de La Rochelle
Đang tạo bản xem trước...
Analyse et Conception des Systèmes d'Information Modèle logique de données Relationnel. MicheL EBOUEYA Université de La Rochelle
Sommaire • Niveau logique – Fichiers – Bases de Données Relationnelles – Convention de traduction vers le niveau logique a travers un AGL • Formes Normales 2/ mike@univ-lr.fr
Niveau Logique : pourquoi? • On ne sait pas implémenter aisément un modèle Entité-Association dans une machine : – une association de dimension supérieure à 2 doit être transformée – une association porteuse de données n'est pas toujours implémentable telle quelle. • Un modèle "conceptuel" de données est indépendant de l'état de l'art technologique. – Or, il existe différentes sortes de Systèmes de Gestion de Bases de Données (SGBD) qui ont chacun leur propre modèle (dans l'ordre historique) : • Systèmes de Gestion de Fichiers ou SGF qui ne sont pas vraiment des SGBD • SGBD hiérarchiques organisés selon une arborescence • SGBD réseau encore appelés CODASYL (du nom de la norme à laquelle ils se réfèrent) • SGBD relationnels • SGBDOO (Orientés Objet) 3/ mike@univ-lr.fr
Niveau Logique ? • QU'EST-CE QUE LE NIVEAU LOGIQUE ? • Le niveau logique est une REPRESENTATION du système tel qu'il sera implémenté dans des ordinateurs. • Vu qu'il s'agit d'une représentation, on utilisera également un modèle et : – il ne faut pas confondre le modèle conceptuel (entité - association par ex.) – avec le modèle logique (relationnel par exemple) – il ne faut pas confondre le modèle logique (relationnel par ex. ) – avec son implémentation physique en machine ( Access, Oracle par ex.) 4/ mike@univ-lr.fr
Le modèle logique, en tant qu'il représente aussi un système informatique doit faire une hypothèse minimale sur l'état de l'art technologique qu'il prend en considération. On aura donc un modèle relationnel différent d'un modèle CODASYL ou encore différent d'un modèle OO. Mais s'il s'agit d'un modèle relationnel par exemple, il devra être indépendant d'une "plate-forme" particulière (Oracle, Postgres, etc...). 6/ mike@univ-lr.fr
Bien qu'il doit déjà compliqué, ce schéma est incomplet. Il représente la vue de la CONCEPTION du système et pas celle de son UTILISATION : le NIVEAU EXTERNE que vous appellerez VUES EXTERNES en cours de BD. (Ce niveau suppose que l'on ait étudié l'activité du système et pas seulement ses données). 7/ mike@univ-lr.fr
Bien qu'il doit déjà compliqué, ce schéma est incomplet. Il représente la vue de la CONCEPTION du système et pas celle de son UTILISATION : le NIVEAU EXTERNE que vous appellerez VUES EXTERNES en cours de BD. (Ce niveau suppose que l'on ait étudié l'activité du système et pas seulement ses données). 8/ mike@univ-lr.fr
Nous ne donnons ici que les quelques notions élémentaires indispensables à la suite de ce cours : Elles seront développées dans le cours BASES DE DONNEES. DEFINITION EN EXTENSION D'UNE RELATION : Une RELATION est une partie finie du produit cartésien de n ensembles (ou domaines) Rien à voir, donc, avec la définition d'une ASSOCIATION. 9/ mike@univ-lr.fr
Définition en extension d ’une relation • Une RELATION est une partie finie du produit cartésien de n ensembles (ou domaines) • Rien à voir, donc, avec la définition d'une ASSOCIATION. • Un attribut prend ses valeurs dans un DOMAINE (soit l'ensemble de ses valeurs possibles) • Ainsi, une RELATION (ou TABLE) est le résultat d'une opération sur les ensembles • constitués par les valeurs des attributs. 10/ mike@univ-lr.fr
Définition en extension d ’une relation • CLE de relation : – un attribut particulier tel qu'il ne peut exister qu'une seule valeur de cet attribut pour tous les n-uplets de la table. Ce pourrait être ici le cas de l'attribut Code_client.Cf identifiant. • CARDINALITE de relation : – le nombre de ses n-uplets (ou lignes). Rien à voir donc avec la cardinalité du modèle entité-association. • DEGRE (ou encore ORDRE, ARITE) de relation : – le nombre d'attributs (ou colonnes). Rien à voir donc avec la dimension d'une association. 11/ mike@univ-lr.fr
OPERATEURS de manipulation des données : • L'UNION de 2 relations (définies sur les mêmes domaines fournit une nouvelle relation qui contient tous les n-uplets des 2 relations initiales. • L'INTERSECTION de 2 relations (ayant mêmes domaines) fournit une nouvelle relation qui contient les n-uplets communs aux 2 relations initiales. • La DIFFERENCE de 2 relations (ayant mêmes domaines) fournit une nouvelle relation qui contient les n-uplets de la 1ère qui ne se trouvent pas dans la 2ème. • La PROJECTION d'une relation (opérateur unaire) fournit une nouvelle relation définie pour les seuls attributs demandés. • La SELECTION d'une relation (opérateur unaire) fournit une nouvelle relation restreinte aux n- uplets qui respectent une proposition logique formulée à l'aide d'opérateurs de comparaison et /ou d'opérateurs logiques. • La JOINTURE de 2 relations (ayant un attribut commun) fournit une nouvelle relation concaténant 2 à 2 les n-uplets des 2 relations initiales ayant même valeur pour l'attribut commun. • • Chaque opérateur retourne un objet qui est lui-même une relation. Par conséquent, on peut ré appliquer l'un quelconque des opérateurs au résultat fourni par le précédent. 13/ mike@univ-lr.fr
Règles de passage modèle Entité-Association vers un schéma Relationnel • RG°1 : TOUTE ENTITE DEVIENT UNE RELATION dans laquelle : – les attributs traduisent les propriétés de l'entité – la clé primaire traduit l'identifiant de l'entité • RG °2 : UNE ASSOCIATION DE DIMENSION 2 AVEC CARDINALITE 1,1 SE REECRIT EN : – portant dans la relation fille la clé primaire de la relation mère. – L'attribut ainsi ajouté s'appelle clé étrangère. Par convention, nous la symboliserons au moyen de #. 14/ mike@univ-lr.fr
Règles de passage modèle Entité-Association vers un schéma Relationnel • RG°3 : UNE ASSOCIATION DE DIMENSION 2 AVEC CARDINALITES PLUSIEURS A PLUSIEURS SE REECRIT EN : – créant une relation particulière qui contient comme attributs les identifiants des 2 entités associées – ces attributs constituent à eux 2 la clé primaire de la relation – ils sont individuellement clés étrangères ajoutant la ou les éventuelles propriétés de l'association à cette relation. • (Dans le cas de cardinalités minimales à 0, la règle s'applique de la même façon). 15/ mike@univ-lr.fr
Règles de passage modèle Entité-Association vers un schéma Relationnel • RG°4 : • UNE ASSOCIATION DE DIMENSION SUPERIEURE A 2 SE REECRIT SELONLA REGLE 3 : • 16/ mike@univ-lr.fr
Conclusion – Les règles de passage d'un modèle Entité-Association en schéma logique d'une Base de Données Relationnelles sont totalement formalisables • (pourvu que le modèle E-A soit au moins en 3ème Forme Normale) – Par conséquent, on peut les automatiser au moyen d'un programme : c'est ce que font tous les Ateliers de Génie Logiciel qui vous aident à dessiner votre modèle E-A et vous génèrent ensuite tous seuls le schéma de la BD (on appelle souvent cela "génération de code", une appellation que l'on pourrait discuter) • réf: Bernard Morand 17/ mike@univ-lr.fr
Sommaire • Niveau logique – Fichiers – Bases de Données Relationnelles – Convention de traduction vers le niveau logique a travers un AGL • Formes Normales 18/ mike@univ-lr.fr
Normalisation d'un schéma relationnel • Si l'on n'y prend garde, une mauvaise répartition des données dans les relations peut occasionner de graves problèmes lors de l'évolution de la base. • La normalisation des relations permet d'éviter ces problèmes. L'idée essentielle de la normalisation est : autant que possible un seul fait dans un seul lieu c'est-à-dire une seule notion sémantique par relation. Pour obtenir cela, le processus de normalisation conduit le plus souvent à éclater des relations en plusieurs relations. Il existe plusieurs degrés dans les formes normales. • La notion de forme normale repose sur les notions • de clé et de dépendance fonctionnelle. 19/ mike@univ-lr.fr
Normalisation d'un schéma relationnel • Dépendances fonctionnelles • Il y a une dépendance fonctionnelle entre deux attributs X et Y d'une même relation R (on dit aussi que Y dépend de X) si toute valeur pour l'attribut X détermine une valeur bien définie pour l'attribut Y. On note X--> Y • Les attributs X et Y peuvent être composés de plusieurs rubriques. • Plus formellement, soient X et Y deux ensembles de rubriques de la relation R. • X --->Y (lire ix détermine igrec) si et seulement si E1 et E1 sont deux n-uplets de la relation R qui ont les mêmes valeurs pour les rubriques de X, alors ils ont nécessairement les mêmes valeurs pour les rubriques de Y. 20/ mike@univ-lr.fr
Hiển thị 20 trang đầu. Tải tài liệu để xem đầy đủ.
Chưa có bình luận nào. Hãy là người đầu tiên!
Bình luận (0)
Chưa có bình luận nào. Hãy là người đầu tiên!