![]() |
AW: Bekomme Inner Joins nicht hin
Ich sehe in diesem Fall nicht das Problem der Normalisierung sondern das Design der Tabellen
|
AW: Bekomme Inner Joins nicht hin
Liste der Anhänge anzeigen (Anzahl: 1)
Ok, wir haben schon jetzt ein handfestes Problem? Dann helft mir bitte doch am besten jetzt 😓
|
AW: Bekomme Inner Joins nicht hin
Ich bin mir nicht sicher, wie diese Aussage zu verstehen ist:
Zitat:
|
AW: Bekomme Inner Joins nicht hin
Du hast Items, von welchem (1 zu n) Revisionen bestehen.
Item ID ( PK; autoinc) DESC (altes Feld ID) Daten1 Daten2 Rev ID (PK; autoinc) Item ( FK auf Tabelle Item Feld ID) Changed Comment |
AW: Bekomme Inner Joins nicht hin
Zitat:
Vorher: Item:
Item_Rev:
Nachher: Item:
Item_Rev:
Zitat:
|
AW: Bekomme Inner Joins nicht hin
Gemäß deinem vorher/nachher Beispiel kannst du die Felder der beiden Tabellen auch in eine Tabelle zusammenfassen. Es existiert zu jedem Item-Datensatz ja auch genau ein Datensatz in Item_Rev. Das macht die Trennung in zwei Tabellen eigentlich überflüssig.
Wenn du das in einer Tabelle realisierst, fällt das Item_Rev.ID Feld ja weg, da es dem Item.rev Feld entspricht. Da das Item.ID Feld aber kein AutoInc-Feld sein kann, bietet sich an, das Item.rev Feld als AutoInc anzulegen, damit die Revisionen automatisch hochgezählt werden. Damit ist gewährleistet, daß neuere Datensätze immer einen höheren rev-Wert haben. |
AW: Bekomme Inner Joins nicht hin
Möglicherweise hilft Dir noch die Info, dass es bei MS SQL einen Feldtyp Namens DATETIME gibt.
Das Feld ANLAGE_DATUM, mit dem Default GEDATE() definiert, verwende ich in quasi jeder Tabelle. Beim anlegen eines Datensatzes sorgt der Konstrukt dafür, dass Du automatisch die genau Datum und Uhrzeit zum Datensatz speicherst. |
AW: Bekomme Inner Joins nicht hin
Vielen Dank für die Geduld und Erklärungen bislang.
Ich sehe ein dass man es eigentlich auch in eine Tabelle packen könnte. Ich sehe noch nicht was ich dadurch gewonnen habe - Ich finde es so sehr sympathisch halt ein Feld "rev" zu haben, und sonst nichts als das "Item". Mit Kommentar, Zeitstempel usw. "verunreinige" ich mMn ein bisschen die Tabelle "Item". Außerdem ist die Tabelle "Item_Rev" völlig neutral gegenüber einem "Item". Eigentlich könnte ich sie sogar "Revisionen" nennen und für alles nutzen, nicht nur Items. Wenn ich eines Tages noch anfange zu Revisionen z.B. nicht nur einen Freitext-Kommentar sondern einen Benutzernamen zu speichern müsste ich dann auch nur die Tabelle "Revisionen" anpassen - Und nicht alle Tabellen wo etwas revisioniert wird. |
AW: Bekomme Inner Joins nicht hin
Beispiel solch einer Definition MS SQL Server Management Studio
Code:
CREATE TABLE [dbo].[tblName](
. . . [DatAuf] [datetime] NULL CONSTRAINT [DF_tblName_DatAuf] DEFAULT (getdate()), [UsrAuf] [varchar](124) NULL CONSTRAINT [DF_tblName_UsrAuf] DEFAULT ((((('Pc: '+host_name())+'; User: ')+suser_sname())+' - ')+app_name()), [DatAen] [datetime] NULL, [UsrAen] [varchar](124) NULL, . . usw |
AW: Bekomme Inner Joins nicht hin
Zitat:
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:12 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