Je suis simplement curieux de savoir comment créer des tables pour maintenir l'intégrité?Comment maintenir l'intégrité?
tblUserProfile
UserId
EyeColorId
HairColorId
RelationShipStatusId
etc.
Chacune de ces valeurs comme EyeColorId a un ensemble de valeurs telles que Brown, Noir, Jaune, Vert. Similaire HairColorId a noir, blond, cramoisi etc et RelationShipStatusId a divorcé, marié, célibataire etc. Devrais-je créer des tables différentes pour chacun d'eux? comme
tblEyeColor
EyeColorId
EyeColorCode
alors: -
tblHairColor
HairColorId
HairColorCode
et aussi continuer à créer des tables? Il y a beaucoup de telles tables (environ 20-25). Si je continue à créer ces tables et à faire des jointures, cela ralentira terriblement mes performances. Comment maintenez-vous tous ce genre de valeurs enum? Devrais-je garder une contrainte de vérification ou dois-je continuer à faire des tableaux?
pas besoin de tables, tous les systèmes RDBMS modernes valant la peine d'utiliser ont la possibilité de mettre des «contraintes de vérification» sur une colonne –
Salut lolli, Vérifiez la contrainte est une bonne idée. Mais imaginez ce qui se passerait si, par exemple, je gardais la contrainte de vérification sur la colonne pour avoir une valeur de {Brown, Black, Hazel}.Disons, maintenant je veux changer la contrainte et en faire {Brown, Black, Yellow}. Cela conduirait à un problème. N'est-ce pas? Par exemple, si la table contient la couleur des yeux avec la valeur Hazel, elle ne me permettra pas de créer de nouvelles contraintes disant que "quelques rangées contiennent du Hazel comme valeur" et cela conduirait à un sérieux problème de maintenance. C'est un cas simple mais je devrai toujours lancer des requêtes de mise à jour. – TCM