Schéma de base de données Présentation
Conception du schéma logique Transformation du schéma conceptuel en structures de données supportées par les SGBDR. Les structures de données des SGBDR sont les tables. Étape pouvant être automatisée.
Conception du schéma logique Règle générale : Tout objet du schéma conceptuel devient une table ou relation. Cas des entités. Une entité devient une relation (table) de même nom ayant pour colonnes la liste des attributs de l'entité. L'identifiant devient la colonne clef primaire (primary key) de la table.
Conception du schéma logique Cas des associations ( binaires et n aires) Rappel : une association est une relation faible entre des entités qui sémantiquement ont besoin d'être en relation mais qui ont besoin d'un médiateur pour cela. Une association est représentée par une relation ou table de même nom ayant pour colonnes clé primaire les identifiants des entités participantes. Les attributs de l'association, si il y en a, constituent les autres colonnes.
Conception du schéma logique Cas des relations non associatives (binaires) Rappel : une relation non associative est une relation forte entre deux entités (DF, CIF). La table issue de l'entité source de DF hérite d'une colonne supplémentaire (clé étrangère) qui correspond à la clef primaire de la table issue de l'autre entité. clé étrangère (foreign key)
Conception du schéma logique Cas particuliers Relation forte porteuse d'attributs Les attributs migrent dans la table issue de l'entité source de dépendance fonctionnelle. Relation relative La table issue de l'entité faible hérite d'une colonne supplémentaire participant à la clef primaire correspondant à la clef de la table provenant de l'entité forte.
Conception du schéma logique Cas particuliers (suite) Relation de spécialisation Plusieurs solutions Tous les objets conceptuels deviennent des tables. Si pas d'automatisation de l'héritage alors création de vues pour palier à ce défaut. Seules les entités dérivées deviennent des tables. Tous les objets conceptuels sont agrégés en une seule table avec création d'une typologie pour différencier les occurences.
Types de relation Les relations non identifiées Une relation non identifiée qualifie une relation entre des tables dont la clef primaire correspond à un identifiant qui leur est propre. ● Les relations identifiées ● Une relation identifiée qualifie une relation entre des tables dont l'une a sa clef primaire qui correspond à tout ou partie des clefs primaires des autres tables.
Conception du schéma logique
Génération de contraintes d'intégrité Toute association représentée par une table donne naissance à des contraintes référentielles sur les tables participant à l'association. Toute entité participant à une association représentée par une table et dont la cardinalité minimale est 1 donne naissance à une contrainte référentielle additionnelle. Pour toute instance de cette entité il existe au moins une instance de l'association. Une relation forte de type CIF donne naissance à une contrainte référentielle. Une fois établie la valeur de clé étrangère, celle-ci ne peut plus changer.
Affinement du schéma logique Une étape d'affinement du schéma relationnel est parfois nécessaire pour réduire les problèmes soulevés par une mauvaise perception du réel: Anomalies d'insertion, de mise à jour et de suppression Perte d'informations Solutions : Approche par décomposition Approche par synthèse
Affinement du schéma logique La normalisation Les trois premières formes normales ont pour objectif de permettre la décomposition des relations sans perdre d'informations. Première Forme Normale Une relation R est en première forme normale si tout attribut contient une valeur atomique et si R possède une clef.
Affinement du schéma logique Deuxième Forme Normale Une relation R est en deuxième forme normale si et seulement si : Elle est en première forme normale. Tout attribut n'appartenant pas à une clef ne dépend pas d'une partie de la clef.
Affinement du schéma logique Troisième Forme Normale Une relation R est en troisième forme normale si et seulement si : Elle est en deuxième forme normale. Tout attribut n'appartenant pas à une clef ne dépend pas d'un autre attribut non clef. Forme Normale de Boyce-Codd Une relation est en BCNF si et seulement si les seules dépendances fonctionnelles élémentaires sont celles dans lesquelles une clef entière détermine un attribut.
Affinement du schéma logique Axiomes d'Amstrong Réflexivité Tout ensemble d'attributs détermine lui même ou une partie de lui même. (triviale) Augmentation Si x -> y alors x,z -> y,z Transitivité Si x -> y et y -> z alors x -> z
Affinement du schéma logique Clé minimale Une clé minimale est un ensemble minimum d'attributs qui détermine tous les autres. Détermination 1.L'ensemble des attributs est une clé. Il faut enlever les attributs en trop pour obtenir la clé minimale. 2.Tous les attributs n'apparaissant dans aucune DF appartiennent à toutes les clés. 3.Les attributs n'apparaissant qu'en partie droite des DF n'appartiennent à aucune clé. 4.Les attributs n'apparaissant qu'en partie gauche des DF appartiennent à toutes les clés minimales. 5. Les attributs qui apparaissent tantôt en partie droite et tantôt en partie gauche peuvent appartenir à certaines clés.
Architectures autour des SGBDR Client A Application Services O/R Médiateur Client B Application Services O/R Client C Navigateur Serveurs de bases de données O/R ORBMédiateur Serveur métier Serveur Web Médiateur Services O/R CGI, ISAPI, JAVA
Conclusion Le passage du MCD au MLD ou du modèle statique des classes persistantes au modèle de conception de la base de données relationnelle peut être pris en charge par un logiciel : AMC Designer, PowerDesigner (Sybase) Designer 2000 (Oracle) Rose (Rational Software) Ces ateliers de génie logiciel proposent le langage UML comme langage de notation
Bibliographie (1)« The Unified Modeling Language: Reference Manual» James Rumbaugh (2)« UML for Database Design » Eric J. Nailburg & Robert A. Maksimchuk (3)« Bases de données, Les systèmes et leurs langages » Georges Gardarin (4)« Bases de données Objet &Relationnel » Georges Gardarin (5)« Modélisation dans la conception des systèmes d'information » groupe ACSIOME