Я создаю страницу форума, для которой я создал следующую схему базы данных:
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);
, тогда я думаю, что это займет больше места в базе данных, но было бы правильно концептуально.
Так что я не знаю, что мне делать, делать ли то, что я делаю прямо сейчас, или сделать колонки атомарными согласно нормализации.
Пожалуйста, объясните, что лучше и почему, потому что есть много случаев, когда я обнаруживал такую проблему, но все время оставался неоднозначным, что мне делать!
Так что, пожалуйста, помогите.
Заранее спасибо:)