Correction exercice Client/Commande

Download (0)

Full text

(1)

1

Correction exercice Client/Commande

(voir cours modèle Entité/Association)

Etape 1 :

Client (Numc, NomC, Adresse) Commande (NumC, DateC) Detail-Cde (NumLigne)

Fournisseur (NumF, NomF, Status) Produit (NumP, NomP, Poids)

Etape 2 :

Fait (NumC-Commande, NumC-Client) Fait [NumC-Client] ⊆ Client [NumC]

Fait [NumC-Commande] ⊆ Commande [NumC]

On a dû renommer l’attribut NumC de même nom dans les deux TEs Client et Commande

Contient (NumLigne, NumC)

Contient [NumC] ⊆ Commande [NumC]

Contient [NumLigne] ⊆ Detail-Cde [NumLigne]

Concerne (NumLigne, NumP, Qté)

Concerne [NumLigne,] ⊆ Detail-Cde [NumLigne]

Concerne [Nump] ⊆ Produit [Nump]

Fournit (NumF, NumP, Qté)

Fournit [NumF] ⊆ Fournisseur [NumF]

Fournit [NumP] ⊆ Produit [NumP]

Etape 3 : On réduit les clés des relations correspondant au TAs ayant une cardinalité max=1

Fait (NumC-Commande, Num-Client) Contient (NumLigne, NumC)

Concerne (NumLigne, NumP, Qté)

(2)

2

Etape 4 : On fusionne Commande et Fait ayant même clé, pour ne garder que Commande

Commande (NumC-commande, DateC, NumC-Client) Commande [NumC-Client] ⊆ Client [NumC]

//était Commande [NumC] ⊆ Commande [NumC-comande]

On fusionne aussi Detail-Cde avec Contient et Concerne, pour garder Detail-Cde

Detail-Cde (NumLigne, NumC, NumP, Qté) et on adapte les inclusions Detail-Cde [NumC] ⊆ Commande [NumC]

Detail-Cde [Nump] ⊆ Produit [Nump]

Résultat final :

Client (Numc, NomC, Adresse)

Commande (NumC, DateC, NumC-Client)

Commande [NumC-Client] ⊆ Client [NumC]

Detail-Cde (NumLigne, NumC, NumP, Qté) Detail-Cde [NumC] ⊆ Commande [NumC]

Detail-Cde [Nump] ⊆ Produit [Nump]

Fournisseur (NumF, NomF, Status) Produit (NumP, NomP, Poids) Fournit (NumF, NumP, Qté)

Fournit [NumF] ⊆ Fournisseur [NumF]

Fournit [NumP] ⊆ Produit [NumP]

Remarque: En réalité, NumLigne n'est pas identifiant de Detail-Cde.

Sauf si ce numéro ne se répète pas d'une commande à l'autre. Ce qui n'est pas le cas en pratique.

Idée, rajouter NumC (de Commande) dans la clé de Detail-Cde.

(3)

3

Detail-Cde (NumLigne, NumC, NumP, Qté)

En fait, dans le modèle entité/association initial, ce cas est pris en compte en considérant Detail-Cde comme une TE faible (vs. TE régulier).

On dit aussi dépendance existence. Une ligne commande n'existe pas sans la commande dans laquelle elle figure.

L’identifiant d’un tel TE Detail-Cde est alors la combinaison (NumLigne, NumC) formée de l’identifiant du TE faible et du TE régulier duquel il dépend.

Figure

Updating...

References

Related subjects :