我有一個快速的問題 - SQL表格設計中是否存在「或/或」數據的最佳做法?SQL表格 - 模式或數據
我有以下問題 - 我需要在SQL表中存儲模板數據(定義文件夾結構)。任何給定的文件夾可能都有一個靜態名稱(例如「電子郵件」),或者可能會爲每個實例動態生成,具體取決於與其關聯的對象(例如公司名稱)。
當實例化業務對象時,模板數據將用於創建實際的文件夾結構。
我想存儲這樣的數據:
CREATE TABLE folder ( ID INT IDENTITY PRIMARY KEY, FolderName NVARCHAR(50), IsDynamic BIT NOT NULL DEFAULT 0, DynamicFieldID INT FOREIGN KEY REFERENCES dynamicField, ParentID INT FOREIGN KEY REFERENCES folder )
因此,如果IsDynamic字段設置爲true,我知道會有一個規則(外鍵定義),但如果沒有我將使用存儲在文件夾名稱中的值。
但是,這對我來說似乎有點混亂 - 這種情況下是否存在「最佳實踐」模式?
喜帕特里克 - 感謝。我正在考慮這個問題,但是在決定這是更好還是更糟的情況下被掛了。對於爲什麼這樣更好(或者你認爲是什麼利弊)你有什麼看法? – Chris 2009-03-03 14:38:54
如果您擁有兩種以上的文件夾,或者兩列以上的文件夾受到影響,這種方法可能比試圖將所有內容保存在一張表中更清晰。 但是,我認爲Chris的COALESE建議更實用。我會接受他的回答。 :-) – 2009-03-03 17:57:24