Lien identifiant [SQL][MCD] - SQL/NoSQL - Programmation
Marsh Posté le 19-08-2005 à 20:01:15
Dans la table des lots, il faut un champ camion_id (quand j'écris la réponse, je ne vois plus le dessin, et je ne me souviens plus du nom exact des champs). Par contre dans la table des camions, on ne peut pas mettre un champ lot_id, parce qu'il peut uy avoir plusieurs lots par camion.
Puis la recherche des infos sur un lot se fait par exemple avec
|
Marsh Posté le 19-08-2005 à 20:20:45
Merci bien ! ^^
Euh..., l'id camion je le met aussi en clé primaire (sous phpmy admin) ?
oui oui, demain je vais m'acheter un manuel SQL
Marsh Posté le 19-08-2005 à 20:43:08
Non, l'id camion dans la table Lot, est ce que l'on appelle une clef externe (foreign key ou FK in English), et on ne l'a met pas en clef primaire (PK dans les bouquins anglais).
Marsh Posté le 19-08-2005 à 21:05:11
Euh, alors dans ce cas, ce n'est pas ce qui est qualifié en analyse par un lien identifiant, amsi ça se tranforme alors en relation de type N,M.
Dans mon exemple, si il s'agissait d'une relation N,M, le camion numéro 654 livrerait les lots 1, 2 et 3, le camion numéro 987 les lots 4,5,6, mais 2 lots ne pourraient pas avoir le même numéro.
Dans les relations où il y a un lien identifiant, ici du coté des lots, un lot sera identifié par IdLot, mais aussi par l'Id_Camion, c'est a dire :
Le camion 321 auraient des lots notés 1,2 et 3, respectivement identifiés donc par 321 1, 321 2, 321 3, et le camion 987 aurait des lots numérotés aussi 1 2 et 3, mais cette fois identifiés respectivement par 987 1, 987 2 et 987 3.
Je sais que c'est pas super clair, mais c'est des concepts d'analyse, et on ne m'a pas franchement appris (ou j'ai du secher trop de cours) à passer de l'analyse à la BD.
Marsh Posté le 19-08-2005 à 21:10:18
Une relation N,M, ou plus exactement N:M (c'est-à-dire 0,n d'un côté, et 0,m de l'autre côté) se produirait si un lot, par exemple le lot 2, pouvait être associé au camion 1 et au camion 5. Mais, j'ai considéré que le id_lot était comme un code barres, qu'il était unique pour chaque lot, d'une manière globale, mais j'ai peut-être mal compris.
Marsh Posté le 19-08-2005 à 21:15:01
C'est moi qui me suis mal exprimée
Donc en clair : pour chaque camion, la numérotation des lots est la même, de 1 à n lots.
Mais pour identifier les lots individuellement, on a besoin du numéro de camion.
En fait je me lance dans le php/mysql, et je voulais que dans la programmation d'un forum, pour chaque topic(camion), on ai des posts(lots).
Mais je crois qu'au final je vais alisser tomber le lien identifiant qui ne sert à rien
Merci pour ton aide en tous cas Je secherai plus les CM de BD
Marsh Posté le 19-08-2005 à 19:24:18
Voila mon problème : je ne sais pas traduire en SQL les liens identifiants qui existent en analyse dans les MCD, afin de construire la base de données.
J'ai eu l'idée de générer ma base de donnée a partir d'un MCD crée avec AnalyseSI, mais sans succès (je n'ai pas trouvé comment créer un lien identifiant).
Par exemple, chaque camion effectue des livraisons de Lot, et un Lot est identifié par son numéro, complété par l'IdCamion du camion l'ayant livré, et ce afin de faire un economie sur les IdLot.
Un âme charitable pourrait-elle me donner la requête de création et d'interrogation en SQL ? (oui je sais, je suis handicapée en SQL, mais je débute seulement ^^)
Marchi bien !