Je conçois de la base de données et je suis curieux de faire une case à cocher obligatoire dans MySQL Workbench signifie que ce champ devrait être nul ou à ce qui est obligatoire dans cette situation se référer? P>
Plus tard si nécessaire, je comprendrai une image de ce tableau dans lequel cette question s'est produite. P>
Chars de l'aide pour l'aide. P>
UPD: strong> Si je me trompe, quelqu'un s'il vous plaît aider. Réservoirs à nouveau. P>
Je dois dire qu'après avoir généré des modèles SQL et j'ai regardé les deux tables, je n'ai rien vu différent. Je commence à penser que cette option obligatoire ne s'affiche que visuellement, mais de manière fonctionnelle, cela ne signifie rien. P>
3 Réponses :
Très probablement, cela signifie que la valeur de champ ne peut pas être null code>. Je dis très probablement parce que je ne trouve pas le mot "obligatoire" nulle part dans MySQL Workbench ici. P>
Lorsque vous créez une relation et double-cliquez dessus, vous pouvez le trouver dans la deuxième onglet. Peut-être que ce serait plus clair.
Je suis arrivé à une conclusion qu'il s'agit simplement d'un effet visuel à montrer que la relation est obligatoire. Cette option n'affecte pas le code SQL généré de toute façon. P>
exactement! Après des heures de confusion, j'ai atteint le même argument. MySQL elle-même, soutenait ce concept du tout?
Vous n'êtes pas correct si vous définissez la table référencée comme obligatoire, l'ID de référencement est défini sur NN (pas NULL).
OK, je l'ai trouvé. p>
Disons que vous avez une table appelée utilisateur em> adresse em> Vous avez donc une clé étrangère dans code> adresse code> pour l'utilisateur Le truc est, la case à cocher obligatoire sur la "table de référencement" -Sside est uniquement destinée aux effets visuels, à l'opposé de la case à cocher de la "table référencée" -Sside permet au champ nullable ou non. p>
Si obligatoire, l'adresse de champ-user_id ne pourrait jamais être null. Si ce n'est pas obligatoire, le champ peut être nul pour une rangée de données et aucune contrainte ne sera affectée. P> utilisateur code> et une seconde appelée
adresse code> et vous souhaitez faire une relation entre eux. L'exemple pourrait ressembler à ceci: p>
id
nom
p>
id
user_id
rue
p>
blockQuote>
code>. Si vous faites cette relation, tous les champs sont obligatoires, donc
user_id code> est un champ de clé primaire qu'il n'est pas null, et
adresse code> -
ID code> est même La même chose, mais qu'est-ce que
adresse code> -
user_id code>? Est-ce vraiment une partie de la clé primaire dans
adresse code>? Non, cela ne vous aide pas à identifier une ligne dans cette table. Donc l'adresse
code> -
user_id code> pourrait être null, vous n'avez peut-être qu'un
adresse code> ou le tableau
adresse code> est même référencé. par une compagnie de table. p>
"Effets visuels" C'est une véritable façon de dire que MySQL Workbench est vraiment suce ici. Après des heures de googling, j'ai trouvé cette bande de roulement. Devrais-je aussi dire que toutes les relations "obligatoires" à une seule ou à une ou plusieurs relations WBNCH (pour ... HMM ... "Effets visuels") sont en fait un à deux zéro-ou-plusieurs? Il n'y a pas de mécanisme dans les RDBMS pour faire respecter un parent d'avoir au moins un enfant. Merci pour ce fil, les gars ...
... Créez une base de données du modèle et voyez par vous-même?
C'est en fait une bonne idée. Va essayer ça.