Relationen in SQL

alles was zunächst nicht kategorisierbar ist

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Relationen in SQL

Beitrag von Manfred »

Hi,

jetzt merke ich wo es Differenzen gibt. Wenn ich 2 DBF verknüpfe, dann habe ich in der Regel eine ID, auf die ich mich beziehe. Sprich, DBF 1 hat die ID und DBF 2 hat ein Feld, dass sich auf die ID aus DBF 1 bezieht. Auf beide Felder lege ich dann einen Index und kann somit in beide Richtungen verbinden. Wie löst man sowas unter SQL? Sind das die Fremdschlüssel? Gibt es da sowas wie eine automatische Verknüpfung innerhalb der einzelnen Tabellen?

Ich denke mal, es werden sich aus der Antwort weitere Fragen ergeben.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Relationen in SQL

Beitrag von Jan »

In SQL mußt Du das nicht machen. Da nimmst Du ein JOIN (meist LEFT JOIN, aber auch INNER, RIGHT, oder nur JOIN), und gibst dabei an, welche Felder in den beiden Tabellen die gleichen Daten beinhalten. Ein Index muß da nicht sein, beschleunigt aber die ganze Sache.

Unter machen SQL-Versionen kann man auch intern Verknüpfungen festlegen, auch Access macht sowas. Dadurch wird eine referentielle Integrität gegeben, wenn also ein Datensatz in einer Tabelle gelöscht wird, dann merkt der SQL-Server selber, das es verknüpfte Datensätze in einer anderen Tabelle gibt, und gibt einen Warnung aus. man muß das dann nicht mehr im Code berücksichtigen. Kann aber wie gesagt nicht jeder SQL-Server.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Relationen in SQL

Beitrag von Herbert »

Manfred, verbrenn dir nicht das Hirn. Xbase 2.0 übernimmt für dich solche Sachen.
Ja, ich weiss, du willst es vorher wissen... :D
Grüsse Herbert
Immer in Bewegung...
Antworten