我正在创建一个论坛页面,为此我创建了以下数据库架构:
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);
然后我认为这将在数据库上占用更多空间,但是在概念上是正确的。
所以我不知道我应该做什么,是做我现在正在做的事情,还是按照规范化使列原子化。
请解释哪个更好以及为什么,因为在很多情况下我发现了这样的问题,但我一直模棱两可,我应该怎么做!
所以请帮忙。
提前致谢 :)