begin process at 2012 05 28 21:13:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Bases de données

 > 

foreign key comme la declare dans mysql????


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

foreign key comme la declare dans mysql????

mardi 7 février 2006 à 16:48:58 | foreign key comme la declare dans mysql????

twixster

Bonjour

voila je fais deux table, tout les info sur un groupe, une autre avec leur cd, titre, ...



table info : idgroupe(PK),
nom,
date de debut,
...

table cd : idcd(PK),
nom cd,
nbr chansons,
idgroupe(FK)



PK = primary key
FK= foreign key

Voila en fait je voudrai savoir comment je defini ma faoreigne key? quand je cree ma base, je fais un champ idgroupe dans ma table cd?

merci pour votre aide
mardi 7 février 2006 à 16:56:17 | Re : foreign key comme la declare dans mysql????

sidf

moi je mettrais l'id groupe dans la cle des cd
pas de cd sans groupe ou interprète


table cd :
idgroupe(PK) ,
idcd(PK),
nom cd,
nbr chansons,

mais ce n'est peut etre pas ce que tu veux faire !!
mardi 7 février 2006 à 17:05:10 | Re : foreign key comme la declare dans mysql????

twixster

je voudrai savoir dans mysql comment je declare mon champ quand ces une foreign key? comment peut il le savoir?

si je creer ma table manuellement : create table ... a la fin je sais qu'on fait foreign key (...) REFERENCES ...;


mais si on la creer dans mysql je vois pas comment on peut faire :(

ou alors je creer ma table une premiere fois, je l'extrait, et je la recrer manuellement en rajoutant foreign key ..

c'est peut etre le plus simple a moins que quelqu'un voit autre chose

mardi 7 février 2006 à 17:05:19 | Re : foreign key comme la declare dans mysql????

malalam

Administrateur CodeS-SourceS
Hello,

oui c'est ça. Si tu veux des contraintes dessus, vas voir la doc, c'est possible aussi.
mardi 7 février 2006 à 17:10:09 | Re : foreign key comme la declare dans mysql????

J_G

Salut,

Cela dépend de ta base de donnée (MyISAM, innoDB, ...)
Mais le plus simple : tu déclares ta clef comme une donnée normale (entier positif non null)

Avec certaine bases tu peux définir des fonctions internes qui s'occupe de faire les correspondances entre les tables liées par une cléf étrangère.

Mais en règle générale, la notion de FK est plus souvent une indication de la structure de la base (donc écrite sur le papier/cahier des charges) qu'un code informatique (les fameuses fonctions sus-mentionnées).


Par contre, je ne confirme pas la proposition de sidf. Garde ta possiblité d'avoir plusieurs CD pour un même groupe... Par contre, qu'arrivera t-il si un CD est une compile de plusieur groupes ?!? (aie, aie, aie, ...)

A+
mardi 7 février 2006 à 17:19:37 | Re : foreign key comme la declare dans mysql????

malalam

Administrateur CodeS-SourceS
Heu par contre oui, je n'avais pas du tout réflêchi à la structure, et J_G a raison : ta structure est mauvaise, mais uniquement dans le dernier cas qu'il cite : 1 cxd avec plusieurs groupes.
Parce que si on a 1 groupe => 1, n cd, la structure est ok.
On ne va pas sortir une table de jointure dans ce cas ?

tbl_groupes :
grp_id
grp_nom
etc...

tbl_cd:
cd_id
cd_nom
grp_id

ca ne gène pas.
Mais en effet, si on a 1,n groupes => 1,n cd, dans ce cas:
tbl_groupes :
grp_id
grp_nom
...

tbl_cd:
cd_nom
cd_id
...

tbl_cdgrp
cd_id
grp_id


mardi 7 février 2006 à 17:25:33 | Re : foreign key comme la declare dans mysql????

twixster

une dernier stupide question :$

ma foreigne key je la faits de ma table cd vers ma table groupe?

et quand je veux recuperer des donnee des deux table, je fais la condition where tablecd.idcd=tablegroupe.idcd;


je doit faire  ca comme ca???

merci
mardi 7 février 2006 à 17:31:31 | Re : foreign key comme la declare dans mysql????

sidf

pour J_G 
je dis une bêtise là ?

table cd :
idgroupe(PK) ,
idcd(PK),
nom cd,
nbr chansons,

il ya autant de cd qu'on veut pour un groupe non ?
mardi 7 février 2006 à 17:34:43 | Re : foreign key comme la declare dans mysql????

malalam

Administrateur CodeS-SourceS
twixter => ouaip.

SELECT
grp.grp_nom, cd.cd_nom
FROM
groupes grp, cd cd
WHERE
grp.grp_id = cd.grp_id   AND
grp.grp_id = 3

Par exemple.
mardi 7 février 2006 à 17:38:56 | Re : foreign key comme la declare dans mysql????

malalam

Administrateur CodeS-SourceS
Mais n'oublions pas la remarque de J_G concerant LE cd contenant les titres de différents groupes...tu ne peux pas le gérer avec cette structure, hein.

1 2

Cette discussion est classée dans : table, cd, key, foreign, idgroupe


Répondre à ce message

Sujets en rapport avec ce message

pb création table [ par chamallow ] Bonjour,j'essaye de recréer ma base de données, mais je n'arrive plus à créer certaines tables. Je ne comprend pas d'où vient l'erreur.Voici par exemp FOREIGN KEY ET LES TABLES INNODB (Errcode: 150) [ par BRAUKRIS ] KrisImpossible de mettre deux cles etrangeres dans mes creation de tables, avec une cle ca marche avec deux non. Exemple : CREATE TABLE RESERVATION ( Foreign Key, liste déroulante... Gros défis [ par Florynth ] Bonjour à tous, normalement je me débrouille pas mal seul, et quand je suis mal pris je demandes votre aide...Je fais un CMS qui utilise une base de d Foreign Key [ par zanis ] Etant connecté à une base de données MySQL à trvers un bout de code en Java Comment on peut retrouver les clés étrangères relatifs aux tables de la Problème compréhension remplissage des tables [ par aforpien ] Bonjour à tous,Je travail actuellement sur la création d'un utilitaire qui permettrai de stocker des familles ainsi que des professions, puis de pouvo Problème d'insertion des champs d'un formulaire dans une table [ par NounoursExia ] Bonjour, j'ai un problème dans mon code. Je souhaite afficher à l'écran de l'utilisateur un formulaire qui affiche des informations. Ces infos sont dé PHP : INSERT Table [ par bm1982 ] Bonsoir à tous , J'ai lu une superbe methode permettant de recuperer tous les éléments envoyés par un formulaire par POST... foreach($_POST as $key = foreign key [ par thethunder ] Bonjour Je suis un débutant. Je veux créer la relation entre deux tables (foreign key). Mais, je n'ai pas trouvé cette option. J'ai cherché sur inte La commande FOREIGN KEY dans EasyPHP. [ par BRAUKRIS ] KrisLa commande FOREIGN KEY existe-elle sous la base de donnée EasyPHP?Si non, comment gérer les contrainte d'intégrité referencielle?MERCI D'avance.. vos besoin svp [ par falah19992 ] bonjour, svp, est ce que l code suivant est logique puisqu'il ya 2 requêtes à éxecuter, la deuxième a besoin du resultat du deuxieme, lorsque j fais d


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,569 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales