hallo,
ich hab mal eine Frage zu Tabellendesign. Ich nutze Tabellenstrukturen wie nachfolgendes Beispiel zeigt. Wenn ich kein Spezielles Verhalten benötige besteht eine Tabelle immer nur aus diesen Spalten, einziger Unterschied ist immer der Prefix und natürlich der Tabellenname.
CREATE TABLE [dbo].[tbl_fragetyp](
[fragetypID] [bigint] IDENTITY(1,1) NOT NULL,
[fragetyp_bezeichnung] [nvarchar](200) NULL,
[fragetyp_beschreibung] [nvarchar](max) NULL,
[fragetyp_reihenfolge] [int] NULL,
[fragetyp_angelegtvon] [nvarchar](200) NULL,
[fragetyp_angelegtvonID] [int] NULL,
[fragetyp_angelegtam] [datetime] NULL,
[fragetyp_geaendertzaehler] [int] NULL,
[fragetyp_geaendertvon] [nvarchar](200) NULL,
[fragetyp_geaendertvonID] [int] NULL,
[fragetyp_geaendertam] [datetime] NULL,
[fragetyp_geloescht] [bit] NULL,
[fragetyp_geloeschtvon] [nvarchar](200) NULL,
[fragetyp_geloeschtvonID] [int] NULL,
[fragetyp_geloeschtam] [datetime] NULL
"Zum Glück" habe ich irgendwann mal bemerkt dass ich immer das gleiche mache und erstelle mir mittlerweile diese Tabellen automatisch inkl. einer allgemeingültigen MS_Description.
Gerade weil ich im unteren Teil immer dieses "wer hats gemacht" speichere kam ich auf die Idee dass es evtl. noch andere Ansätze gibt. Z.B. die Änderungen in einer einzigen Tabelle mit dem Sinn "ÄnderungsLog" zu speichern. Felder betroffener Datensatz, betroffene Tabelle, Datum, Fall (Insert, Update, Delete), evtl. betroffenes Feld, Benutzer. Ginge ja z.B. mit einem Trigger.
Wie löst ihr das, wenn ihr zu nahezu jeder Tabelle und Datensatz die Person nennen können sollt welche die Änderung gemacht hat? Gibts Erfahrungen zur Verwendung einer Logtabellen im Vergleich zu meinem Ansatz? Gibt es evtl. weitere Ansätze?
ich hab mal eine Frage zu Tabellendesign. Ich nutze Tabellenstrukturen wie nachfolgendes Beispiel zeigt. Wenn ich kein Spezielles Verhalten benötige besteht eine Tabelle immer nur aus diesen Spalten, einziger Unterschied ist immer der Prefix und natürlich der Tabellenname.
CREATE TABLE [dbo].[tbl_fragetyp](
[fragetypID] [bigint] IDENTITY(1,1) NOT NULL,
[fragetyp_bezeichnung] [nvarchar](200) NULL,
[fragetyp_beschreibung] [nvarchar](max) NULL,
[fragetyp_reihenfolge] [int] NULL,
[fragetyp_angelegtvon] [nvarchar](200) NULL,
[fragetyp_angelegtvonID] [int] NULL,
[fragetyp_angelegtam] [datetime] NULL,
[fragetyp_geaendertzaehler] [int] NULL,
[fragetyp_geaendertvon] [nvarchar](200) NULL,
[fragetyp_geaendertvonID] [int] NULL,
[fragetyp_geaendertam] [datetime] NULL,
[fragetyp_geloescht] [bit] NULL,
[fragetyp_geloeschtvon] [nvarchar](200) NULL,
[fragetyp_geloeschtvonID] [int] NULL,
[fragetyp_geloeschtam] [datetime] NULL
"Zum Glück" habe ich irgendwann mal bemerkt dass ich immer das gleiche mache und erstelle mir mittlerweile diese Tabellen automatisch inkl. einer allgemeingültigen MS_Description.
Gerade weil ich im unteren Teil immer dieses "wer hats gemacht" speichere kam ich auf die Idee dass es evtl. noch andere Ansätze gibt. Z.B. die Änderungen in einer einzigen Tabelle mit dem Sinn "ÄnderungsLog" zu speichern. Felder betroffener Datensatz, betroffene Tabelle, Datum, Fall (Insert, Update, Delete), evtl. betroffenes Feld, Benutzer. Ginge ja z.B. mit einem Trigger.
Wie löst ihr das, wenn ihr zu nahezu jeder Tabelle und Datensatz die Person nennen können sollt welche die Änderung gemacht hat? Gibts Erfahrungen zur Verwendung einer Logtabellen im Vergleich zu meinem Ansatz? Gibt es evtl. weitere Ansätze?
Comment