Bonjour,
je dois créer une base de donnée avec des clients et des fournisseur,
je dois créer une table de liaison? comment?
dois-je utiliser des clef etrangéres?
Je trouve pas de tuto la dessus quelqu'un peut m'aider?
Corentin
Bonjour,
je dois créer une base de donnée avec des clients et des fournisseur,
je dois créer une table de liaison? comment?
dois-je utiliser des clef etrangéres?
Je trouve pas de tuto la dessus quelqu'un peut m'aider?
Corentin
une table de liaison c'est conceptuel.
dans ton cas ca sera juste un table qui associe un id de chacune des deux autres tables.
concernant les clefs etrangères, ce n'est déjà possible qu'avec des bases Innodb, et ce n'est pas essentiel.
Quelle liaison vas-tu faire entre les clients et les fournisseurs ?
Le fait que ce sont des entreprises de types différents ?
Sinon, contrairement à sabotage, je recommande fortement l'usage des clés étrangères si tu ne veux pas une base qui risque d'avoir des données pourries un jour ou l'autre.
Voir à ce sujet l'article (un peu sec parfois) de SQLPro
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Les arguments de cet article sont surtout vrais pour de grosses structures.
Ce que je voulais surtout dire c'est qu'une application peut vivre sans contraintes de clefs ; concernant la sanité de la base, elle serait la même sans contraintes qu'avec des contraintes mal définies.
Et pour Mysql, il y a un choix à faire entre Innodb et Myisam. Exiger des contraintes c'est mettre Myisam a la poubelle, ce qui serait peut etre un peu hatif.
On peut de toute facon commencer sans contraintes de clef et les ajouter plus tard quand on est plus à l'aise.
donc effectivement tout marche bien avec un simple table de liaison !
une question en rab (peut etre aurais je du ouvrir un autre post)
j'ai une table de liaison
IDA IDB
1 - 1
1 - 2
1 - 7
je veux tester en php si une valeure est comprise dans IDB pour un IDA donné
dois je faire un truc du genre
$Valeur_A_tester=3;
$i=0;
$sql="Select `IDB `from table where `idA` = 1";
while ($row=mysql_fetch_array(mysql_query($sql,$this->link), MYSQL_NUM));
{$a[$i]=$row[]; $i++}
if(in_array($Valeur_A_tester,$a) echo "c'est dedans";
Ou y t'il plus elegant?
Ne prenez pas la mauvaise habitude d'appeler vos objets de base de données par des mots du langage SQL (ici la table appelée 'table') !
Pour votre question, il suffit d'ajouter la valeur à tester à la condition WHERE.
Un COUNT(*) donnera directement le nombre de lignes répondant à la condition.
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 $valeur_de_A = 1; $valeur_de_B = 3; $requete = " SELECT COUNT(*) FROM laTable WHERE IDA = $valeur_de_A AND IDB = $valeur_de_B "; $reponse = mysql_query($requete); $nb_lignes = mysql_num_rows($reponse); if($nb_lignes > 0) { echo "Valeur IDB = $valeur_de_B trouvée !"; } else { echo "Valeur IDB = $valeur_de_B absente !"; }
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Partager