SGBD modèle E/A

Résolu
Steve17_17 Messages postés 17 Date d'inscription mardi 11 juillet 2023 Statut Membre Dernière intervention 9 mars 2024 - 7 mars 2024 à 14:57
Steve17_17 Messages postés 17 Date d'inscription mardi 11 juillet 2023 Statut Membre Dernière intervention 9 mars 2024 - 9 mars 2024 à 08:41

Bonjour à tous, svp j'aimerais avoir de l'aide sur ce sujet.

Soit le modèle suivant, il décrit une nomenclature de conception des meubles. Un meuble est un ensemble composé de sous-ensembles et de composants divers. Un sous-ensemble est élaboré grâce à un assemblage de composants. Le prix total du meuble est obtenu a partir du prix unitaire des composants qui le constitue auquel on ajoute divers coûts (liés au montage et bénéfice). À partir de ce modèle, il vous est demandé de procéder à du reverse engineering, c'est-à-dire de remonter jusqu'au modèle E/A.

UN(Désignation, Prix_Total, CodeEnsemble)

DEUX(#Code Ensemble, Qté_A, #CodeComposant)

TROIS(Désignation_Cp, CodeComposant, Prix_Unitaire)

QUATRE(#Code Ensemble, #CodeSous Ensemble, Qté_B)

CINQ(CodeSous Ensemble, Désignation, Longueur, Largeur, Hauteur, Prix_Unitaire)

SIX(#CodeSous Ensemble, #CodeComposant)

1) identifier l'erreur (indiquer la ligne) dans ce modèle et justifier .

Je pense que l'erreur est au niveau de la ligne TROIS car l'identifiant codeComposant  devrait être soit en début soit en fin de la table.

2) UN,DEUX,...,SIX représentent quoi dans un SGBD (nom unique) soit le champ CodeEnsemble dans UN, proposez une contrainte associée à ce champ et précisez sa typologie.

Bon pour la première question UN, DEUX.. représentent des Tables

Pour la contrainte associée on prendra la contrainte référentielle de typologie contrainte de valeur

3) En supposant qu'on n'a stocker que les informations d'un seul meuble, écrire la requête SQL pour lister tous les composants constituants le meuble et leur prix.

On écrira: Select CINQ From meuble ;

4) Sachant qu'on souhaite également stocker les informations sur le nombre de composants constituant les sous ensembles. Proposez le modèle E/A correspondant.

(Là je n'ai pas tellement su comment y procéder)
 

1 réponse

BoBot Messages postés 2788 Date d'inscription mardi 4 juillet 2023 Statut Modérateur Dernière intervention 5 mai 2024 184
9 mars 2024 à 08:02
Bonjour !
C'est Bobot, l'IA du forum !
1) L'erreur que vous identifiez sur la ligne TROIS n'en est pas forcément une. La position de l'identifiant (ici CodeComposant) n'a pas d'importance en soi dans le modèle relationnel. Ce qui importe, c'est que chaque enregistrement de la table soit unique. Donc si CodeComposant est bien l'identifiant unique de la table TROIS, sa position n'a pas d'importance. Par contre, il semblerait qu'il y ait une erreur au niveau de la table SIX, car il manque un attribut pour stocker la quantité de chaque composant dans un sous-ensemble.

2) En effet, UN, DEUX, etc. représentent les noms des tables dans un SGBD. Concernant le champ CodeEnsemble dans la table UN, on pourrait lui associer une contrainte d'unicité, pour s'assurer qu'il n'y ait pas deux ensembles ayant le même code. Cette contrainte de valeur est également une contrainte d'intégrité.

3) Votre requête SQL n'est pas correcte car vous devez sélectionner les bons champs et faire les jointures appropriées entre les tables. La requête pourrait être la suivante :
SELECT TROIS.Désignation_Cp, TROIS.Prix_Unitaire
FROM TROIS
INNER JOIN DEUX ON TROIS.CodeComposant = DEUX.#CodeComposant
INNER JOIN UN ON DEUX.#Code Ensemble = UN.CodeEnsemble;
Cette requête joint les tables en utilisant les clefs primaires et étrangères appropriées et sélectionne les champs Désignation_Cp et Prix_Unitaire.

4) Si l’on souhaite stocker les informations sur le nombre de composants constituant les sous ensembles, il faudrait ajouter un attribut "Quantité" à la table SIX (nouveau SIX : #CodeSous Ensemble, #CodeComposant, Quantité). De plus, en utilisant la modélisation Entité/Association, le modèle pourrait ressembler à ceci :
- Entité "Meuble" (CodeEnsemble, Désignation, Prix_Total)
- Entité "Sous-Ensemble" (CodeSous Ensemble, Désignation, Longueur, Largeur, Hauteur, Prix_Unitaire)
- Entité "Composant" (CodeComposant, Désignation_Cp, Prix_Unitaire)
- Association "Est constitué de" entre "Meuble" et "Sous-Ensemble" (CodeEnsemble, CodeSous Ensemble, Qté_A)
- Association "Est composé de" entre "Sous-Ensemble" et "Composant" (CodeSous Ensemble, CodeComposant, Quantité)

0
Steve17_17 Messages postés 17 Date d'inscription mardi 11 juillet 2023 Statut Membre Dernière intervention 9 mars 2024
9 mars 2024 à 08:03

Ahh d'accord, je vois... Grand merci 

0
Steve17_17 Messages postés 17 Date d'inscription mardi 11 juillet 2023 Statut Membre Dernière intervention 9 mars 2024
9 mars 2024 à 08:41

Une question stp, pourquoi au niveau du modèle E/A on n'utilise pas les tables UN, DEUX,..SIX  comme entités

0