Conception d’une BD Modèle relationnel et MCD (Merise) introduction BD Exemples
Conception d’une BD Modèle relationnel et MCD (Merise) introduction BD Exemples MLD MCD MESSAGE (idMessage, titre, contenu, date, idExpediteur) idMessage : clé primaire idExpediteur : clé étrangère en réf. à idPersonne de PERSONNE MESSAGE_UNIQUE (idMessageUnique, date_reponse, idDestinataire) idMessageUnique : clé primaire idMessageUnique : clé étrangère en réf. à idMessage de MESSAGE idDestinataire : clé étrangère en réf. à idPersonne de PERSONNE DIFFUSION (idDiffusion) idDiffusion : clé primaire idDiffusion : clé étrangère en réf. à idMessage de MESSAGE PERSONNE (idPersonne, nom) idPersonne : clé primaire DESTINATAIRE (idDiffusion, idDestinataire, date_reponse) idDiffusion, idDestinataire : clé primaire idDiffusion : clé étrangère en réf. à idDiffusion de DIFFUSION idDestinataire : clé étrangère en réf. à idPersonne de PERSONNENOUVELLE VERSION Introduction But d'une application Permettre de réaliser des traitements automatisés et facilités. Permettre d'exploiter des informations. Persistance des informations Mémorisation des informations pour une exploitation ultérieure. Exemples : articles, clients, commandes… Exploitation des informations (création, lecture, modification, suppression). Supports de stockage Supports magnétiques (disque dur, clé usb...) Supports optiques (cd, dvd) Formats de stockage Fichier texte Fichier de format spécifique (tableur...) Fichier XML (format standard du net) Fichier binaire Base de données relationnelle introduction BD Exemples MLD MCD Base de données relationnelle Qu'est-ce que c'est ? Une base de données est un ensemble d'informations dont l'organisation respecte des règles précises et qui peut être exploitée avec le langage SQL (Structured Query Language). Quels outils pour la créer ? Utilisation d'un logiciel spécifique de type SGBDR (Système de Gestion de Bases de Données Relationnelles) acceptant le langage SQL. Exemples : MySQL, PostgreSQL, SQL Serveur, Oracle, Access... Quel outil pour l'exploiter ? Avec le langage SQL : - directement dans le SGBDR (en mode graphique ou en requête SQL) - dans une application connectée au SGBDR (à l'aide d'un driver) Pourquoi des règles à respecter ? Pour optimiser l'organisation des données dans la base de données : - respect du modèle relationnel - utilisation d'une méthode de conception (exemple : Modèle Conceptuel de Données de la méthode Merise) introduction BD Exemples MLD MCD Exemple de MCD Le MCD permet une représentation graphique de l'organisation optimisée des données qui sont regroupées en entités, et mettant en évidence des relations entre ces entités. introduction CLIENT n°client nom adresse LIGNE_COMMANDE qté_commandée COMMANDE n°commande date_paiement ARTICLE n°article nom description photo prix stock 1,n 0,n 1,1 1,n CATEGORIE n°categorie libellé 1,1 0,n Le MCD s'appuie sur une méthode de conception et permet ainsi d'obtenir facilement le modèle relationnel qui servira à la construction de la base de données dans le SGBDR. BD Exemples MLD MCD Exemple de modèle relationnel Une fois le MCD construit, il est facile d'obtenir le modèle relationnel : introduction ARTICLE (n°article, nom, description, photo, prix, stock, n°categorie) n°article : clé primaire n°categorie : clé étrangère en référence à n°categorie de CATEGORIE CATEGORIE (n°categorie, libellé) n°categorie : clé primaire COMMANDE (n°commande, date_paiement, n°client) n°commande : clé primaire n°client : clé étrangère en référence à n°client de CLIENT CLIENT (n°client, nom, adresse) n°client : clé primaire LIGNE_COMMANDE (n°commande, n°article, qte_commandée) n°commande, n°article : clé primaire n°commande : clé étrangère en référence à n°commande de COMMANDE n°article : clé étrangère en référence à n°article de ARTICLE Ces "relations" vont permettre de créer les "tables" de la base de données. BD Exemples MLD MCD modèle relationnel Qu'est-ce que c'est ? Le modèle relationnel permet d'organiser les données (attributs) en "relations" qui se transformeront en "tables" dans la base de données. Il est basé sur le concept de dépendances fonctionnelles. Il est aussi appelé Modèle Logique de Données (MLD). Dépendance fonctionnelle Soit 2 attributs A et B, on dit que B dépend fonctionnellement de A (A B) si, à chaque valeur de A ne correspond qu’une seule valeur de B. introduction Exemples : n°insee nom car il n’y a pas 2 personnes ayant le même n°insee par contre nom n°insee car il peut y avoir des homonymes BD Exemples MLD MCD modèle relationnel Dépendance fonctionnelle (DF) élémentaire Soient 2 attributs A et B, la DF (A B) est élémentaire s’il n’existe pas C contenu dans A tel que (C B). Exemples : n°commande, n°article nom_article (non élémentaire) avec les 2 premières informations, on obtient la dernière mais on n’a pas besoin des 2 informations n°article nom_article (élémentaire) par contre, dans l’exemple suivant, les 2 sont nécessaires : n°commande, n°article qté_commandée (élémentaire) introduction BD Exemples MLD MCD modèle relationnel Dépendance fonctionnelle (DF) directe Soient 2 attributs A et B, la DF (A B) est directe s’il n’existe pas C tel que (A C) et (C B). Exemples : nous possédons, entre autres, les attributs suivants : n°client, nom_client, n°commande n°commande nom_client (non directe) la première information donne bien la seconde, mais un intermédiaire parait logique : n°commande n°client (directe) n°client nom_client (directe) introduction BD Exemples MLD MCD modèle relationnel Exercice sur les Dépendances fonctionnelles : Voici les attributs disponibles : n°client, nom_client, adr_client, n°article, nom_article, prix, n°commande, date_commande, qte_commandée DF élém. directe nom_client adr_client n°client adr_client n°commande, n°client qte_commandée n°commande, n°article prix n°commande, n°article qte_commandée n°commande date_commande n°commande nom_client n°commande nom_article non oui oui oui non oui non oui oui oui oui oui oui oui oui oui non non introduction BD Exemples MLD MCD modèle relationnel Relation Une relation est un sous-ensemble du produit cartésien d’une liste d’attributs. Elle possède un nom et contient une liste d'attributs. Exemple de représentation en compréhension : Client (n°client, nom_client, adr_client) Commande (n°commande, date_commande, n°client) Article (n°article, nom_article) Ligne_commande (n°commande, n°article, qté_commandée) Exemple de représentation en extension : n°client nom_client adr_client 45 BERTRAND Nice 62 DUPOND Marseille 78 MARTIN Montpellier ... ... ... TUPLE (ligne) ATTRIBUT (colonne) introduction BD Exemples MLD MCD modèle relationnel Clé primaire d'une relation (identifiant) La clé primaire d'une relation est l'attribut ou l'ensemble d’attributs dont tous les autres attributs de la relation sont en DF. Une relation ne possède qu'une seule clé primaire. Clé(s) étrangère(s) d'une relation Une clé étrangère d'une relation est un attribut ou un ensemble d'attributs qui a un rôle de clé primaire dans une autre relation. Une relation possède 0 à plusieurs clés étrangères. Ce sont les clés étrangères qui permettent de faire les liens entre les relations. Exemple : Client (n°client, nom_client, adr_client) n°client : clé primaire Commande (n°commande, date_commande, n°client) n°commande : clé primaire n°client : clé étrangère en référence avec n°client de Client introduction BD Exemples MLD MCD modèle relationnel Formes normales d'une relation Première forme normale (1NF) : la relation possède une clé (donc tous les autres attributs de la relation sont en DF avec la clé). Exemple : Commande (n°commande, n°article, qte, date, nom_client) n°commande, n°article : clé primaire Deuxième forme normale (2NF) : la relation est en 1NF et les DF entre les attributs et la clé sont élémentaires. Exemple : Commande (n°commande, date, nom_client) n°commande : clé primaire Troisième forme normale (3NF) : la relation est en 2NF et les DF entre les attributs et la clé sont directes. Exemple : Client (n°client, nom_client) n°client : clé primaire Commande (n°commande, date, n°_client) n°commande : clé primaire n°client : clé étrangère en référence à n°client de Client introduction BD Exemples MLD MCD modèle relationnel Exercice Ecrire les relations en 3NF à partir de la liste d’attributs suivante : n°etudiant, n°classe, n°matière, nom_etudiant, nom_classe, nom_matière, coef Vous connaissez aussi les règles de gestion suivantes : - un étudiant est inscrit dans une classe - un coefficient dépend de la matière et de la classe Solution MATIERE (n°matière, nom_matière) n°matière : clé primaire CLASSE (n°classe, nom_classe) n°classe : clé primaire ETUDIANT (n°etudiant, nom_etudiant, n°classe) n°etudiant : clé primaire n°classe : clé étrangère en référence à n°classe de CLASSE MATIERE_CLASSE (n°classe, n°matière, coefficient) n°classe, n°matière : clé primaire n°classe : clé étrangère en référence à n°classe de CLASSE n°matière : clé étrangère en référence à n°matière de MATIERE introduction BD Exemples MLD MCD modèle conceptuel de données Qu'est-ce que c'est ? C'est un modèle visuel permettant de schématiser les dépendances fonctionnelles. Quelles sont ses règles ? Il respecte les règles du modèle relationnel Il ajoute des règles de représentation Quel est l’intérêt de passer par un MCD ? Il est beaucoup plus facile à construire Il est visuel, donc beaucoup plus facile à lire Les outils du MCD Les entités : relation en 3NF dont la clé primaire n’est composée que d’un seul attribut Les associations : relation en 3NF dont la clé primaire est composée de plusieurs attributs Tous les autres éléments du MCD sont des dérivés de ces 2 éléments. introduction BD Exemples MLD MCD Exemple : modèle conceptuel de données Les entités Une seule clé primaire donc un seul attribut souligné La clé primaire est en tête de l’entité 0 à N attributs Les clés étrangères ne sont pas écrites dans l’entité nom entité clé primaire attribut 1 ... attribut N ARTICLE n°article nom_article prix introduction BD Exemples MLD MCD Exemple : modèle conceptuel de données Les associations Une association a obligatoirement plusieurs clés primaires Les clés primaires sont représentées par les liens directs Il y a au minimum 2 liens directs autour de uploads/Industriel/ cours-mcd.pdf
Documents similaires










-
37
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 26, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 1.1018MB