L'APPROCHE PAR LE CONCEPT CONCEVOIR UN MCD (Modèle Conceptuel de Données) EXTRAIT D'UNE SITUATION PROFESSIONNELLE : « LA TABLE DE CANA » (sujet d'examen) La « Table de Cana » est un réseau national regroupant des entreprises « traiteur », des organisateurs de réceptions et des restaurants implantés sur l’ensemble de la France. Elle est dirigée par Françoise FEMINIER, assistée de 6 collaborateurs. Avec une équipe de 26 personnes en contrat à durée indéterminée et de 35 en situation d’insertion, elle assure les services de : traiteur, restauration, réception (décoration et buffets personnalisés), mise à disposition de maître d’hôtel et de personnel de service. Ses nombreux clients sont des particuliers, des entreprises, des collectivités (lycées, administrations…), des associations et des professions libérales. Patrice KNETCH, responsable commercial, connaît vos compétences et sollicite votre aide. Ses besoins immédiats sont les suivants : -
Stocker des données relatives aux trois entités ci-dessous, Extraire quotidiennement des informations de ces trois entités, Utiliser un système fiable, …
Il est convaincu que l'utilisation d'un Système de gestion de bases de données relationnelles est plus adaptée aux besoins de son entreprise que le tableur utilisé jusqu'à maintenant (extraits ci-dessous). COMMANDES Numéro Commande Nombre de convives Date commande Date du repas
CLIENTS Numéro Client Nom Adresse Code Postal ville Tél Contact
410210 CABINET GERIN 19 rue de Locronan
5 10 12/11/2007 21/12/2007
29000 QUIMPER 298554285 M. Gérin MENUS Numéro Menu Nom du menu Prix unitaire
3 Menu du terroir 30 €
SGBDR : Terminologie – Entrée par les sorties – C. AUTRET – F. CAZUGUEL – 06/02/2008
1
1
VOUS DEVEZ STRUCTURER LA BASE DE DONNÉES
1-1 LE DICTIONNAIRE DES DONNEES
C’est un tableau dans lequel on retrouve la liste des propriétés ou attributs de la base de données, le type et la taille de chaque attribut en nombre de caractères. Rappel : les différents types des attributs sont les suivants : Texte Numérique Monétaire Date/heure NuméroAuto Oui/non Mémo OLE Lien hypertexte
= enregistre jusqu’à 255 caractères de texte = enregistre des chiffres = enregistre des nombres et attribue un format avec séparateur de milliers, 2 décimales et symbole monétaire = enregistre des dates ou heures = est augmenté de 1 à chaque enregistrement = prend un état oui-non ou 0-1 = enregistre des textes dont la longueur et supérieure à 255 caractères = enregistre des données par copier-coller (image ou son) = enregistre les liens hypertextes ou adresses Internet
Champs
Type
Taille
Numéro Client Nom Adresse Code Postal Ville Tel Contact
Texte Texte Texte Texte Texte Texte Texte
10 20 50 5 20 10 20
Numéro Menu Nom du menu Prix unitaire
Texte Texte Monétaire
5 30 10
N° Commande Numéro Client Numéro Menu Nombre de convives Date commande Date du repas
NuméroAuto Texte Texte Numérique Date/Heure Date/Heure
5 10 5 5 10 10
Infos fixes par client
Infos fixes par menu
Infos variables
SGBDR : Terminologie – Entrée par les sorties – C. AUTRET – F. CAZUGUEL – 06/02/2008
2
1-2 LES ENTITÉS Il est possible de regrouper les informations en deux grandes catégories : les informations fixes et variables. Dans un SGBDR, ces informations, qui ne sont pas de même nature, sont placées dans des entités différentes, reliées entre elles. Elles sont mises en relation ou associées par l’action pour le client de commander un menu et par le fait pour un menu de correspondre à une commande. On représente les entités de la façon suivante :
CLIENT Numéro Client Nom Adresse Code Postal Ville Tel Contact
COMMANDE N° Commande Nombre de convives Date commande Date du repas
MENU Numéro Menu Nom du menu Prix unitaire
Important : chaque fois qu’une information qui correspond à une occurrence est susceptible d’être multiple, il y a lieu de créer une seconde entité. Exemples : Un salarié peut avoir plusieurs enfants Un salarié peut avoir plusieurs diplômes Un salarié peut avoir plusieurs arrêts maladies 2
entité salariés + entité enfants entité salariés + entité diplômes entité salariés + entité arrêts
VOUS DEVEZ DÉTERMINER UN IDENTIFIANT
Pour être fiable, une base de données doit interdire la saisie multiple d’une même occurrence. La solution consiste à interdire un même contenu pour une ou plusieurs propriétés d’une entité. Cette propriété est appelée identifiant et son contenu est différent pour chaque occurrence. Une entité doit obligatoirement posséder un identifiant. Par convention, cet identifiant est souligné et apparaît en premier dans la liste des propriétés (ou attributs) d’une entité. Dans l’exemple, pour l’entité Clients, le n° du client peut être utilisé comme identifiant. Pour la table Commandes, la solution consiste à ajouter une propriété de type NuméroAuto qui sera augmentée de un après chaque commande. Cet identifiant permettra également, de connaître le nombre de commandes. Par convention, cet identifiant est souligné dans le MCD. Complétez le MCD ci-dessus. SGBDR : Terminologie – Entrée par les sorties – C. AUTRET – F. CAZUGUEL – 06/02/2008
3
3
VOUS DEVEZ ÉTABLIR DES RELATIONS
Pour visualiser les commandes qui concernent un même client, il faut obligatoirement avoir dans l’entité Commande une propriété qui identifie le client correspondant. Cette propriété commune aux deux entités permettra la jointure entre les deux entités. La solution consiste à ajouter la propriété Numéro Client à l’entité Commande. On parle de clé externe (ou clé secondaire), dans l’entité Commande. De même pour visualiser les menus commandés, il faut avoir dans l’entité Commande une propriété qui identifie le menu correspondant. La solution consiste à ajouter la propriété à l’entité. Complétez le MCD :
CLIENT Numéro Client Nom Adresse Code Postal Ville Tel Contact
4
Commander
COMMANDE N° Commande
Correspondre
MENU Numéro Menu Nom du menu Prix unitaire
Nombre de convives Date commande Date du repas
CARDINALITES ET CONTRAINTE D’INTEGRITE REFERENTIELLE
Les cardinalités indiquent le nombre de correspondances minimums et maximums qu’il peut exister entre les propriétés de deux entités mises en relation. Dans l’exemple, les cardinalités sont les suivantes : a. à une occurrence de l’entité Clients peuvent correspondre une ou plusieurs (1 ou n) occurrences de l’entité Commande. b. à une occurrence de l’entité Commande peut correspondre une occurrence minimum et maximum (1 ou 1) de l’entité Clients. c. à une occurrence de l’entité Commande peut correspondre …..……………………………………………………………………..(…ou…) de l’entité Menu. d. à une occurrence de l’entité…………………………………….peut correspondre…………………………………………………………(…ou…) de l’entité………………………………….
SGBDR : Terminologie – Entrée par les sorties – C. AUTRET – F. CAZUGUEL – 06/02/2008
4
Les cardinalités se représentent de la façon suivante : complétez le MCD
CLIENT Numéro Client Nom Adresse Code Postal Ville Tel Contact
COMMANDE N° Commande Numéro Client Numéro Menu Nombre de convives Date commande Date du repas
MENU Numéro Menu Nom du menu Prix unitaire
Il reste à définir le sens de la cardinalité. Cette dernière va toujours de l’entité principale (mère), contenant les données fixes (1), vers l’entité secondaire (fille) qui contient les données variables (n). En conséquence, lors de la création de la jointure, dans le logiciel, il faudra glisser l’identifiant Numéro Client de l’entité Client sur la propriété Numéro Client de l’entité Commande. De même, il faudra glisser l’identifiant ……………………………… de l’entité……………………………………. sur la propriété……………………………. de l’entité…………………………………………………… 5
IMPLANTATION SUR POSTE INFORMATIQUE :
Le MPD (Modèle Physique des Données) se présente ainsi :
CLIENT Numéro Client Nom Adresse Code Postal Ville Tel Contact
COMMANDE N° Commande Numéro Client Numéro Menu Nombre de convives Date commande Date du repas
MENU Numéro Menu Nom du menu Prix unitaire
La relation et la cardinalité matérialisent « La contrainte d’intégrité référentielle »
SGBDR : Terminologie – Entrée par les sorties – C. AUTRET – F. CAZUGUEL – 06/02/2008
5