Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

referenzielle Integrität für zusammengestzten Schlüssel?





Frage

Klingt vielleicht kryptisch, trotzdem: Wie kann ich eine n:m Beziehung zwischen zwei Relationen (d.h. über Beziehungsfeld 1:n und nochmal 1:n) referenzielle Integrität schaffen, wenn der Primärschlüssel ein aus 2 Attributen zusammengestzter Schlüssel ist? Bsp. Studie#(pk),Projekt#(pk),Name,... mit Studie#(pk),Autor#(pk),Projekt#(pk),... mit Autor#,Autor ? Access will offenbar einen eindeutigen Index den ich ihm aber nicht liefern kann, da ich für meine Primärschlüssel Duplikate zulassen muß. Wer weiß hier Rat?

Antwort 1 von asok

Inwiefern (bzw. in welcher Relation) musst du für deine Primärschlüssel Duplikate zulassen?


Antwort 2 von mazzy

Nun, der Primärschlüssel in der Relation Studie setzt sich zusammen aus: Studien# und Projekt# ! Anders geht es nicht, da es gleiche Studien# für versciedene Projekte geben kann.
EIn anderer User sagte mir. er kenne das Problem nicht, da er mit dem create Table Befehl seine Relationen erstellt und über References die Verbindungen schafft. Ich mache es jedoch über Beziehungen von MS Access und hier will Access einen eindeutigen Schlüssel haben (d.h. ohne Duplikate ) um referenzielle Integrität zu schaffen.


Antwort 3 von KawaVN800

Hi!
wie wärs mit:
Laufendenr#(pk - (Autowert) eindeutig),Studie#(pk),Projekt#(pk),Name,...
mit:
Laufendenr#(pk - (Longinteger) eindeutig), Studie#(pk),Autor#(pk),Projekt#(pk)?

Der Autowert hat mich schon oft aus diese Situationen herausgeholfen!

CU
Carlo (:-))



Antwort 4 von asok

Ob du die Tabellen mit den grafischen Tools von Access oder mit SQL-Kommandos erzeugst macht keinen Unterschied, was die referentielle Integrität angeht.
Darüberhinaus kann ein Feld nur dann als Primärschlüssel dienen, wenn _keine_ Duplikate vorkommen.
Ich würde ebenfalls einen AutoIndex zur Hilfe nehmen, um die Beziehungen herzustellen:

- Studien (StudieIndex[PK], Studie#, Projekt#)
- Autoren (Autor#[PK],Autor)
- Zuordnungen (StudieIndex,Autor#)

Damit wären deine Relationen in der Normalform.

Antwort 5 von teccer

versuchs mit einem autowert feld ohne primärschlüssel, danns chlägst du zwei fliegen mit einer klappe

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: