2017-03-16 2 views
0

Ich versuche, wenn die Primär-/Fremdschlüssel zu sehen 2012.MS SQL Server 2012 Auto-Increment & Primär-/Fremdschlüssel

Wenn ich zwei tables in der folgenden Art und Weise in MS SQL Server verwendet werden mit Arbeitgeberinformationen und einer mit Personalvermittlerinformationen.

Wenn ein beliebiger Arbeitgeber bis zu 5 Recruiter-Accounts haben kann, wird in meiner Tabelle jedes Mal ein neues Recruiter-Konto mit der PK-ID des Arbeitgebers in einer entsprechenden Spalte in der Recruiters-Tabelle angelegt und ein entsprechendes Feld in der Recruiting-Tabelle angezeigt Dies hat eine Anzahl von Recruiterkonten, die in der Recruiter-Tabelle vorhanden sind.

So

Arbeitgeber Tabelle = A

EmployerID int Unchecked 
UserID int Checked 
AccountStatus varchar(50) Checked 
CompanyName varchar(150) Checked 
JobsPosted int Checked 
ResumeViews int Checked 
ResumeFavorites int Checked 
Recruiters int Checked 

Recruiters Table = B

RecruiterID int Unchecked 
EmployerID int Checked 
UserID int Checked 
AccountStatus varchar(50) Checked 
JobsPosted int Checked 
ResumeViews int Checked 
ResumeFavorites int Checked 

Für jeden Recruiter, die den Wert in der Tabelle A des Recruiters Feld in Tabelle B Autoinkrement existiert.

Ist das richtige Verwendung von Primär/Fremdschlüssel? Oder sollte ich TSQL verwenden, um dies zu erreichen?

Antwort

1

Ich denke, dass Sie den Punkt der Normalisierung Ihrer Datenbank vermissen.

Lassen Sie Ihre Arbeitgeberdaten in den Employee und Recruiter Daten im Recruiter und einer EmployerRecruiterAccount Tabelle, wo 1 Arbeitgeber 5 Recruiter haben kann.

Ihr EmployerRecruiterAccount wird EmployeeID und RecruiterID als Fremdschlüssel haben.

+0

also PK & FK Beziehungen sind einfach so 1 muss nicht in meinem Beispiel "EmployerID" in beiden Tabellen wiederholen? – UserSN

+0

EMPID und RecruiterID werden in Ihrem EmployerRecruiterTable wiederholt und von einem Autoinkrement-Primärschlüssel gesteuert. – maSTAShuFu

+0

EMPloyerTable wird EMPID nicht wiederholen, RecruiterTable wird RecruiterID nicht wiederholen, dies sind PKs. – maSTAShuFu