Können Sie haben 2 foreign keys und nicht primary key?

Habe ich eine einfache Datenbank und ich mache eine Beziehung zwischen zwei Tabellen. So habe ich diese 3. Tabelle, wo Sie miteinander verbunden sind. Hat die Dritte Tabelle benötigen einen primary key? Denn alles, was ich brauchen, ist die Verknüpfung der beiden Tabellen zusammen, und eine extra Spalte für etwas anderes.

  • Sie müssen einen Primärschlüssel haben, aber die beiden Fremdschlüssel bilden könnten, einen zusammengesetzten Primärschlüssel.
  • Sie in der Regel nicht "müssen einen Primärschlüssel haben" - aber Sie sollten eines haben! (@Lyuben Todorov)
  • Ich bin nicht einverstanden, in der Tat-hier war eine große schöne argument über es. @DRobinson ja, wir haben primary keys es sei denn, wir fallen unter diesen besonderen besonderen Fällen.
  • Es ist englische Semantik. Sie sagen, Sie "sollte" immer, Sie sagen, Sie "müssen". Es ist möglich, nicht eine haben, so dass Sie nicht "müssen".
  • Sie kann nicht garantieren, 1NF, ohne einen primary key, so können Sie eine Tabelle erstellen, aber nicht eine Beziehung.
  • Ja, das ist genau der Grund, warum ich sagte, "Sie sollten" ohne Klauseln - in fast jedem Fall ein Primärschlüssel ist eine gute Sache zu haben. Es ist auch der Grund, warum ich sagte, es war die englische Semantik - ich wurde lediglich darauf hingewiesen, dass es ausdrücklich möglich, auch wenn es nicht eine gute Idee.
  • Fremdschlüssel sind nicht "not NULL" standardmäßig. Durch das hinzufügen einer primary key-Einschränkung auf die beiden FK-Felder, die Sie inhärent verhängen, die einen NICHT-NULL-Beschränkung auf diese (ein PK-element darf nicht NULL sein). Und Sie durchzusetzen, jede Kombination, deren Werte eindeutig sein, auch.

InformationsquelleAutor Tom | 2012-11-22
Schreibe einen Kommentar