toutes mes tables ont un champ Id
de quelque type (UserId, PostId, FooId
, etc). Je fais habituellement ceci une clé primaire .Clé primaire de la base de données -> Un champ d'identité ET un champ de nom?
Une table que j'ai est appelée Countries
. Il a
CountryId SMALLINT
Name VARCHAR(100) -- Yes, english country names only, in this column.
AndSomeOtherFields.
Maintenant, je sais que le Name
doit être unique. Tous les noms de pays sont uniques. Est-il bon/mauvais/ru-roh si je fais le PrimaryKey
== CountryId ASC
etName ASC
?
Si c'est bon, quelqu'un peut-il expliquer pourquoi c'est mieux, que le Id
étant le PK? Est-ce juste que cela garantit l'intégrité des données (par exemple, pas deux noms de pays existant dans le tableau). Si c'est mauvais .. pourquoi?
merci bien.
#Dupliquer * http://stackoverflow.com/questions/166750/should-i-have-a-dedicated-primary-key-field * http://stackoverflow.com/questions/695325/should-i -use-natural-identity-columns-without-guid Et c'est juste ceux que j'ai pu voir sur la droite, cette question a été posée plusieurs fois. – cgp