| Autor |
Beitrag |
Jakob Schöttl
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: Mi 19.12.07 13:43
hallo,
bei der BDE kann man ja als TableType Paradox, dBase, ... einstellen.
Welche Datenbanken gibt es bei Firebird?
Hat Firebird eine eigene Datenbank?
Welche Dateiendung haben die Datenbanken dort?
danke schon mal!
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Mi 19.12.07 13:55
FireBird ist ein DBMS. Die Endung ist normalerweise fdb, kann aber frei gewählt werden.
Man darf den Begriff Datenbank nicht mit Tabelle verwechseln. Eine datenbank enthält mehrere Tabellen, indices und andere Datenbankobjekte.
_________________ Markus Kinzler.
|
|
Jakob Schöttl 
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: Mi 19.12.07 14:31
aja, aber bei der BDE (TTable) hat ja jede Tabelle einen eigenen Dateinamen - bei ttParadox mit der Endung .db
ist dann bei Firebird auch jede Tabelle in einer einzelnen Datei gespeichert?
und woher weiß man dann, welche Tabellen usw. zu einer Datenbank gehören?
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Mi 19.12.07 14:47
| Zitat: | | ist dann bei Firebird auch jede Tabelle in einer einzelnen Datei gespeichert? |
Nein. eine Datenbank kann zwar aus mehreren Dateien bestehen im Normalfall aber eine.
| Zitat: | | und woher weiß man dann, welche Tabellen usw. zu einer Datenbank gehören? |
wenn sie in ihr drin stehen (System-Tabellen)
_________________ Markus Kinzler.
|
|
Jakob Schöttl 
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: Mi 19.12.07 15:00
mkinzler hat folgendes geschrieben: | | Zitat: | | ist dann bei Firebird auch jede Tabelle in einer einzelnen Datei gespeichert? | Nein. eine Datenbank kann zwar aus mehreren Dateien bestehen im Normalfall aber eine. |
Bei Access ist das ja auch so, aber ist das nicht technisch für das DBMS total umständlich...
Wenn zB. eine Tabelle, die am Anfang angefangen wurde dann am Ende der Datei fortgesetzt werden muss und dazwischen ein paar andere Tabellen sind... oder wenn man Felder hinzufügt, oder andere Tabellen hinzufügt!
ich schon mal gespannt was für Eigenschaften und Methoden die Zeos-Komponenten haben. Oder gibt es noch bessere Komponenten für Firebird?
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Mi 19.12.07 15:15
Zeos sind ja cross-DBMS. Besser sind natürlich Komponenten, die speziell für IB/FB entwickelt wurden:
IBX, IBDAC, FIBPlus, IBObjects, MDO, ...
_________________ Markus Kinzler.
|
|
Jakob Schöttl 
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: Do 20.12.07 08:51
Vielen Dank mkinzler, jetzt bin ich wieder schlauer.
Ich weiß nur noch nicht was ich dann also für ein DBMS und für Komponenten nehme.
Ich habe grob gesagt einen statischen Teil des Datenbanksystems, der immer gleich bleibt und einen variierenden Teil, den man wie bei zB. Word Öffnen, Schließen, Neu, Speichern... kann.
Da währe wahrscheinlich Firebird mit einer Datenbankdatei "static.fdb" und einer "varying.fdb" nicht schlecht!
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Do 20.12.07 08:57
| Zitat: | | Ich weiß nur noch nicht was ich dann also für ein DBMS und für Komponenten nehme. |
FireBird ist das DBMS.
Warum 2 Datenbanken?
_________________ Markus Kinzler.
|
|
Jakob Schöttl 
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: Do 20.12.07 09:17
in der static Datenbank sind eben sachen gespeichert, die immer gelten, also zB. AlleMenschen
und in der varying Datenbank sind die Teilnehmer (eine Teilnmenge aus AlleMenschen) per Primär- und Fremdschlüssel gespeichert.
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Do 20.12.07 09:18
Du verwechselst Tabelle und Datenbank.
_________________ Markus Kinzler.
|
|
Jakob Schöttl 
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: Do 20.12.07 09:25
mkinzler hat folgendes geschrieben: | | Du verwechselst Tabelle und Datenbank. |
nein, es gibt ja in der static datenbank mehrere Tabellen, die eben immer gelten. und in der varying Datenbank auch. Das mit den Teilnehmern war nur ein Beispiel
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Do 20.12.07 09:36
Sollen die Daten an verschiedenen Orten? (z.B. Netz/lokal) sondt wäre ein weiterer Schlüssel besser.
_________________ Markus Kinzler.
|
|
Jakob Schöttl 
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: Do 20.12.07 09:50
varying und static sind im gleichen verzeichnis, es is aber im netztwerk freigegeben, so dass die datenbanken von anderen Computern auch genutzt werden können
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Do 20.12.07 09:53
Datenbanken sollten nicht in freigebenen Ordner liegen
_________________ Markus Kinzler.
|
|
Jakob Schöttl 
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: Do 20.12.07 09:55
aber wie soll ich es denn sonst machen? Es greifen maximal 2 Computer darauf zu.
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Do 20.12.07 10:03
Jakob Schöttl hat folgendes geschrieben: | | aber wie soll ich es denn sonst machen? Es greifen maximal 2 Computer darauf zu. |
Ein DBMS unterstützt normalerweise den Zugriff über ein eigenes Netzwerkprotokoll, das auch die Komponenten unterstützen. Du installierst also den Server und greifst über das Netzwerk auf das DBMS zu, das Dir den Zugriff auf die Daten in der Datenbankdatei kapselt. Die Firebird-Datenbank(-Datei) beinhaltet mehrere Tabellen, egal ob diese "statisch" oder "dynamisch" sein sollen. Das spielt ja keine Rolle, da Du jegliche Daten verändern kannst. Wenn Du zwei Datenbanken erstellst, hast Du das Problem, diese beiden unter einen Hut zu bringen, da Du per SQL keine gemeinsamen Daten abfragen kannst.
Beschäftige Dich besser erstmal mit der Datenbanktheorie, denn da scheinst Du noch ein paar Lücken zu haben 
|
|
Jakob Schöttl 
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: Do 20.12.07 10:19
UGrohne hat folgendes geschrieben: | | Die Firebird-Datenbank(-Datei) beinhaltet mehrere Tabellen, egal ob diese "statisch" oder "dynamisch" sein sollen. Das spielt ja keine Rolle, da Du jegliche Daten verändern kannst. Wenn Du zwei Datenbanken erstellst, hast Du das Problem, diese beiden unter einen Hut zu bringen, da Du per SQL keine gemeinsamen Daten abfragen kannst. |
ok, aber das ist auch nicht sinnvoll.
Das ist ein Auswertprogramm für Wettkämpfe im Schützenverein.
Schau, ich habe eine Tabelle wo Alle Schützen vom Verein mit Nr, Name, ... gespeichert sind.
Dann ist jeden Mittwoch ein anderer Wettkampf. Für den Wettkampf brauche ich mehrere Tabellen und auch eine Teilnehmertabelle, weil die Teilnehmer immer andere sind (immer Teilmenge von allen Schützen).
Und dann geht es doch nicht, wenn ich die Datenbank mit den Wettkampfdaten mit den allgemeinen Rahmenbedingungen, die für jeden Wettkampf gelten zusammenlege, weil dann muss ich bei jedem Wettkampf die Rahmenbedingungen auch wieder neu definieren.
Aber das ich dann bei Joins, SQL usw. Probleme kriege verstehe ich natürlich!
UGrohne hat folgendes geschrieben: | Beschäftige Dich besser erstmal mit der Datenbanktheorie, denn da scheinst Du noch ein paar Lücken zu haben  |
ich weiß... weißt du eine internetseite, wo es tutorials zur Theorie gibt? Bei dstd ist ja alles mehr praxisbezogen.
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Do 20.12.07 10:25
| Zitat: | | Dann ist jeden Mittwoch ein anderer Wettkampf. |
Dann macht es trotzdem keinen Sinn eine eigene DB zu nehmen.
Erweitere die Tabelle um eine Termin (u.U. eigene Tabelle für Termine)
| Zitat: | | Für den Wettkampf brauche ich mehrere Tabellen und auch eine Teilnehmertabelle, weil die Teilnehmer immer andere sind (immer Teilmenge von allen Schützen). |
Diese n:m Beziehung kann man durch eine Zuordnungstabelle lösen.
_________________ Markus Kinzler.
|
|
Jakob Schöttl 
      
Beiträge: 929
Erhaltene Danke: 1
Delphi 7 Professional
|
Verfasst: Do 20.12.07 10:31
ALLES in einer Datenbank. Ich glaube das ist nicht nur mir zu uferlos und ich bin mir auch wirklich nicht sicher, ob das Profis so machen würden.
Ich habe für jeden Wettkampf an dynamischen Tabellen schon mal folgende:
Scheiben
Gattungen
Treffer
TrefferWerte
Teilnehmer
und da ist schon die Beziehungen untereinander relativ kompliziert, wenn ich da dann alles zusammenlegen würde, würde ich nicht mehr klarkommen!
Aber wenn jemand ein Tutorial zu Datenbanktheorie hat wäre es sehr gut!
|
|
mkinzler
      
Beiträge: 4106
Erhaltene Danke: 13
Delphi 2010 Pro; Delphi.Prism 2011 pro
|
Verfasst: Do 20.12.07 10:40
| Zitat: | | ALLES in einer Datenbank. Ich glaube das ist nicht nur mir zu uferlos |
Warum soll das uferlos sein.
| Zitat: | | Ich glaube das ist nicht nur mir zu uferlos und ich bin mir auch wirklich nicht sicher, ob das Profis so machen würden. |
Doch die würden das so machen.
Zum Thema komplex, hast du dir mal ne Datenbank eines richtigen Programmes mal angesehen?
_________________ Markus Kinzler.
|
|