WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 10.06.2006, 12:08   #1
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Frage Datenbank mit Versionierungsmechanismus?

hallo,

in einem kommenden projekt benötige ich ein DBS, welches Daten speichert und bei Änderung an diesen Daten das bisherige nicht überschreibt, sondern eine neue Version anlegt. Weiters soll es möglich sein, gespeicherte Dokumente (mehrere) einer bestimmten Version zu einer sog. "Edition" zusammenzufassen.

Vorstellen kann man es sich wie ein Buch, das aus einzelnen Kapiteln besteht, die bearbeitet werden und in verschiedenen Versionen vorliegen können.
Beim Publizieren des Buches wird dann eine Edition erstellt.

In der DB sollen aber alle Versionen ersichtlich und zugreifbar sein.

Nachtürlich kann man sich das alles selbst programmieren - die Anforderung (Versionierung) ist aber so denke ich, nichts utopsiches und daher frage ich mich, ob es da nicht schon ev. "etwas Fertiges" gibt? Kennt jemand ein DBS bzw. einen darauf basierenden Layer, welcher Versionierung implementiert?

fg
hannes
Biri ist offline   Mit Zitat antworten
Alt 10.06.2006, 22:19   #2
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Ich könnnte mir vorstellen das es einfacher ist dafür echte Versionsverwaltungssysteme wie CVS oder Subversion zu benutzen - speziell wenn es wirklich um Textdaten geht. Zugriff aus php z.B. über http://pear.php.net/package/VersionControl_SVN
Ein Versioning DBMS ist mir leider nicht bekannt. Ich denk mir auch das es so etwas geben müsste.
Je nachdem was du wirklich machen willst, ist es eventuell auch einfacher ein CMS zu verwenden das von sich aus Versioning beherrscht.
Vielleicht findest du etwas passendes bei www.hotscripts.com , suche nach "db versioning" o.ä.

Evtl. ist auch das etwas für dich:
http://www.globalissa.com/showcase.php?n=4&p=3

Oder du wirst bei den diversen DBAL (Database Abstraction Layers) fündig - hängt halt von der Programmiersprache ab die du verwendest.

jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Alt 11.06.2006, 19:08   #3
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard

hi,

erstmal thx.
meine angaben waren aber etwas unpräzise, muss ich zugeben.
Sprache soll C# sein, DB wenn möglich SQL Server 2005 - Realiserung von Versionierung/Editionen/Varianten (z.B. Deutsch/Englisch) mittels des gesuchten Tools (DB Abstraction Layer, Object Persistence Framework oder was auch immer)

CVS hab ich als Sourcecodeverwaltung in Verwendung, ein Umstieg auf Subversion ist geplant. Das kann die gestellten Forderungen aber sicher nicht efüllen, da man die Möglichkeit haben soll, z.B. SQL Abfagen oder XQery Abfragen auf eine XML Spalte der DB abzusetzen. Volltextndizierung und Suche vom SQL Server soll auch verwendet werden.

Bei Hotsrcipts hab ich nix gefunden, das von dir verlinkte Tool ist PHP.

Anforderung konreter beschrieben: Es geht um Handbücher bzw. Handbuchteile, die von mehreren Redakteuren parallel bearbeitet werden, Grafiken enthalten usw. Diese Handbuchteile werden in der DB in mehreren Versionen gespeichert. Falls es Änderungen gibt, darf ein alter Stand nicht einfach überschreiben werden, sondern es muss eben eine neue Version angelegt werden. Bestimmte Versionen der Handbuchteile können zu einer Edition zusammengefasst werden.
Mehrere Sprachvarianten sollen möglich sein.

Wie gesagt, eine eigenen Implementierung wäre natürlich eine Möglichkeit, aber mich wunderts halt, dass es dazu nix fertiges gibt bzw. hab ich halt nix fertiges gefunden. Bevor ich selbst was implementiere suche ich, was es schon gibt, da die Chance groß ist, dass sich schon jemand mit einem ähnlichen Problem beschäftigt hat und man daraus lernen kann.

fg
hannes
Biri ist offline   Mit Zitat antworten
Alt 11.06.2006, 20:52   #4
T.dot
Master
 
Registriert seit: 13.08.2003
Beiträge: 624


Standard

keine Ahnung, ob dir das was nützt:
Schon mal an einen Updatetrigger gedacht? Bei jedem Update wird einfach der alte Eintrag zusätzlich gespeichert oder der neue geinserted statt upgedatet, oder ähnliches.
Ich weiß aber nicht wie performant und sinnvoll das ganze wäre.

mfg Thomas
T.dot ist offline   Mit Zitat antworten
Alt 12.06.2006, 11:58   #5
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard

hi,

nunja, blos mit einem update trigger lässt sich das ganze natürlich nicht lösen. Die geforderte Funktionlaität ist ja umfangreicher, wie das fix bei jedem Update eine neue Version angelegt werden soll.
Das soll schon steuerbar sein, außerdem muss es wie gesagt Varainten und Editionen geben.

Aber alleine die Anfodrerung: "Neue Version anlegen" könnte man sicher schön über eine Stored Procedure lösen. Update Trigger möchte ich nicht, weil ich dann die Möglichkeit des steuernden Eingreifens verliere.

fg
hannes
Biri ist offline   Mit Zitat antworten
Alt 12.06.2006, 18:34   #6
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Ich würd' mich bei den CMSen umsehen, es ist vermutlich einfacher sich auf ein bestehendes CMS aufbauend eine eigene Lösung zu stricken als alles selbst neu zu machen. Vielleicht findest du sogar eines das deine Anforderungen schon beherrscht.

jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Alt 16.06.2006, 22:01   #7
Biri
Hero
 
Registriert seit: 04.09.2001
Beiträge: 894


Standard

hi,

na dann werd ich mal etwas suchen - vorschläge sind gerne willkommen.
Sollte halt C# sein + möglichst viele der genannten anforderungen erfüllen.

fg
hannes
Biri ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:12 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag