"Versionskontrolle" u.a. bei Datenbanken (*.mdb)

30/06/2008 - 12:45 von Michaela Meier | Report spam
Hallo,

Mein Projekt benötigt eine Datenbank mit insgesamt ca. 50 Tabellen.
Diese wird jeweils lokal bei jedem Benutzer (nur privat, nix Firma,
nix verteilt etc) als mdb gespeichert.
Damit ergibt sich natürlich das Problem, daß jeder neugierige Mensch
diese Datei öffnen und sogar veràndern kann. Natürlich können die
Daten auch unter sonstigen Umwelteinflüssen leiden - Wasserschaden
beim Surfen oder so.

Damit mein Programm in einem solchen Fall nicht erst mitten im Betrieb
abnippelt, würde ich die Datenstruktur (welche Tabellen mit jeweils
welchen Feldern) und einige wichtige Verknüpfungen gerne direkt beim
Start prüfen - um dann ggf. den User zu beschimpfen ;-)

Die Frage ist nun: Wo packe ich die Vergleichsdaten hin? Was ist die
bessere (auch in wartbarer Hinsicht) Vorgehensweise? Hardcode ich
sàmtliche Abfragen in eine Klasse? Lese ich die Tabellen- und
Feldnamen aus einer anderen DB aus? Falls ja, wo packe ich DIE hin?
Resource? mdb? xml?

Ungefàhr dasselbe Problem stellt sich beim Anlegen einer neuen DB?
Wohin mit dem "Template" der Datenstruktur?

Danke

Michaela
 

Lesen sie die antworten

#1 Paul Werkowitz
30/06/2008 - 14:43 | Warnen spam
Am Mon, 30 Jun 2008 03:45:06 -0700 (PDT) schrieb Michaela Meier:

Die Frage ist nun: Wo packe ich die Vergleichsdaten hin? Was ist die
bessere (auch in wartbarer Hinsicht) Vorgehensweise? Hardcode ich
sàmtliche Abfragen in eine Klasse? Lese ich die Tabellen- und
Feldnamen aus einer anderen DB aus? Falls ja, wo packe ich DIE hin?
Resource? mdb? xml?



Verschiedene Möglichkeiten, jedoch alles hàndisch zu machen.

- Ich z.B. verwende eine Beschreibung meines Datenmodells (d.h. vor allem
meine Tabellen, Spalten, Verknüpfungen etc) in Form eines XML-Dokuments.
Das ist im Programm eingebaut, und so kann ich beim Programmstart testen,
welche Version der DB beim Kunden ist, und welche für die aktuelle
Programmversion erwartet wird. Damit ist es möglich, die DB auf den
benötigten Stand zu bringen. Da wir die DB-Struktur hin und wieder
erweitern, làuft der update beim Kunden schmerzlos.

- Setze ich mit einer leeren DB auf, macht eine beliebige (alte) Version
des Programm automatisch den für sich richtigen Stand. Dann lasse ich noch
ein paar INSERTs dazulaufen - und voila! habe ich eine testbare Version
auch eines alten Standes meines Programms. (... nur weil du sagtest:
"wartbar" ).

- Das XML-Dokument nebst zugehörigen INSERT Statements làsst sich natürlich
hervorragend zusammen mit den Sourcen des Projekts versionskontrollieren.

Andere Lösungen gibts z.B. mit den gàngigen OR-Mappern - ob du dir das
antun willst, weiß ich nicht.

Greetz
Paule

Ähnliche fragen