AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi TB Relation, zusammengesetzter Primärschlüssel

TB Relation, zusammengesetzter Primärschlüssel

Ein Thema von Salomon · begonnen am 3. Dez 2007 · letzter Beitrag vom 3. Dez 2007
Antwort Antwort
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#1

TB Relation, zusammengesetzter Primärschlüssel

  Alt 3. Dez 2007, 10:34
Datenbank: MS SQL • Zugriff über: ADO
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
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: TB Relation, zusammengesetzter Primärschlüssel

  Alt 3. Dez 2007, 11:21
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
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#3

Re: TB Relation, zusammengesetzter Primärschlüssel

  Alt 3. Dez 2007, 11:43
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
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz