ensemble de deux champ de clé primaire
table1
id1 ==> nombre
id2 ==> nombre
id veux id1 contenir uniqe nombre et id2 contenir numéro unique.
comment pouvez définir id1 et id2 primary key
?
OriginalL'auteur ashkufaraz | 2011-11-05
Vous devez vous connecter pour publier un commentaire.
Dans le Concepteur de Table, Sélectionnez les deux lignes, puis cliquez sur le bouton de la Clé Primaire dans la Barre d'outils.
OU, ouvrez le Concepteur de Requêtes, de modifier l'affichage de la Vue de SQL, et tapez le code suivant:
Ensuite, appuyez sur le bouton exécuter. Cela permettra de créer une clé Primaire qui comprend à la fois de ces champs.
Si vous vous posez des questions à propos d'avoir un Auto-incrémentation champ de type entier dans les deux colonnes, vous ne pouvez pas. Vous devez le faire par programmation. L'accès (et la plupart des autres db) ne permettre qu'une seule "numéroauto" champ par table.
Ce n'est probablement pas la meilleure pratique, cependant, car à tout moment, si vous voulez vous joindre à des données de cette table, vous devez définir plusieurs jointures, qui non seulement rend votre SQL look funky, mais aussi, j'imagine, ralentit les performances. Aussi, si vous êtes de la conception de votre base de données correctement, l'utilisateur sera susceptible de ne pas même voir la clé primaire (à moins qu'il représente un nombre significatif pour eux de faire référence plus tard). Dans toutes mes bases de données, donc, je continue chaque table comme un champ qui représente la clé primaire de cette table.
convenu compsit les touches sont un peu de douleur, et il n'y a pas de raison d'utiliser un si elle peut être évitée. Cependant, il y a très valables cas, la "référence" des tableaux, représentant plusieurs-à-plusieurs liens étant juste. Aussi, vous faire le point "à moins qu'il représente un nombre significatif d'entre eux [l'utilisateur]." Je voudrais ajouter que l'utilisation d'un PK qui n'a aucun sens sémantique de l'utilisateur est juste d'avoir de mauvaises nouvelles. Tout ce que dit, seul PK par table est l'idéal, jusqu'à ce qu'il n'est pas 🙂
Il y a des cas, cependant, où un PK serait utile à l'Utilisateur. La pensée de la base de données Northwind comme un exemple, vous pouvez avoir des Clients et des Commandes. Dans ce scénario, les Ordres.Colonne ID est probablement une clé primaire, mais aurait-il un sens pour l'utilisateur final qui peut souhaitez rechercher un ordre spécifique par Numéro de Commande.
OriginalL'auteur XIVSolutions