Ich will Firebird 1.5 als Client/Server zum Aufbau einer DVD-Datenbank verwenden. Ich bin mir allerdings bei der grundlegenden Vorgehensweise etwas unschlüssig.
Als Beispiel die Auswahl der Untertitel pro DVD. Ich habe folgende 3 Queries erstellt:
Query 1:
Name: QueryDVD
SQL: "SELECT * FROM dvd"
CachedUpdates: True
RequestLive: True
Verbunden mit einem UpdateSQL.
Query 2:
Name: QueryUntertitel
SQL: "SELECT * FROM dvduntertitel WHERE (dvd_id = :dvd_id)"
CachedUpdates: True
RequestLive: True
Verbunden mit einem anderen UpdateSQL.
Der angegebene Parameter wird in QueryDVDAfterScroll auf die Richtige DVD-ID gesetzt
Query 3:
Name: QueryLang
SQL: "SELECT * FROM sprachen"
CachedUpdates: False
RequestLive: False
Ich will eine DBGrid für die Anzeige/Hinzufügen/Ändern/Löschen von Untertiteln verwenden.
Zuerst wollte ich QueryUntertitel und QueryLang mit einem Inner Join verknüpfen. Leider erhalte ich im DBGrid dann keine Drop-Down-Liste, um den Untertitel einfach ändern zu können.
Stattdessen habe ich die
SQL-Ausdrücke von oben verwendet und für QueryUntertitel alle Felder als persistente Felder hinzugefügt und zusätzlich ein Feld sprache als Lookup mit LookupDataSet QueryLang hinzugefügt.
Ist meine Vorgehensweise grundsätzlich richtig, auch in Hinblick auf Performance, oder hat jemand einen anderen Vorschlag?