Hai Hansa,
hihi.... so hat meine erste Datenbank bzw. Tabelle auch ausgesehen.
"Alles" in einer Tabelle. Aber mit der Zeit merkte ich das dies nicht so glücklich ist.
Ein
SELECT * FROM tabelle
ist natürlich Okay wenn ich:
a) ALLE Felder brauche
b) ich nur wenige und "kleine" Felder in der Tabelle habe
Ich habe z.B. In der Kunden-Tabelle ein Memofeld. Dies brauche ich aber nicht im Grid um den Kunden anzuzeigen. Dort brauche ich nur Name, PLZ und Ort.
Also habe ich ein
Query für das Grid:
SELECT k_id,k_name,k_plz,k_ort FROM kunden ORDER BY r_name
Erst wenn der Anwender eine Adresse bearbeiten möchte hole ich mit einem zweiten
Query die gesamten Daten:
SELECT * FROM kunden WHERE k_id = query1.k_id
ACHTUNG. Die SQL-Stings werden natürlich im Programm zusammengesetzt
Das aufteilen auf mehrere Tabelle macht sehr viel Sinn.
Ich habe z.B. Auch die Umsätze der Kunden in einer extra Tabelle.
Wenn ich jetzt den Gesamtumsatz eines Kunden für ein Jahr möchte sage ich dem
SQL-Server:
SELECT SUM (umsatz] AS gesamtumsatz FROM kunden_umsatz WHERE (jahr = 2002) AND (k_id = 122)
Jetzt liefert mir der
SQL-Server exakt
einen Wert zurück.
Und dadurch wird das Netzwerk natürlich entlastet.
So, das nur mal so als denkanstoss.
Stephan B.
"Lasst den Gänsen ihre Füßchen"