Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - Datenbank innerhalb von Klassen verwenden
Palladin007 - Mi 27.06.12 12:29
Titel: Datenbank innerhalb von Klassen verwenden
Moin
Ich möchte ein umfangreicheres Programm schreiben, habe selber bisher aber nur wenig Erfahrung mit Datenbanken und da ich das Programm mehr als Übungs-Projekt anfasse, kann ich auch vorher keine detaillierte Datenbank erstellen, die dann auch immer funktioniert.
Deshalb habe ich mir überlegt, erst einmal ganz normal mit Klassen zu arbeiten, die mittels XML speichern und wenn ich dann irgendwann das Programm fertig habe und sicher bin, dass es funktioniert, dann erstelle ich eine Datenbank, die genau an die bestehenden Klassen angepasst ist.
In jeder Klasse ist jede Eigenschaft oder Methode dann nur noch eine Schnittstelle zu der eigentlichen Datenbank, die alles enthält. Auf diese Weise kann ich weiter experimentieren, muss aber nicht immer umständlich die Datenbank anpassen und auch Änderungen in der Datenbank sind ohne großen Aufwand erledigt, weil ich dann nur die entsprechende Klasse anpassen muss, die die geänderten Tabellen nutzt.
Wird das auch tatsächlich so gemacht, oder gibt es bessere Möglichkeiten, eine Datenbank ohne Probleme und große Änderungen in dem Programm zu ändern?
Hat vielleicht jemand Tipps aus eigener Erfahrung für mich?
Gruß
PS: Ich würde dann MsSQL nutzen
Ralf Jansen - Mi 27.06.12 12:50
| Zitat: |
| Wird das auch tatsächlich so gemacht, oder gibt es bessere Möglichkeiten, eine Datenbank ohne Probleme und große Änderungen in dem Programm zu ändern? |
Ja object-relationale Mapper (ORMs) sind ziemlich üblich. Selber schreibt man einen aber eher selten gibt ja bereits genug. (Entity Framework, NHibernate, llblgen etc.).
Und fast alle unterstützen ein Model-First Ansatz so wie du in scheinbar wünscht.
| Zitat: |
| Hat vielleicht jemand Tipps aus eigener Erfahrung für mich? |
Aus meiner Erfahrung sage ich, auch wenn es geht sollte man es nicht so machen. Model-First läuft meistens darauf hinaus das man plötzlich Abhängigkeiten seiner Anwendungen die aus der Wahl der Sprache, Technik etc. folgen (nicht immer offensichtlich) in der Datenbank hat. Wenn man bedenkt das Daten üblicherweise länger halten als die Anwendung die sie benutzen (zumindest in Anwendung in denen es sich lohnt überhaupt über die Methodik nachzudenken) oder andere Anwendungen hinzukommen die ebenfalls auf den selben Daten arbeiten sollen sollte man mit einem möglichst sauber designten Datenmodell beginnen (egal ob relational, objektrelational, objektorientiert oder was auch immer) und dann über die Darstellung als Modell in einer konkreten Anwendung mit einer konkreten Technik.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!