ETAPE04 « Des besoins d’information… »
« Des besoins d’information » En définissant son schéma relationnel, le Moulin des Costières définit une organisation des données qui facilite le stockage des données relatives à ses articles… 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#) Ce schéma correspond à une définition en intention(compréhension) des relations.
« Des besoins d’information » On peut aussi présenter ce schéma relationnel en extension : Exemple : La relation ARTICLE Attributs de la relation Tuples de la relation
« Des besoins d’information » L’intérêt de cette organisation des données est aussi d’en faciliter la consultation. Il faut donc aussi voir comment nous allons interroger notre système pour obtenir les données correspondant à un besoin d’information précis. Pour cela on dispose de différents opérateurs relationnels : La projection La sélection La jointure UN BESOIN QUEL RESULTAT ? COMMENT ? Démarche :
« Des besoins d’information » Comment peut-on faire apparaître uniquement la référence et le PrixUnitaire ? ARTICLE R1 R1=PROJECTION ARTICLE(Référence,PrixUnitaire) Projection UN RESULTAT PROJECTION Cela revient à créer une « nouvelle relation » qui ne comporte que la référence et le PrixUnitaire COMMENT ?
ARTICLE « Des besoins d’information » Comment peut-on faire apparaître uniquement les articles qui contiennent le produit H01 ? R2 Cela revient à créer une « nouvelle relation » qui ne comporte que les tuples pour lesquels CodeP=H01 SELECTION R2=SELECTION ARTICLE(CodeP=« H01 ») Sélection COMMENT ? UN RESULTAT
« Des besoins d’information » Comment peut-on obtenir la composition des produits à partir de leur code ? Jointure COMPOSER(extrait)INGREDIENT(extrait) Cela revient à regrouper dans une relation les attributs de COMPOSER et de INGREDIENT et à afficher les tuples pour lesquels: COMPOSER.CodeI=INGREDIENT.CodeI R3(extrait) UN RESULTAT COMMENT ? JOINTURE R3=JOINTURE COMPOSER,INGREDIENT(COMPOSER.CodeI=INGREDIENT.CodeI)
« Des besoins d’information » Ces trois opérateurs : PROJECTION : PROJECTION (Attribut1,Attribut2,…) SELECTION : SELECTION (Condition) JOINTURE : JOINTURE ( Rel1.Attribut =Rel2.Attribut,…) nous permettent de définir des scénarios de consultation des données en fonction de nos besoins. Il est possible de les combiner et de construire ainsi des requêtes d’interrogation plus ou moins complexes
« Des besoins d’information » Comment obtenir les références et prix des articles qui contiennent le produit « H01 » ? RESULTAT ? ARTICLE R5 CodeP=« H01 » 1 - Une sélection des tuples pour lesquelles CodeP=« H01 » 2 - Une projection de Référence et prix COMMENT ?
« Des besoins d’information » Comment obtenir le nom du produit et de sa famille qui compose l’article « TAP-01 »? RESULTAT ? COMMENT ? 1 - Une sélection des tuples de la relation ARTICLE pour lesquels Référence=«TAP-01 » 2 - Une jointure entre ARTICLE et PRODUIT avec ARTICLE.CodeP=PRODUIT.CodeP 3 – Une projection de NomP et NomFamille
« Des besoins d’information » Résumons-nous…. Nous avons vu comment il est possible à partir du schéma relationnel défini dans les étapes précédentes, d’obtenir des données satisfaisant à un besoin d’information. Pour cela on utilise trois opérateurs : La PROJECTION La SELECTION La JOINTURE La combinaison de ces opérateurs relationnels permet de définir des scénarios d’interrogation : des REQUÊTES
« Des besoins d’information » Les données susceptibles de répondre à ce besoin d’information ne sont pas forcément disponibles sous une forme adaptées dans le système. Il faut donc disposer de méthodes permettant d’obtenir le résultat attendu. La démarche est la suivante : On formule précisément la forme du résultat attendu à partir du besoin exprimé( BESOIN et RESULTAT). On recherche ensuite à partir de la structure des données existante ( le schéma relationnel) comment on va pouvoir obtenir le résultat ( COMMENT ?). On formalise la solution sous la forme d’une requête
« Des besoins d’information » Besoins d’information s Des méthodes d’interrogation Des requêtes Des opérateurs : Projection, sélection, jointure Monde réel Une abstraction du réel répondant aux besoins de gestion du Moulin des Costières Un choix formalisé d’organisation des données