|
| Débuté par thierrybatlle, 31 oct. 2007 18:01 - 5 réponses |
| |
| | | |
|
| |
| Posté le 31 octobre 2007 - 18:01 |
Bonsoir,
Je souhaite avoir des informations complémentaires concernant la liaison entre tables. Par exemple j'ai une table T_client et une table T_commande. Dans la table T_commande j'ai l'ID de la table T_client. Je crée un lien entre les deux tables.
Car si je fais une requete SELECT toute simple sur ma table T_commande il va m'afficher toutes les données avec non pas le nom du client mais l'ID de celui-ci.
Quel est l'intérêt de les lier?
Merci à tous. |
| |
| |
| | | |
|
| | |
| |
| Posté le 31 octobre 2007 - 18:42 |
Bonjour, Dans une base, il faut éviter d'avoir la même information à plusieurs endroits. Donc dans ton cas, il ne faut pas avoir les données du client dans la table client, dans la table commande, dans la table livraison... Donc on créé un lien entre la commande et le client. Si à partir de la commande, tu veux avoir les infos du client, une simple jointure te permet de les récupérer. Une autre utilisation des jointure est de maintenir l'intégrité de la base. Exemple: Entete_commande, avec l'ID de la commande Ligne commande, IdLigne et IdCommande (clé rapportée). Avec cette configuration, tu ne peux pas avoir de ligne de commande sans l'entête associé. Dans ton cas, avec un lien entre le client et la commande, tu ne peux pas créer de commande pour un client inexistant. Selon la règle de suppression que tu indiques dans le lien, si tu supprimes une entête de commande: On delete cascade => les lignes sont automatiquement supprimées On delete restrict => la suppression de l'entête échoue si des lignes correspondantes existent Dans ma base, j'utilise les deux, en fonction des besoins.
Frédéric. |
| |
| |
| | | |
|
| | |
| |
| Posté le 02 novembre 2007 - 00:33 |
| Une suggestion : lire un bon bouquin sur l'analyse Merise ... |
| |
| |
| | | |
|
| | |
| |
| Posté le 02 novembre 2007 - 12:03 |
bonjour en même temps il peut connaitre merise et ne pas vouloir lié ces tables.
et faire un mcd cohérent avec Merise. et vouloir faire les controles, modifs, suppression à la main. (d'ailleurs certains travaillent sans analyse donc sans liaison.)
sinon, en effet, revoir les concepts de base serait nécessaire. |
| |
| |
| | | |
|
| | |
| |
| Posté le 02 novembre 2007 - 12:46 |
Heu et pourquoi il afficherai plus le nom que, je ne sais pas, l'adresse ou le N° de téléphone. Dans ta requête il faudra bien entendu préciser ce que tu veux voir affiché. sanscompter que tu pourrai vouloir voir le nom, l'adresse complète, avec le code postal et le nom de la ville dans la table relié ad'hoc, et le numéro de téléphone... Mais il faudra toujour un pe programmer quand même...
Cordialement E. Despont
"Thierry BATLLE" <thierrybatlle@ifrance.com> a écrit dans le message de news: 4728a569$1@news.pcsoft.fr...
Bonsoir,
Je souhaite avoir des informations complémentaires concernant la liaison entre tables. Par exemple j'ai une table T_client et une table T_commande. Dans la table T_commande j'ai l'ID de la table T_client. Je crée un lien entre les deux tables.
Car si je fais une requete SELECT toute simple sur ma table T_commande il va m'afficher toutes les données avec non pas le nom du client mais l'ID de celui-ci.
Quel est l'intérêt de les lier?
Merci à tous.
|
| |
| |
| | | |
|
| | |
| |
| Posté le 02 novembre 2007 - 13:14 |
>en même temps il peut connaitre merise et ne pas vouloir lié ces tables. Vu la question d'origine, j'en doute fortement.
et vouloir faire les controles, modifs, suppression à la main. Celà me parait risqué, et pourquoi donc écarter un méchanisme qui aide fortement à garder une base intègre, et qui simplifie/accélère les suppressions de données ?
>(d'ailleurs certains travaillent sans analyse donc sans liaison.) Perso je travaille sans analyse, mais dans la base j'ai bien des liaisons entre les tables (toutes les clés étrangères sont bien déclarées). D'ailleurs je n'ai jamais étudié Merise, mais peut-être que j'en fais sans le savoir...
Frédéric. |
| |
| |
| | | |
|
| | | | |
| | |
|