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.
Relationen in SQL
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21211
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Relationen in SQL
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!!
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!!
- Jan
- Marvin
- Beiträge: 14659
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Relationen in SQL
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
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.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- Herbert
- 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
Manfred, verbrenn dir nicht das Hirn. Xbase 2.0 übernimmt für dich solche Sachen.
Ja, ich weiss, du willst es vorher wissen...
Ja, ich weiss, du willst es vorher wissen...
Grüsse Herbert
Immer in Bewegung...
Immer in Bewegung...