Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Foreign Keys mit werten? (https://www.delphipraxis.net/89327-foreign-keys-mit-werten.html)

Kedariodakon 29. Mär 2007 15:42

Datenbank: MSSQL • Version: 2005 • Zugriff über: ...

Foreign Keys mit werten?
 
Ich hab da ein kleines Problem, bei dem ich nicht wirklich weiter komm...
Ich möchte ein Foreign Key erstellen, was an sich ja kein Problem ist, aber...

Beispiel:
Tabelle 1 ['Id', 'RefID', ...]
Tabelle 2 ['Id', 'ID2', 'ID3', ... ]

Nun möchte ich eine Reference Von Tabelle 1 zu Tabelle 2 erstellen dies aber nur wenn in Tabelle 2 die Werte in ID2 und ID3 einen bestimmten Wert haben! z.b. ID2 = 11 und ID3 =12

Ist das nicht vorhanden darf es keine Verknüpfung geben...


Sprich gibt es eine Verknüpfung von Tabelle 2 zu Tabelle 1 darf auch ID2 und ID3 nicht geändert werden bzw. Wenn ID2 und ID3 nicht den entsprechenden Wert haben darf es keine Verknüpfung geben...

Kann mir dazu jemand sagen, wie ich dies realisieren kann mit Foreign Keys? bzw. geht das überhaupt?


Bye Christian

mkinzler 29. Mär 2007 15:45

Re: Foreign Keys mit werten?
 
Du mußt halt beim Eintragen eines neuen Datensatzes in Tabelle1 Testen ob die Bedingung in Tabelle2 erfüllt ist.

Kedariodakon 29. Mär 2007 15:48

Re: Foreign Keys mit werten?
 
Das ist ja gewährleistet, aber was mach ich wenn da wer müll mit tabelle 2 macht?

Löschen geht ja schon mal nicht durch nen Normalen Foreign Key, aber eigendlich mag ich auch DB technisch unterbinden, das die 2 IDs geändert werden wenn es eine Reference gibt...

Bye Christian

mkinzler 29. Mär 2007 15:52

Re: Foreign Keys mit werten?
 
Kann man doch mit constraints bzw. delete rules lösen.

hoika 29. Mär 2007 15:57

Re: Foreign Keys mit werten?
 
Hallo,

da fallen mir (Before Insert) Trigger ein,
weiss jetzt nicht genau, wie die bei MS-SQL heissen (instead of) ??

Damit bekommst du das aber auch nicht so hin.

Die einzige Möglichkeit wäre wohl den Zugriff auf die Tabelle
komplett zu verbieten (Grant) und das Insert/Update) nur über ne SP zu erlauben.

Auf der anderen Seite könntest du auch die DB ändern,
so dass der FK eindeutig ist.


Heiko

Kedariodakon 29. Mär 2007 16:01

Re: Foreign Keys mit werten?
 
Ändern? Vorschläge?

In den Tabellen steht ja noch mehr als IDs ;)

Bye Christian


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz