![]() |
Datenbank: noch keine • Version: noch keine • Zugriff über: noch gar nicht
Datenbankdesign - Versionierung von Dokumenten (Datensätzen)
Hallo,
ich sitze gerade am Design für eine neue Datenbank. In dieser werden Dokumente verwaltet, welche eine Versionsnummer brauchen. Alte Versionen sollen ggf. wieder aktiv werden. Die Frage ist, ob ich die Version einfach mit in dem Dokumentendatensatz reinschreibe und für eine neue Version den Datensatz neu anlege, oder ob ich das auslagere (wie auch immer)? Viele Grüße .... |
Re: Datenbankdesign - Versionierung von Dokumenten (Datensät
Ich würde einfach ein weiteres Feld für die Version anlegen.
|
Re: Datenbankdesign - Versionierung von Dokumenten (Datensät
dito
alles andere ist unnötiger Aufwand. Heiko |
Re: Datenbankdesign - Versionierung von Dokumenten (Datensät
also, ich hatte mal das Vergnügen mit einer solchen versionierenden Tabelle... da gab es dann tausend Flags, mit denen man abfragen konnte, ob es:
* die erste Version ist (= Vers. 1) * die letzte Version ist * und noch andere, die ich mittlerweile verdrängt hab :D Das Feld für die letzte Version war dann auch immer mit upzudaten - damals wurden noch keine Trigger eingesetzt, obwohl es auf Interbase und Oracle gelaufen ist. Alles in allem tendiere ich auch zu dieser Lösung, aber man sollte sich vorher wirklich ausgiebigst Gedanken machen. |
Re: Datenbankdesign - Versionierung von Dokumenten (Datensät
Hi,
im Moment sehe ich das auch als beste Lösung (1 zus. Feld), aber wer weiß, wie sich die Anforderungen noch verändern. Danke für eure Einschätzung ... // OHHHH 1000.er Beitrag - bekomme ich nen lila Stern? :stupid: |
Re: Datenbankdesign - Versionierung von Dokumenten (Datensät
Hallo,
naja
SQL-Code:
create table doc
(id integer not null, version integer not null, doc blob) 1. Version
SQL-Code:
letzte Version
where version = 1
SQL-Code:
select first 1 * from doc
order by version desc Version 1.0 des Programms ist fast fertig ;) Heiko |
Re: Datenbankdesign - Versionierung von Dokumenten (Datensät
Zitat:
|
Re: Datenbankdesign - Versionierung von Dokumenten (Datensät
@hoika dann würdest du einen zusammengesetzten Primärschlüssel benötigen, besser wäre es einen künstlichen Schlüssel zu verwenden.
SQL-Code:
create table doc
(id integer not null, Dokid integer not null, version integer not null, doc blob) |
Re: Datenbankdesign - Versionierung von Dokumenten (Datensät
Zitat:
und wie sieht jetzt zum Beispiel das SQL aus, das alle Dokumenten in der letzten Version in einem best. Verzeichnis liefert? |
Re: Datenbankdesign - Versionierung von Dokumenten (Datensät
SQL-Code:
select
first 1 * from dokumente where dokid = :dokid order by version desc; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz