1.21k likes | 1.52k Views
Les bases du Modèle Conceptuel de Données (MCD). Christine Garcia (cgarcia@unice.fr). Enoncé d’un problème (mise en équation).
E N D
Les bases du Modèle Conceptuel de Données(MCD) Christine Garcia (cgarcia@unice.fr)
Enoncé d’un problème (mise en équation) A 9 heures du matin, Paul part à bicyclette de A vers B (vitesse 15 Km/h). A 10 heures moins le quart, Pierre en fait autant de B vers A (vitesse 20 Km/h).Ils se rencontrent pour pique-niquer à mi-chemin. Quelle heure est-il? Christine Garcia
Réflexion Utilisation des logiciels • Enoncé d’un problème • Utilisation d'un logiciel de résolution d’équations Christine Garcia
MCD Modèle Conceptuelde Données Utilisation des logiciels • Enoncé du problème • Utilisation du logiciel ACCESS Christine Garcia
Approche par un exemple • Nous allons voir sur un exemple de facturation, les différentes étapes de décomposition en plusieurs tableaux, pour arriver au résultat final. Christine Garcia
Société INFOGEA REMISE PRODUIT CLIENT Christine Garcia
Règles et Requêtes Des produits peuvent être commandés par des clients. Une commande concerne un et un seul client (qui peut effectuer plusieurs commandes) et peut concerner plusieurs produits. La liste des produits ordonnés suivant leurs prix, liste des clients suivant leurs codes,… Le nombre de commandes où apparaît le produit C321. Le total des montants des commandes du client OZEL. Christine Garcia
Tableau de départ Christine Garcia
Ajout/Modification Modifier le prix du produit C321 6 lignes/1 colonne=6 cases Modifier le % de la catégorie Or 15 lignes/1 colonne=15 cases Modifier le téléphone de CORSI (E87Z) 11 lignes/1 colonne=11 cases Une nouvelle commande de 5 produits 5 lignes/14 colonnes=70 cases Christine Garcia
Etape1 • Tableau REMISE permet de supprimer la colonne Remise du tableau de départ • Tableau CLIENT permet de supprimer les colonnes Nom, Prénom, Tél, Ville et Catégorie du tableau de départ • Tableau PRODUITS permet de supprimer les colonnes Désignation et Prix_HT du tableau de départ Christine Garcia
Tableau1 Christine Garcia
Ajout/Modification Modifier le prix du produit C321 1 ligne/1 colonne=1 case (PRODUIT) Modifier le % de la catégorie Or 1 ligne/1 colonne=1 case (REMISE) Modifier le téléphone de CORSI (E87Z) 1 ligne/1 colonne=1 case (CLIENT) Une nouvelle commande de 5 produits 5 lignes/6 colonnes=30 cases (Tableau1) Christine Garcia
Etape2 • Le montant est calculé à partir des informations prix hors taxe (obtenu grâce à la référence du produit) et de la quantité Suppression de la colonne montant • La TVA est fixe, il est donc inutile de la répéter à chaque ligne Suppression de la colonne TVA Christine Garcia
Tableau2 Christine Garcia
Ajout/Modification Modifier le prix du produit C321 1 ligne/1 colonne=1 case (PRODUIT) Modifier le % de la catégorie Or 1 ligne/1 colonne=1 case (REMISE) Modifier le téléphone de CORSI (E87Z) 1 ligne/1 colonne=1 case (CLIENT) Une nouvelle commande de 5 produits 5 lignes/4 colonnes=20 cases (Tableau2) Christine Garcia
Etape3 Quelle quantité de Cartouche laser (C321) le client CORSI (E87Z) a-t-il commandé ? 2 le 09/08/02 et 4 le 05/09/02 Pour obtenir la quantité d’un produit sur une commande on a besoin : de la référence du produit, ducode clientet deladate. Christine Garcia
Etape3 Quelle quantité de Scanner à main (S210) le client CORSI (E87Z) a-t-il demandé dans sa commande du 05/09/02 ? Le client CORSI a passé deux commandes à cette date. Impossible de répondre de façon non ambiguë. Christine Garcia
Etape3 Trois solutions : • imposer qu’un client ne peut passer plusieurs commandes le même jour • autoriser qu’un client passe plusieurs commandes le même jour à condition qu’elles ne portent pas sur les mêmes produits • ajouter un numéro de commande Christine Garcia
Tableau3 Ajout d'un numéro de commande Christine Garcia
Etape4 Création d’un tableau COMMANDE COMMANDE permet desupprimerles colonnesCode ClientetDate Christine Garcia
Tableau4 Christine Garcia
Récapitulatif 490 cases Tableau de départ : 35 lignes et 14 colonnes Tableau CLIENT 8 lignes × 6 colonnes (48) Tableau PRODUITS 7 lignes × 3 colonnes (21) Tableau REMISE 2 lignes × 4 colonnes (8) Tableau COMMANDE 10 lignes × 3 colonnes (30) Tableau LIGNE_CDE 35 lignes × 3 colonnes (105) 212 cases Christine Garcia
Indépendants du nombre de commandes Comparaison Modifier le prix du produit C321 6 cases 1 lig. / 1 col. = 1 case Modifier le % de la catégorie Or 15 cases 1 lig. / 1 col. = 1 case Modifier le téléphone de CORSI (E87Z) 11 cases 1 lig. / 1 col.= 1 case Une nouvelle commande de 5 produits 70 cases 1x3 + 5x3 = 18 cases Christine Garcia
Mise en équation=Décomposition en tableaux REMISE PRODUIT Catégorie Pourcentage Référence Désignation Prix_HT CLIENT Code Client Nom Prénom Tél Ville Catégorie Ligne_CDE COMMANDE N°Com Référence Quantité N°Com Date_Com Code_Client Christine Garcia
Plan • Introduction • Dictionnaire des données • Dépendances fonctionnelles • Entités / Associations • Normalisation des entités Christine Garcia
1. Introduction • Définition : Une Base de Données (BD) est un ensemble de données mémorisées sur des supports accessibles par un ordinateur • La définition d’une BD passe par une étape d’analyse (réflexion, modélisation) du système de fonctionnement de l’entreprise Christine Garcia
1. Introduction Système de Gestion d’une Base de Données (SGBD) =LOGICIEL (ex : ACCESS, Oracle, DB2 (IBM)) gère l’insertion, la modification et la recherche efficace de données dans une grande masse d’informations gère l’interface entre les utilisateurs et le support sur lequel est stockée la BD Christine Garcia
1. Introduction : Points clés d’un SGBD • Efficacité des accès aux données • Manipulation par des non informaticiens Un SGBD repose sur des algorithmes performants qui optimisent l’accès aux données Un SGBD permet de décrire ce que l’on souhaite sans décrire comment l’obtenir Christine Garcia
1. Introduction : Points clés d’un SGBD • Un SGBD permet de centraliser des informations : • garantit la non-redondance • minimise la perte de place • facilite la mise à jour des données Christine Garcia
1. Introduction : Points clés d’un SGBD • Cohérence des données • Partager des données Un SGBD permet la vérification de contraintes (ex : un salaire est compris entre 1 000 € et 4 000 €, l’emprunteur d’un livre doit être un abonné) Un SGBD permet à plusieurs personnes d’accéder simultanément aux données Christine Garcia
1.Introduction • Le modèle relationnel soumet la base de données à une norme • Basé sur les dépendances fonctionnelles (DF) • Organisation des données en table Christine Garcia
Plan • Introduction • Dictionnaire des données • Dépendances fonctionnelles • Entités / Associations • Normalisation des entités Christine Garcia
2. Dictionnaire des données • Différents types d'information • Information élémentaire = donnée NON décomposable • Information composée Exemples : Nom, N°Produit, N°INSEE Exemple : une adresse est composée d’un n°de rue, du nom d’une rue, d’un code postal et d’une ville Christine Garcia
2. Dictionnaire des données • Différents types d'information • Information calculée / non calculée • Information calculée • Information non calculée Résultat obtenu par application d’un calcul ARITHMETIQUE ou LOGIQUE à des données de base Donnée de base = valeur observée ou constatée Christine Garcia
2. Dictionnaire des données • Construire le dictionnaire de données • Recenser, classer, analyser les données élémentaires • Chaque donnée : • identifiée par un NOM DE CODE • définie par un TYPE (entier, chaîne de caractères, • date,…) • associée à une règle de gestion (donnée calculée) Christine Garcia
2. Dictionnaire des données • Dictionnaire complet Il est redondant Données calculées et non calculées Les données calculées s’obtiennent à partir des données de base Christine Garcia
2. Exemple INFOGEA Commande : Différents produits peuvent être commandés par des clients. Une commande : • concerne un et un seul client (qui peut effectuer plusieurs commandes) • se compose de plusieurs lignes de commande, chacune concernant un produit Christine Garcia
2. Dictionnaire complet Christine Garcia
Données élémentaires (non calculées) 2. Dictionnaire réduit Christine Garcia
Plan • Introduction • Dictionnaire des données • Dépendances fonctionnelles • Entités / Associations • Normalisation des entités Christine Garcia
3. Dépendances fonctionnelles • Attribut • Exemples Donnée élémentaire du dictionnaire de données Nom client, Prénom, prix_HT, date de la commande Christine Garcia
3. Attribut • Attention ! Distinguer le nom de l’attribut et sa valeur • Exemple : "Nom client" est un nom d’attribut "Falco" est une VALEUR (ou OCCURRENCE) de cet attribut Christine Garcia
3. DF : Définitions et propriétés • Soit A un attribut ou un ensemble d’attributs et soit B un attribut, on dit que Bdépend fonctionnellement de A, si • Notation : A B à chaque valeur de A ne correspond qu’une et une seule valeur de B donnée SOURCE donnée BUT Exemple : numéro d'étudiant nom de l'étudiant Christine Garcia
N°Com Code Client N°Com Tél Référence Prix_HT Code Client N°Com Code Client, Nom Prénom Nom Prénom 3. Exemples Christine Garcia
Si A B alors B A individu date de naissance date de naissance individu 3. Définitions et propriétés • Propriétés des DF Réflexive : Transitive : Non symétrique A A Exemple Si A B et B C Alors A C Christine Garcia
3. Formes particulières de DF • DF à Partie Gauche Composée : DFPGC • La SOURCE de la DF est composée de plusieurs attributs • Notation : (A1 , A2) B Christine Garcia
3. DFPGC (Référence, Désignation) Prix_HT (N°Com, Code Client) Prénom (N°Com, Référence) Quantité Christine Garcia
A1 A2 A’1A1 3. Formes particulières de DF • DF élémentaire • Soient 2 attributs A1 et A2, la DF : A1 A2 est élémentaire si Il n’existe pas de sous-ensemble A’1 contenu dans A1 tel que A’1 A2 Christine Garcia
(Référence, Désignation) Prix_HT (N°Com, Code Client) Prénom (N°Com, Référence) Quantité 3. DF élémentaire Christine Garcia
(N°Com, Référence) Quantité (9, S210) 5 (10, S210) 7 Christine Garcia