ETAPE02 «Articles, produits, familles de produits»
Rappel : Dans l étape, nous avons vu que le Moulin des Costières définit ses articles avec certains attributs. Nous avons construit une relation ARTICLE qui semblait correspondre à cette définition : ARTICLE(Référence, Désignation, Prix,disponibilité) Cette relation correspond t-elle à la réalité du domaine de gestion étudié : Les produits du Moulin des Costières?
Changeons de page.. http://www.moulin-des-costieres.com/ ou en local C:\ \MDC\LeSite\Index.htm Choisissez dans le menu : Nos Produits puis Huiles d olives puis Picholine Angladau -Bouteillan
Quelles sont informations que nous avons lorsque nous consultons la page des huiles d olives? Des informations figurant dans le tableau précédent
Des informations complémentaires. Un commentaire sur les huiles Une description de chaque type d huiles Des images qui complètent la description des articles.
Quel est l intérêt de ces informations? Des informations détaillées utiles pour le client CHOIX COMMANDE
Pour prendre en compte les informations complémentaires, la relation ARTICLES peut être modifiée ARTICLE(Référence, Désignation, Prix,disponibilité) ARTICLE(Référence, Désignation, [Image], Commentaire, Description, Prix,disponibilité) Exemple HUILE01 ;Huile d'olive "Picholine" 75cl ;[H-Picholine.bmp); «Vierges extra par nature, nos huiles sont extraites à froid»; «Plus que toute autre, l'olive Picholine.»; 12.00; Oui
Combien d articles ont pour l attribut Commentaire la valeur «Vierges extra par nature, nos huiles sont extraites à froid au domaine..»? Attribut : Commentaire Valeur : «Vierges extra par nature, nos huiles sont extraites à froid au domaine..» 15 articles La même information sera répétée 15 fois.. HUILE-01 HUILE-02 HUILE-03 HUILE-04 HUILE-05 HUILE-06 HUILE-07 HUILE-08 HUILE-09 HUILE-10 HUILE-11 HUILE-12 HUILE-13 HUILE-14 HUILE-15
Combien d articles ont pour l attribut Description la valeur «Plus que toute autre, l'olive Picholine est célébrée.»? Attribut : Description Valeur : «Plus que toute autre, l'olive Picholine est célébrée.» 3 articles HUILE-01 HUILE-02 HUILE-03 La même information sera répétée 3 fois..
Si nous voulons modifier la valeur d un de ces deux attributs, quel inconvénient cela présente t-il? Attribut : Commentaire Valeur : «Vierges extra par nature, nos huiles sont extraites à froid au domaine..» 15 articles à modifier HUILE-01 HUILE-02 HUILE-03 HUILE-04 HUILE-05 HUILE-06 HUILE-07 HUILE-08 HUILE-09 HUILE-10 HUILE-11 HUILE-12 HUILE-13 HUILE-14 HUILE-15 3 articles à modifier Attribut : Description Valeur : «Plus que toute autre, l'olive Picholine est célébrée.»
Comment éviter ces répétitions? L attribut commentaire a la même valeur pour toutes les huiles, il a une autre valeur pour les préparations, les vinaigres et les olives,.. Huiles d olives 15 articles «Vierges extra par nature, nos huiles sont extraites à froid au domaine..» Olives 6 articles «Verte croquante ou noire fondante, nature ou revêtue». Vinaigres 4 articles «Préparés artisanalement par macération» On peut distinguer 4 familles d articles Préparations 9 articles «Les olives cueillies au domaine sont la base d'une.» Chaque famille a sa propre valeur pour l attribut Commentaire
Au sein d une même famille, l attribut Description peut avoir la même valeur pour plusieurs articles. Exemple : Pour la famille «HUILES» l attribut Description peut prendre 6 valeurs différentes en fonction du contenu de l article, du produit. Plusieurs articles peuvent avoir la même valeur pour cet attribut. Picholine 3 articles «Plus que toute autre, l'olive Picholine...» Aglandau 2 articles «L'olive Aglandau est un fruit rond et charnu....» Bouteillan 1 article «Issue en majorité d'olive Bouteillan, mais aussi,....» On peut distinguer 6 produits dans la famille Huiles d olives Plusieurs articles peuvent Appartenir au même produit Arbequine 3 articles «L'olive Arbequine est un fruit rond, de petite taille,...» Basilic 2 articles «Cette huile d'olive parfumée au basilic,...» Huile aux épices 1 article «Mélange corsé destiné à relever la saveur.,...»
De même pour les autres familles. Exemple : les préparations FAMILLE «Préparations» 9 articles «Les olives cueillies au domaine sont la base d'une.» 6 produits «préparations» 6 contenus différents possibles : Tapenade verte au Pistou 2 articles «Elle accompagne à merveille vos toasts..» Tapenade noire Provençale 2 articles «Excellente sur toast.» Poumo d'amour 2 articles «Elle étonnera vos convives sur des toasts grillés.» Caviar d'aubergine 1 article «Un trésor de douceur et de saveur.» Pistou Provençal 1 article «Célèbre grâce à la soupe qui porte son nom» Poêlée de Poivrons 1 article «Elle apportera un brin d'exotisme..»
Les informations sur les articles du Moulin des Costières sont organisées de la manière suivantes : FAMILLES PRODUITS ARTICLES
Comment peut-on définir un produit? Il faut choisir des attributs qui permettent de décrire un produit : NomP Description Il faut choisir un attribut clé qui permette d identifier un produit de façon certaine : CodeP NomP On crée une nouvelle relation : Description PRODUIT(CodeP, NomP, Description)
Exemple : Un tuple de la relation PRODUIT (CodeP, NomP, Description) CodeP H01 NomP Picholine Description Plus que toute autre, l'olive Picholine est célébrée dans la région de Nîmes. Son huile est généreuse de saveurs fruitées avec des accents soutenus d'artichaut et une pointe étonnante de prune jaune. Elle ravira les passionnés d'huile d'olive sur une viande rouge grillée, en assaisonnement de salades au goût affirmé comme : mâche, pissenlit, feuille de chêne, ou pour accompagner un fromage sec de chèvre ou de brebis
Un article est un produit qui lui-même appartient à une famille. Comment peut-on définir une famille? Il faut choisir des attributs qui permettent de décrire une famille : NomFamille Commentaire Il faut choisir un attribut clé qui permette d identifier une famille de façon certaine : NomFamille Commentaire On crée ainsi une nouvelle relation : FAMILLE(NomFamille, Commentaire) Clé primaire : NomFamille
Exemple : Un tuple de la relation FAMILLE (Nom, Commentaire) Nom HUILE Commentaire Vierges extra par nature, nos huiles sont extraites à froid au domaine. Chacune possède une saveur unique qu'elle doit à la variété d'olive dont elle provient et qui lui donne son nom.
Il faut modifier la relation ARTICLE : ARTICLE(Référence, Désignation, [Image], Commentaire, Description, Prix,disponibilité) Dans la première version de la relation ARTICLE ( étape01), la désignation correspond à la famille, au produit et au volume ( ou le poids). Exemple Une famille Un produit FAMILLE.NomFamille «HUILE» PRODUIT.NomP «Picholine» Il y a des redondances d informations entre ARTICLE, PRODUIT et FAMILLE On supprime dans la désignation d un article les données relatives au produit et à la famille ( modification de définition de «Désignation»)
L attribut Description est propre à un produit, on le retire de la relation ARTICLE. ARTICLE(Référence, Désignation, [Image], Commentaire, Description, Prix,disponibilité) PRODUIT(CodeP, NomP, Description) L attribut Commentaire est propre à une famille, on le retire de la relation ARTICLE. ARTICLE(Référence, Désignation, [Image], Commentaire, Prix,disponibilité) FAMILLE(NomFamille, Commentaire)
Les 3 relations ARTICLE,PRODUIT et FAMILLE se définissent à présent de la manière suivante : ARTICLE(Référence, Désignation, [Image],Prix,disponibilité) PRODUIT(CodeP, NomP, Description) FAMILLE(NomFamille, Commentaire)
Comment sont liées entre elles, les données correspond à ARTICLE, PRODUIT et FAMILLE? FAMILLE Principe des dépendances fonctionnelles Commentaire PRODUIT Description ARTICLE Désignation NomFamille CodeP Référence [Image NomP Prix Connaissant un Nom de Famille, on peut connaître un commentaire. Connaissant un code de produit, on peut connaître un nom de produit et une description disponibilité Connaissant une référence, on peut connaître une Désignation, une image, un prix, une disponibilité
Mais comment peut connaître le produit auquel appartient l article ou la famille d un produit? FAMILLE NomFamille Commentaire? Il faudrait qu un produit puisse PRODUIT faire référence à une et une seule famille CodeP Description ARTICLE? Référence NomP Il faudrait qu un article puisse faire référence à un et un seul produit Désignation [Image Prix disponibilité
Chaque article appartient à un seul produit. En connaissant un article, on doit connaître le produit. ARTICLE(Référence, Désignation, image, Prix,disponibilité), CodeP#)? Comment faire apparaître ce lien entre ARTICLE et PRODUIT? PRODUIT(CodeP, NomP, Description) On ajoute à la relation ARTICLE un attribut CodeP correspondant au code du produit. ARTICLE.CodeP est une clé étrangère (un # est ajouté pour montrer la clé étrangère) Clé étrangère: attribut d une relation qui est clé primaire d une autre relation
Exemple : En connaissant un article et donc son code produit HUILE01 ; 75cl ; [Image]; 12.00; Oui, H01 Clé étrangère Clé primaire On peut identifier un produit et connaître le nom et la description de ce produit H01, Picholine, «Plus que toute autre, l'olive Picholine est célébrée dans la région de Nîmes. Son huile est généreuse de saveurs»
Chaque produit appartient à une famille. En connaissant un produit, on doit connaître sa famille. PRODUIT(CodeP, NomP, Description, Description) NomFamille#)? Comment faire apparaître ce lien entre PRODUIT et FAMILLE? FAMILLE(NomFamille, Commentaire) On ajoute à la relation PRODUIT un attribut NomFamille correspondant au Nom de la famille. NomFamille est une clé étrangère (un # est ajouté pour montrer la clé étrangère)
Exemple : HUILE01 ; 75cl ; [Image]; 12.00; Oui, H01 H01, Picholine, «Plus que toute autre, l'olive Picholine est célébrée dans la région de Nîmes. Son huile est généreuse de saveurs»,huile En connaissant un produit et donc sa famille HUILE, «Vierges extra par nature, nos huiles sont extraites à froid au domaine», On peut identifier une famille
Résumons-nous. Pour décrire un article de façon plus précise, nous avons modifié la relation ARTICLE définie dans l étape 1 : ARTICLE(Référence, Désignation,Prix,disponibilité) ARTICLE(Référence, Désignation, [Image], Commentaire, Description, Prix,disponibilité) Mais cette relation génère des redondances d information : Le volume occupé par les données n est pas minimal ; Un changement de valeur peut entraîner plusieurs mises à jour.
Nous modifions la relation ARTICLE, en créant deux nouvelles relations qui tiennent compte de la réalité du domaine : FAMILLE(NomFamille, Commentaire) Clé primaire : NomFamille PRODUIT(CodeP, NomP, Description, NomFamille#) Clé primaire : CodeP Clé étrangère : NomF ARTICLE(Référence, Désignation, image, Prix,disponibilité, CodeP#) Clé primaire : Référence Clé étrangère : CodeP
Graphe des dépendances fonctionnelles : Référence ARTICLE Désignation disponibilité image CodeP Prix NomP CodeP Description NomFamille PRODUIT NomFamille Commentaire FAMILLE
Cette organisation des données relatives aux articles proposés par le Moulin des Costières correspond plus à la réalité : Le Moulin des Costières propose 4 familles différentes : une huile n est pas une préparation ou un coffret. Pour chaque famille, les articles proposés ne correspondent pas aux mêmes produits : Une huile «Picholine» doit être différenciée d une huile «Angladau» Chaque article est individualisé en terme d offre commerciale : La référence HUILE01, 75 cl à 12,00 euros est différente de la référence HUILE02, 3 L à 43,00 euros.
Les liens établis entre 3 relations FAMILLE,PRODUIT et ARTICLE permettent d avoir une information complète sur un article en particulier : Un article :HUILE01; 75 cl; 12,00 euros Un produit :«Picholine», «Plus que toute autre, l'olive Picholine est célébrée dans la région de Nîmes..» Une famille :Huile :«Vierges extra par nature, nos huiles sont extraites à froid au domaine. Liaison entre clé primaire et clé Étrangère : CodeP Liaison entre clé primaire et clé Étrangère : NomFamille
«Application 02» Pour enregistrer ses commandes, le responsable du Moulin des Costières propose d utiliser la relation CLIENT ( voir application 01) et la relation suivante : COMMANDE( Code client, NumCom, datecom) Travail : Quelles critiques peut-on faire à cette proposition de relation? Proposez une solution qui prenne en compte vos critiques.