Pouvez-vous autoriser NULL pour les clés étrangères MySQL ?
Dans MySQL, un défi courant se pose lors de la définition de contraintes de clé étrangère tout en autorisant les valeurs NULL dans certains scénarios. Cette question approfondit ce problème précis dans le contexte d'un schéma de base de données pour un site Web d'images.
La conception originale de la base de données comprend trois tables : tblImages, tblImageFlags et luResolutionTypes. tblImageFlags inclut une colonne résolutionTypeID, qui fait référence à une table de recherche luResolutionTypes. Cependant, lors de la création initiale d'un indicateur, le type de résolution est indéterminé, ce qui nécessite l'utilisation de NULL.
Autoriser NULL dans la colonne de clé étrangère
Pour résoudre ce problème, le La solution consiste à autoriser les valeurs NULL dans la colonne de clé étrangère, tblImageFlags.resolutionTypeID. En modifiant la définition de la colonne pour autoriser NULL, la base de données permet la création d'indicateurs sans spécifier de type de résolution. Une fois qu'une résolution est déterminée, elle peut être mise à jour sans violer la contrainte de clé étrangère.
Le singulier contre le pluriel de l'index
La question soulève également l'éternelle débat sur le pluriel du terme « index » dans le contexte des bases de données. Selon les experts linguistiques et les guides de style tels que « Modern American Usage », le pluriel de « index » devrait être « index » et non « indices ».
Conclusion
En autorisant les valeurs NULL dans la colonne de clé étrangère, MySQL offre une flexibilité dans la conception de la base de données tout en préservant l'intégrité des données. Quant au pluriel de « index », « index » est le terme préféré à utiliser dans les contextes de bases de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!