Umfangreiche DBF nach SQL wie machen?

alles was zunächst nicht kategorisierbar ist

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 20081
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 59 Mal
Danksagung erhalten: 29 Mal

Umfangreiche DBF nach SQL wie machen?

Beitrag von Manfred »

Hi,
da ich in der letzten Zeit etliches mit SQL mache und merke, wie es mich von Tag zu Tag mehr fasziniert, würde ich gerne mehr umstellen von DBF auf SQL. Allerdings habe ich ein Projekt, bei dem ich überhaupt nicht weiß, wie man das umsetzen kann. Folgendes ist gegeben:
Es gibt ein Verzeichnis in dem x- Teilnehmer stehen. Jeder Teilnehmer hat wiederum x- Unterverzeichnisse in denen DBF stehen. Diese Verzeichnisse werden pro Teilnehmer und Jahr immer mehr.
Bisher ist es so, das man jeden Teilnehmer und jedes dazugehörige Jahr anwählen kann und auch muß. Dann wird einfach die Teilnehmernummer und das Jahr in den Verzeichnisnamen/Dateinamen geschraubt und schon paßt alles. Es wird also jedes Jahr ein neuer Zweig erstellt.
Aber wie löst man sowas mit einer SQl DAtenbank? Hat man dann auch "unendlich" viele Tabellen in einer Datenbank, oder wie geht man sowas an?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kannste sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8494
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 24 Mal
Danksagung erhalten: 101 Mal
Kontaktdaten:

Re: Umfangreiche DBF nach SQL wie machen?

Beitrag von Tom »

Diese aussagekräftigen Verzeichnisnamen kann man im Namespace unterbringen. Der ergänzt sozusagen den Namen einer Tabelle um eine Art Postleitzahl (namespace.tabellenname). Jeder Namespace (in PostGres heißt das "Schema") kann die gleichen Tabellenamen enthalten, und eine Datenbank kann beliebig viele Namespaces/Schemas kennen. Standard und Default ist "public", das muss man auch nicht angeben. Ein Tabellenname ohne Namespace ist in "public" zu suchen. (Cool wäre übrigens, wenn die PGDBE auf diese Weise automatisch vorherige Ordnerstrukturen reflektieren könnte, aber das kann sie leider nicht.) Mehr zu Schemas bei PostGres hier: https://www.postgresqltutorial.com/postgresql-schema/

Oder man setzt ein Merkmal, eine Tabellenspalte - und hat die Tabelle nur einmal. Diese Tabellenaufteilung, die Du betreibst, hat man ja früher aus Platz- und Geschwindigkeitsgründen gemacht. Wenn man das Verzeichnis zu einem Merkmal macht, also zum Inhalt eines Tabellenfeldes, hat man ein dauerhaftes Kriterium für ein SELECT. Der Vorteil dieser Vorgehensweise: Wenn man will, kann man innerhalb einer Tabelle auf die Daten mehrerer Merkmalsausprägungen zugreifen.

Die dritte Möglichkeit ist der Tabellenname selbst, der halt ergänzt wird (001mitarbeiter, 002mitarbeiter usw.). Das ist letztlich ja auch das, was man in einer Ordnerstruktur macht. Es gibt eigentlich keine Ordner, keine Fächer oder so. Dateien teilen sich Merkmale im Namen, die aber anders als die Namen selbst verwaltet werden und ein paar schicke Möglichkeiten bieten, und wir stellen uns das als Ordner vor. Aber "c:\pps\001\mitarbeiter_gehaltsdaten.dbf" und "c:\pps\002\mitarbeiter_gehaltsdaten.dbf" liegen nicht in bestimmten Schubladen (001, 002), die Unterschubladen (von "pps") sind, sondern im Extremfall direkt nebeneinader - der Pfad ist genau genommen ein Teil des Namens. Das kann man in einem SQL-Server auch machen.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 20081
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 59 Mal
Danksagung erhalten: 29 Mal

Re: Umfangreiche DBF nach SQL wie machen?

Beitrag von Manfred »

es bedeutet jetzt aber auch, das sich der Dateiaufwand nicht reduziert, sondern direkt in der Datenbank untergebracht wird. Das war ja auch meine Frage, ob es dann so weiter gemacht wird nur das der Server sich dann um alles kümmert. (pauschal ausgedrückt)
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kannste sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 8494
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 24 Mal
Danksagung erhalten: 101 Mal
Kontaktdaten:

Re: Umfangreiche DBF nach SQL wie machen?

Beitrag von Tom »

Wenn Du das, was Dateiname und -pfad im Moment aussagen, in einem Feld unterbringst, das bei SELECTs auf die dann fragliche eine Tabelle berücksichtigt wird, aber auch bei UPDATEs, dann verändert sich dieser Aufwand marginal, aber der Dateiverwaltungsaufwand fällt deutlich geringer aus. Du gewinnst die Möglichkeit, mit einem Fingerschnipp übergreifende Auswertungen zu fahren oder Daten gleichzeitig anzubieten, die vorher unterschiedliche Speicherorte hatten.
Herzlich,
Tom
Antworten