AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Verknüpfungen -> Verständnisfrage
Thema durchsuchen
Ansicht
Themen-Optionen

Verknüpfungen -> Verständnisfrage

Ein Thema von Dragon27 · begonnen am 9. Jan 2007 · letzter Beitrag vom 9. Jan 2007
Antwort Antwort
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#1

Verknüpfungen -> Verständnisfrage

  Alt 9. Jan 2007, 11:57
Datenbank: MySQL • Version: 5.0 • Zugriff über: Zeos
Hallo,

habe eine Verständnisfrage an Euch. Es geht um Verknüpfungen.

Also ich mache ein einfaches Beispiel...

Ich habe in SQL 2 Tabellen

1. Tabelle:

Name
Vorname
OrtIndex
etc.

2. Tabelle

Ort
PLZ

Jetzt haben wir in der Schule etwas von Primärschlüssel und Fremdschlüssel gelernt. Also mir ist klar dass hier
in der Tabelle1 einen Index speichern muss.... Aber wie greife ich dann über tabelle1 zu also sowohl in delphi als auch so.... es ist ja nur ein Index gespeichert!

Danke für Eure Hilfe!
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Verknüpfungen -> Verständnisfrage

  Alt 9. Jan 2007, 12:00
Du brauchst natürlich in der 2. Tabelle auch einen Schlüssel. Der entspricht dann dem OrtIndex, und du bekommst den Ort so:

SELECT ort, plz FROM table2 WHERE OrtIndex = :gesuchterOrtIndex "gesuchterOrtIndex" ist dann deine variable... ich bin in SQL leider noch nicht so weit, dass ich das zusammenziehen kann, man kann aber "automatisch" die Daten aus beiden Tabellen rausziehen, so dass du in einem record Name, Vorname, PLZ und Ort hast.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#3

Re: Verknüpfungen -> Verständnisfrage

  Alt 9. Jan 2007, 12:18
Für einfache Fälle:
SQL-Code:
SELECT
    Name,
    Vorname,
    PLZ,
    Ort
FROM Tabelle1
JOIN Tabelle2
  ON Tabelle1.OrtIndex = Tabelle2.OrtIndex
Für Fälle, in denen die Feldnamen übereinstimmen können:
SQL-Code:
SELECT
    a.Name,
    a.Vorname,
    p.PLZ,
    p.Ort
FROM Tabelle1 a
JOIN Tabelle2 p
  ON a.OrtIndex = p.OrtIndex
Es geht auch so:
SQL-Code:
SELECT
    a.Name,
    a.Vorname,
    p.PLZ,
    p.Ort
FROM Tabelle1 a, Tabelle2 p
WHERE a.OrtIndex = p.OrtIndex
Unabdingbar ist, dass der OrtIndex in der Adressen-Tabelle auch in der PLZ-Tabelle vorhanden ist. Schon aus Gründen der Geschwindigkeit ist es wichtig, dass auf P.OrtIndex ein eindeutiger Schlüssel liegt.

Achtung: Nur die Kombination PLZ + Ort ist eindeutig (genauer: das Feld ALORT der Post-Datenbank). Zu vielen PLZ gibt es mehrere Orte; es gibt viele Orte mit mehreren PLZ.

Gruß Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:41 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