Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Tabellen verbinden ? (https://www.delphipraxis.net/199461-tabellen-verbinden.html)

Schuby 24. Jan 2019 18:26

Datenbank: FireBird • Version: 2.5 • Zugriff über: ?

Tabellen verbinden ?
 
Hallo, ich habe eine kurze Frage an euch.
Ich Arbeite mich gerade in FireBird Datenbanken ein.

Ich habe Personen.fdb und eine Artikel.fdb

Jetzt bestellt die Person Müller, 4 Artikel, würde ich jetzt die Person Müller löschen,
wären aber noch die Datensatze in Artikel.fdb

Nach was muss ich suchen ? wie heißt sowas ?
Ich weiß von damals (18j Paradox) das es dafür ein bestimmtes Wort gibt.

Oder gibts vllt auch ein Buch was ich mir zulegen sollte ?

mfg Schuby

mkinzler 24. Jan 2019 18:33

AW: Tabellen verbinden ?
 
Ab firebird 2.5 kann man in PSQL (SP oder execute block auf eine andere Datenbank zugreifen. Es geheh aber keine JOINS o.ä.

SQL-Code:
execute block returns (<Rückgaben>) as
begin
  FOR EXECUTE STATEMENT '<Abfrage auf andere Datenbank>'
    ON EXTERNAL DATA SOURCE '<Connection string>' AS USER '<User der anderen datenbank>' PASSWORD '<Passwort der anderen Datenbank>'
    INTO :Var1, ...
  DO
    <Mach was>;
end

hoika 24. Jan 2019 18:34

AW: Tabellen verbinden ?
 
Hallo,
du hast
a) 2 Datenbanken
b) 2 Tabellen
in einer Datenbank.

a)
https://firebirdforum.de/viewtopic.php?f=4&t=16
argz, zu spät, siehe mein Vorposter ;)

b)
Delete From Tabelle1
Delete From Tabelle2

Schuby 24. Jan 2019 18:49

AW: Tabellen verbinden ?
 
Verstehe ich das richtig ? es wäre also falsch 2 Datenbanken zu erstellen,
besser eine Datenbank mit 2 Tabellen.

test.fdb
1 Tabelle Person
2 Tabelle Artikel



mfg Schuby

Delphi.Narium 24. Jan 2019 18:54

AW: Tabellen verbinden ?
 
Die Frage wäre erstmal: Wieso zwei Datenbanken und nicht zwei Tabellen in einer Datenbank.

Bei dBase und Paradox war es noch "normal", dass man Datenbank und Tabelle als Synonyme ansah (da eine Datei auf der Festplatte nur eine Tabelle enthalten konnte), aber bei "richtigen" Datenbanken ist das eher Schnee von gestern.

Literatur: Bei Google suchentutorial datenbanken und da dann für den Einstieg das aussuchen, was für Dich am verständlichsten geschrieben ist.

http://www.datenbanken-verstehen.de/sql-tutorial/
https://entwickler.de/online/datenba...rf-115676.html
https://www.delphi-treff.de/tutorials/datenbanken/

Würde mir hier zuerst mal eins raussuchen, dass noch datenbankunabhängig ist, um erst einen allgemeinen Überblick und ein allgemeines Verständnis zu bekommen.

Firebirdspezifisches wird dann später von alleine leichter verständlich und man verlässt sich nicht von Anfang an auf datenbankspezifische Besonderheiten, die dann später beim Datenbankwechsel eher zu Irritationen führen.

Grundlegendes ist eigentlich bei allen Datenbanken im Wesentlichen gleich.

Und "Gedankenfetzen" aus der Vergangenheit, die paradox- und/oder dBasetypisch sind, lieber schnell vergessen. Einiges ist einfach grundlegend anders. Was übereinstimmt ist die Nutzung der Anzeigekomponenten in Delphi, aber datenbankseitig ist das wie mit den Äpfeln und den Birnen.

Schuby 24. Jan 2019 19:07

AW: Tabellen verbinden ?
 
Ich Danke euch allen, jetzt habe ich erstmal genug Lesestoff.


mfg Schuby

hoika 24. Jan 2019 19:19

AW: Tabellen verbinden ?
 
Hallo,
Zitat:

Verstehe ich das richtig
Ja, eine Datenbank in Firebird entspricht in etwa einem Verzeichnis in Paradox.

Hier habe ich noch interessante Links für Ex-Paradox-Users:
http://ibphoenix.com/resources/documents/migration

Gerade dieser hier hatte mir damals sehr geholfen.
My Lock File Has Grown Too Large - 30 Days from Paradox to InterBase

Und nicht wundern, dass es hier um alte Interbase-Versionen geht.
Die Artikel sind ziemlich alt, aber das damalige Interbase und das aktuelle Firebird sind nicht sooo verschieden.

PS1:
Paradox, hui, das waren noch Zeiten
"index out of date"
"blob has been modified"

PS2:
Mit Paradox hatte ich damals auch angefangen ;)

mkinzler 24. Jan 2019 20:34

AW: Tabellen verbinden ?
 
Zitat:

Verstehe ich das richtig ? es wäre also falsch 2 Datenbanken zu erstellen,
besser eine Datenbank mit 2 Tabellen.
Ja. Nur so kannst Du die Vorteile eines DBMS richtig Nutzen:
-Referentielle Integrität
-constraints
-Abfrage über mehrere Tabellen (Joins, Subselect, ...)
...

hoika 24. Jan 2019 21:29

AW: Tabellen verbinden ?
 
Hallo,
unter Firebird besteht eine Datenbank aus einer einzigen Datei.
Unter Paradox war eine Datenbank i.d.R. eine Sammlung von .DB-Dateien (Tabellen) in einem Verzeichnis.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:24 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