![]() |
Datenbank: MS SQL • Zugriff über: ADO
TB Relation, zusammengesetzter Primärschlüssel
Hi,
habt ihr ein paar Infos über Relationen zwischen Tabellen bei zusammengesetzten Primärschlüsseln? Muss ich in der verknüpften Tabelle alle Primärschlüsselfelder der Primärschlüsseltabelle anlegen? Ich möchte das in einer zweiten Tabelle ein Datensatz gelöscht wird, wenn der verknüpfte in der Primärtabelle gelöscht wird... Gruß Marcus |
Re: TB Relation, zusammengesetzter Primärschlüssel
Hallo Marcus,
es ist "schöner", wenn du mit einem Surrogate Key (künstlicher Schlüssel, GUID, AUTOINC, ...) arbeitest, aber auch mit einem Compound Key kann man leben. Tatsächlich müssen alle Felder des Primärschlüssels auch in der abhängigen Tabelle Entsprechungen finden. Das automatische Löschen der abhängigen Datensätze erreichst du am Besten über die DRI (Declarative Referential Integrity) Klausel ON UPDATE CASCADE. Grüße vom marabu |
Re: TB Relation, zusammengesetzter Primärschlüssel
Hi Achim,
dann probiere ich das mal so. Hat den Vorteil das ich auch nur ein DB Feld pro Tabelle zum Verknüpfen brauche. Nachtrag: Mit einem Key aus einem Feld hat es hingehauen:
SQL-Code:
BEGIN TRANSACTION
GO ALTER TABLE dbo.TB_AM_User_Activity ADD CONSTRAINT FK_TB_AM_User_Activity_TB_AM_Team_Activity FOREIGN KEY ( FK_Team_ActivityID ) REFERENCES dbo.TB_AM_Team_Activity ( Team_ActivityID ) ON UPDATE CASCADE ON DELETE CASCADE GO COMMIT |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:40 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 by Thomas Breitkreuz