Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

external key => faut pas en abuser

5 réponses
Avatar
Etienne SOBOLE
Salut.

Je viens juste de me poser une question qui me semble pertinente...
Il m'arrive souvent de faire des caddies! Donc j'ai une base avec des
produits.

J'ai une table commande et une table produitcom
qui permet de relier les produits à ma commande. Cette table a biensur des
clé extern vers commande et produit.

Me voila donc avec 3 tables
produit, commande et produitcom...

La question est la suivante : A quoi peut bien me servir la table
produitcom. Parce que en fait, je vois bien pourquoi elle m'emmerde tout le
temps:
- Suppression d'un produit impossible pour peu que le produit soit dans une
commande.
- Mise à jours des libellés des produit (moyennement utile : a quoi sert de
mettre les libéllés de la commande à jour)
- Mise à jour des prix (alors la c'est encore pire).

Bref c'est quoi les avantages de procéder comme ca?
Serai-je un abuti?

Etienne

5 réponses

Avatar
Manu Pavy
Etienne SOBOLE a fait part de :

Salut.

Je viens juste de me poser une question qui me semble pertinente...
Il m'arrive souvent de faire des caddies! Donc j'ai une base avec des
produits.

J'ai une table commande et une table produitcom
qui permet de relier les produits à ma commande. Cette table a biensu r des
clé extern vers commande et produit.

Me voila donc avec 3 tables
produit, commande et produitcom...

La question est la suivante : A quoi peut bien me servir la table
produitcom. Parce que en fait, je vois bien pourquoi elle m'emmerde tou t le
temps:
- Suppression d'un produit impossible pour peu que le produit soit dans une
commande.
- Mise à jours des libellés des produit (moyennement utile : a quoi sert de
mettre les libéllés de la commande à jour)
- Mise à jour des prix (alors la c'est encore pire).

Bref c'est quoi les avantages de procéder comme ca?
Serai-je un abuti?

Etienne




?

Entre ta table produit et ta table commande, tu as une relation n..n
donc en relationnel, tu introduis une table supplémentaire.
Ou alors j'ai pas compris le pb.

Manu
Avatar
Lionel
Etienne SOBOLE wrote:
Bref c'est quoi les avantages de procéder comme ca?



Dans ton cas, peut etre qu'il n'est pas utile d'utiliser une foreign key.
Une redondance de certaines données serait peut etre plus appropriée (prix,
libellé....) sans lien avec la table produits.
Avatar
Spontex
Etienne SOBOLE wrote:

La question est la suivante : A quoi peut bien me servir la table
produitcom. Parce que en fait, je vois bien pourquoi elle m'emmerde tout le
temps:
- Suppression d'un produit impossible pour peu que le produit soit dans une
commande.
- Mise à jours des libellés des produit (moyennement utile : a quoi sert de
mettre les libéllés de la commande à jour)
- Mise à jour des prix (alors la c'est encore pire).

Bref c'est quoi les avantages de procéder comme ca?
Serai-je un abuti?



Non.
Peut-être que dans la table produitcom il ne faut plus, comme tu le
suggères, faire de référence aux produits.
Une copie, avec leur référence, prix, description au moment de l'achat
serait plus juste.

--
Spontex
http://dvdtoile.com
Avatar
Etienne SOBOLE
"Lionel" <SPAMcoollATfreePOINTfr> a écrit dans le message de news:
416f9763$0$533$
Etienne SOBOLE wrote:
Bref c'est quoi les avantages de procéder comme ca?



Dans ton cas, peut etre qu'il n'est pas utile d'utiliser une foreign key.
Une redondance de certaines données serait peut etre plus appropriée
(prix,
libellé....) sans lien avec la table produits.



pour etre exact, j'ai pas tout dis tout a l'heure:
- effectivement, je duplique le pric dans la table produitcom (pour règler
le problem de variation du prix)
- par contre je ne copie pas le libéllé car il ne sert pas vraiment (sauf en
cas de réédition de la commande)
- j'utilise un champ actif (qui me dis en gros si le produit existe ou s'il
n'existe pas) sous entendu que je ne detruit pas l'enregistrement, je le
rend inatif; J'utilie ensuite une vue sur les produit pour etre sur de ne
pas utiliser les produit désactivé.

Bref. mon truc ca marche. (et meme bien)
Ma question n'est pas la.

Elle est plutot de savoir a quoi cela me sert d'avoir fait un truc aussi
compliqué...

Etienne
Avatar
Etienne SOBOLE
Peut-être que dans la table produitcom il ne faut plus, comme tu le
suggères, faire de référence aux produits.
Une copie, avec leur référence, prix, description au moment de l'achat
serait plus juste.



Moui, si le truc que je fais est inutile effectivement je pourrais
grandement simplifier.
Etienne