我創造我所創建以下數據庫模式的論壇頁面:問題在數據庫表中有關原子
Forum(questionId, postedByUserId, questionSubject, questionBody, TagIds);
Tags(tagId, tagName);
參賽作品中的主題將是這樣的:
(1, 1, 'sample subject', 'sample body', '1 4 2') ...
而且樣本條目的標籤將是:
(1, 'C'), (2, 'C++'), (3, 'Java'), (4, 'Data Structure') ...
現在的問題是,第一個正常形式說,所有的領域應該是原子,在這種情況下不滿足,但我認爲節省空間,就好像我正在創建一個新的表forum_tag(questionId, tagId);
,那麼我認爲這會佔用更多的數據庫空間,但從概念上講是正確的。
所以我不知道該怎麼做,是否要做我現在正在做的事情,或者讓coloumns按照標準化原子化。
請說明哪個更好,爲什麼因爲有很多情況下,當我發現這樣的問題,但始終保持模糊不清,我該怎麼辦!
所以請幫助。
感謝提前:)
正常化將幫助您維護數據庫。假設你必須刪除一個標籤。爲關係創建第三個表格將比查看TagIds字段並在那裏刪除它們更容易。我相信你可以考慮更多像這樣的例子。 – Averroes 2011-05-17 16:02:35