22

ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

Embed Size (px)

Citation preview

Page 1: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives
Page 2: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

ETAPE03

« Produits et ingrédients…… »

Page 3: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

« Produits et ingrédients… »

Rappel : Dans l’étape 2 , nous avons vu une organisation plus complète des données relatives aux articles du Moulin des Costières. Notre schéma relationnel comporte à présent 3 relations :

Ce schéma relationnel permet :

d’éviter la redondance ;

de minimisant le volume des données ;

de faciliter les traitements :

– d’interrogation,

– de mise à jour.

PRODUIT(CodeP, NomP, Description, NomFamille#)

FAMILLE(NomFamille, Commentaire)

ARTICLE(Référence, Désignation, image, Prix,disponibilité, CodeP#)

Page 4: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

« Produits et ingrédients… »

Choisissez dans le menu : NOS PRODUITS puis PREPARATION puis Verte pistou – Noire Provençale – Poumo d’Amour

http://www.moulin-des-costieres.com/ou en local

C:\…\MDC\LeSite\Index.htm

Changeons de page…..

Page 5: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

« Produits et ingrédients… »

Quelle information apparaît dans cette page non prise en compte dans les étapes précédentes ? 

Les ingrédients qui entrent dans la composition des catégories d’articles

Page 6: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

« Produits et ingrédients… »

Comment peut-on définir un ingrédient ?

On choisit des attributs qui caractérisent un ingrédient en fonction des besoins de gestion: Un code, une désignation

On définit une clé permettant d’identifier un ingrédient donné : CodeI

INGREDIENT(CodeI,Désignation)

On définit ainsi une nouvelle relation :

Page 7: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

« Produits et ingrédients… »

Un produit est-il composé d’un seul ingrédient ?

Tapenade Verte au PistouOlives vertesBasilicAil fraisHuile d’olivecâpres

Pour un produit, il y a plusieurs ingrédients possibles….

 

Page 8: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

« Produits et ingrédients… »

Tapenade Verte au PistouOlives vertesBasilicAil fraisHuile d’olive

câpres

Tapenade Noire Provençale

Olives noiresBasilicAil fraisHuile d’oliveHerbes de Provencecâpres

Poumod’Amour

Tomates séchéesBasilicAil fraisHuile d’oliveThymsel

…Un ingrédient peut être intégré dans plusieurs produits.

Les ingrédients sont-ils spécifiques à un produit ?

Page 9: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

« Produits et ingrédients… »

Comment savoir si un ingrédient entre ou non dans la composition d’un produit ?Comment savoir si un produit a dans sa composition un ingrédient donné ?

?INGREDIENT

INGREDIENT(CodeI,Désignation)

PRODUIT

PRODUIT(CodeP, NomP, Description, NomFamille#)

COMPOSER(CodeI, CodeP)

En ajoutant une nouvelle relation qui fait le lien entre INGREDIENT et PRODUIT

Page 10: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

« Produits et ingrédients… »

INGREDIENT(CodeI,Désignation)

PRODUIT(CodeP, NomP, Description, NomFamille#)

COMPOSER(CodeI, CodeP)

Pour que la relation COMPOSER ait un sens, il est indispensable que:

On parle de contrainte référentielle

Mais il faut aussi que la valeur de l’attribut COMPOSER.CodeP existe dans les valeurs de l’attribut PRODUIT.CodeP

La valeur de l’attribut COMPOSER.CodeI existe dans les valeurs de l’attribut INGREDIENT.CodeI

Page 11: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

« Produits et ingrédients… »

PRODUIT

T01, « Tapenade Verte au Pistou »,  PREPA 

INGREDIENT

AR01,« basilic »

CodeP(T01), correspond à un seul ingrédient dans PRODUIT

Exemple : COMPOSER(CodeI, CodeP)

(AR01, T01)

CodeI (AR01) correspond à un seul ingrédient dans INGREDIENT

Page 12: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

COMPOSER

INGREDIENT PRODUIT

« Produits et ingrédients… »

CodeI CodeP

CodeI

Désignation

CodeP

NomP Description NomF

On peut construire un graphe partiel des dépendances fonctionnelles

Quelles sont les dépendances fonctionnelles existantes entre les attributs de COMPOSER, INGREDIENT, PRODUIT ?

Page 13: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

« Produits et ingrédients… »

COMPOSER(CodeI, CodeP)

INGREDIENT(CodeI,Désignation)

PRODUIT(CodeP, NomP, Description, NomFamille#)

CodeI et CodeP sont des clés étrangères. Ces attributs sont des clés primaires dans les relations INGREDIENT et PRODUIT

CodeI ,CodeP constitue la clé primaire de COMPOSER. Une valeur de CodeI,CodeP permet d’identifier un tuple dans COMPOSER

COMPOSER(CodeI, CodeP)

Schéma définitif de la relation :

Page 14: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

« Produits et ingrédients… »

Si on souhaite connaître la quantité d’ingrédient nécessaire pour une catégorie, quelle information faut-il ajouter  ?

La quantité d’ingrédient dépend à la fois de l’ingrédient et du produit. On peut fixer une quantité pour un certain volumeExemple

T01 Tapenade Verte au Pistou »,  PREPA ») OL01, Olive verte

650 g/kg

Page 15: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

« Produits et ingrédients… »

L’information Quantité ( 650g/kg) dépend de la préparation T01 et de l’ingrédient OL01.

Dans quelle relation faut-il placer l’attribut ou les attributs correspondant?

Ce n’est qu’en connaissant un CodeI et un CodeP, que l’on connaître la Quantité.

Un attribut Quantité doit être ajouté dans la relation COMPOSER :

COMPOSER(CodeI,CodeP,Quantité)

T01 Tapenade Verte au Pistou »,  PREPA ») OL01, Olive verte

650 g/kgT01 OL01

Page 16: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

COMPOSER

INGREDIENT

« Produits et ingrédients… »

Graphe des dépendances fonctionnelles :

FAMILLE

PRODUIT

ARTICLERéférence

Désignation

image Prixdisponibilité

CodeP

CodeP

NomP DescriptionNomFamille

NomFamille

Commentaire

CodeI

Désignation

CodeI CodeP

Quantité

Page 17: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

« Produits et ingrédients… »

Le schéma relationnel est le suivant :

COMPOSER(CodeI,CodeP,Quantité)

INGREDIENT(CodeI,Désignation)

PRODUIT(CodeP, NomP, Description, NomFamille#)

FAMILLE(NomFamille, Commentaire)

ARTICLE(Référence, Désignation, image, Prix,disponibilité, CodeP#)

Page 18: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

« Produits et ingrédients… »

Nous avons défini une organisation des données relatives aux articles du Moulin des Costières sous la forme d’un schéma relationnel. Dans ce schéma, chaque relation est normalisée :

Résumons-nous….

elle possède une clé : Les valeurs de la clé sont uniques et permettent d’identifier un tuple de la relation de façon certaine. Exemple : il n’y a qu’une référence « HUILE01 », un seul produit « H01 », une seule famille « HUILE »….;

Page 19: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

« Produits et ingrédients… »

ses attributs sont élémentaires ( au sens du domaine d’étude):

chaque attribut dépend entièrement de la clé Pour connaître le prix d’un article( ARTICLE.Prix), il faut connaître sa référence(ARTICLE.Référence) .On ne peut connaître une valeur de COMPOSER.Quantité qu’en connaissant une valeur de COMPOSER.CodeI et une valeur de COMPOSER.CodeP

un attribut ne dépend pas d’un autre attribut non cléSi nous avions une relation du type : ARTICLE( Référence,……., CodeP, NomP), NomP dépendrait de CodeP qui lui-même dépendrait de Référence. Cette relation ne serait pas normalisée.

Page 20: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

« Produits et ingrédients… »

Le schéma relationnel normalisé va permettre :

• D’éviter la redondance ;

• De minimiser le volume des données ;

• De faciliter les traitements :

– d’interrogation,

– de mise à jour.

Les contraintes référentielles existant entre les relations permettent de lier toutes les données entres elles.

Page 21: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

« Produits et ingrédients… »

L’objectif du modèle relationnel est d’analyser l’organisation des données pour en faciliter le stockage et l’exploitation.

En définissant les relations suivantes :

Le Moulin des Costières définit une organisation des données susceptible de répondre à ses besoins d’information.

Page 22: ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives

« Application 03 »Une commande d’un client sur le site marchand du Moulin des Costières se présente de la manière suivante :

Travail :

Quelles sont les informations nécessaires pour compléter ce formulaire ?

Proposez le schéma relationnel correspondant.

Les différents champs du formulaire sont remplis automatiquement à partir des informations données par le client( « ENREGISTREZ VOS COORDONNEES : Application 01; Ajout des articles au panier… ) . Ces informations sont stockées en attendant la validation du client.