2016-11-02 3 views
0

Je travaille donc sur un code MVC avec plusieurs tables SQL. Le premier contient des informations de base pour une personne {UID,FNAME,LNAME,DOB,GENDER} et les autres contiennent des données telles que {BOOL1,BOOL2,BOOL3}. J'utilise des tables différentes car certaines données peuvent ne pas être mises à jour aussi fréquemment que d'autres, et je souhaite que ces données soient séparées. Est-il acceptable d'utiliser le PK de la première table comme PK des autres? Et comment pourrais-je accomplir cela sans le problème de l'insertion d'une identité?Utiliser PK d'une table comme PK pour un autre

Répondre

1

Cela dépend du scénario -

  1. Une table est le maître et l'autre table est un type de la première: dans ce cas, la première table PK est FK pour le second. vous pouvez toujours rendre ce champ unique et l'utiliser également pour l'index clusterisé si cela a du sens.
  2. Deux tables ont différents types d'objets mais doivent utiliser un ID exclusif partagé: dans ce cas, vous pouvez utiliser une séquence pour Id pour les rendre uniques.
+0

Oui, les deux tables sont des types de données différents. Comment pourrais-je faire une séquence pour l'identifiant? –

+0

Regardez ici - http://stackoverflow.com/questions/10991894/auto-increment-primary-key-in-sql-server-management-studio-2012 –

+0

Ok, une valeur auto-incrémentée. Comment pourrais-je m'assurer que les ID des deux tables étaient les mêmes? Créez-les en même temps, puis enregistrez les modifications dans la base de données à la fois? –