2016-08-16 2 views
-1

Ich versuche, eine Tabelle Inspection_tbl mit einer Spalte ApprovedBy oder Personnel_ID (FK), die die Personnel_tbl verweist erstellen. Die Tabelle hat auch eine andere Spalte InspectedBy oder Personnel_ID (FK), die sich auch auf die Personnel_tbl bezieht.Verwendung der gleichen FK zweimal auf der gleichen Tabelle

Ist die gleiche Tabelle zweimal referenziert (Personnel_tbl) von einer Tabelle (Inspection_tbl) nicht erlaubt, da ich die gleiche Spalte haben werde (Personnel_ID (FK))?

Ich bin sehr neu in SQL und ich bin gern eine Lösung akzeptieren, um dieses Problem .. Vielen Dank Adresse ...

+2

Soweit ich weiß, sollte es kein Problem geben, solange die beiden Fremdschlüsselfelder unterschiedlich benannt sind. Es gibt kein Problem beim Verweisen auf die gleiche Tabelle in zwei verschiedenen Fremdschlüsselbeschränkungen. Stellen Sie nur sicher, dass die Felder und Einschränkungen unterschiedliche Namen haben. –

+1

Ja, der Name einer Fremdschlüsselspalte kann sich vom Namen der referenzierten Primärschlüsselspalte unterscheiden. –

+0

Haben Sie es versucht? Es wäre schneller, als auf Stack Overflow zu posten. – Blorgbeard

Antwort

0

Wird auf die gleiche Tabelle zweimal (Personnel_tbl) aus einer Tabelle (Inspection_tbl) nicht

erlaubt

die Art und Weise zu denken, dies zu wissen, was die FK Beziehung bedeutet zu denken ist. Ein Fremdschlüssel definiert eine Domäne: A references T(B) bedeutet, dass A in B erscheinen muss. Wenn dies nicht der Fall ist, ist es nicht vom Typ - d. H. Nicht von der Domäne - der B definiert.

Gibt es eine Regel, die besagt, dass 2 Spalten in einer Tabelle nicht dieselbe Domäne haben können? Da ist nicht. Normalisierung ist orthogonal zu Typen.

Sie sagen, ApprovedBy und InspectedBy sind beide auf die durch Personnel_tbl.Personnel_ID definierte Domäne beschränkt. Wenn Sie das meinen, sind Sie in guter Verfassung. :-)

Verwandte Themen