2010-01-11 4 views
3

Je veux poser une petite question ici, mais je ne sais vraiment pas quelle est la réponse à cette question.pourquoi nous utilisons une colonne ID dans la table si nous avons une valeur unique

i ont une table de comptes qui a

Nom d'utilisateur | Mot de passe

le nom d'utilisateur est une clé primaire unique, de sorte que son

est donc nécessaire de mettre une colonne d'ID à la table? Si oui, quel est l'avantage de cela?

Merci

+3

Cette touche s'appelle une clé de substitution. Par exemple, il vous isole des modifications apportées au nom d'utilisateur, où le nom d'utilisateur est référencé en tant que clé étrangère. –

Répondre

2

Recherche par une touche numérique est légèrement plus rapide (varie d'un DB à l'autre). En outre, si vous avez beaucoup de références à la table utilisateur, vous enregistrez l'espace de base de données en ayant l'ID numérique comme clé étrangère, par opposition à un nom de chaîne.

+0

Je n'ai aucune autre table liée donc il n'y a pas de relation primaire - étrangère. J'utilise MYSQL – trrrrrrm

+0

Aucun? Vous ne notez même pas ce que font ces utilisateurs? – cgp

2

Cela rendra tout le reste plus facile, principalement les relations de clés étrangères provenant d'autres tables. Et cela vous permet de changer le nom d'utilisateur si vous le souhaitez - les clés primaires ne sont pas faciles à changer.

+0

mais mon projet ne permet pas à l'utilisateur de changer son nom d'utilisateur – trrrrrrm

+0

@ From.Me.to.YOU: Soyez assuré que dans un projet suffisamment important, il est probable que vous deviez changer le nom d'utilisateur de quelqu'un à un moment donné. Exemple: Si le nom d'utilisateur est généré à partir de leur vrai nom, une faute de frappe est entrée dans leur nom. –

+0

Ou quand les gens se marient. –

0
  • plus rapide dans les index
  • Consomme lorsqu'il est utilisé comme clé étrangère
  • moins d'espace disque (et est encore plus rapide) Et, comme mentionné plusieurs fois, vous pouvez modifier le nom d'utilisateur sans modifier une foule de autres tables.
Questions connexes