Следует ли мне использовать плоские таблицы или нормализованную базу данных?

У меня есть веб-приложение, над которым я сейчас работаю, которое использует базу данных MySQL в качестве серверной части, и мне нужно знать, что лучше для моей ситуации, прежде чем я продолжу.

Проще говоря, в этом приложении пользователи смогут создавать свои собственные формы с любыми числовыми полями (они решают), и прямо сейчас у меня есть все хранится в паре таблиц, связанных внешними ключами. Мой друг предлагает, чтобы все было "легко / быстро", что я должен преобразовать форму каждого пользователя в плоскую таблицу, чтобы запросы данных от них оставались быстрыми (в случае большого роста).

Должен ли я сохранять базу данных нормализованной, чтобы все было объединено в реляционные таблицы с внешними ключами (индексами и т. Д.), Или мне следует создавать плоские таблицы для каждой новой формы, создаваемой пользователем?

Очевидно, что некоторые плюсы создания плоских таблиц - это разделение данных (безопасность) и снижение скорости запросов. А если серьезно, сколько я от этого выиграю? Я действительно не хочу, чтобы 10000 таблиц постоянно удалялись, изменялись и добавлялись, но если это будет лучше, чем я сделаю это ... Мне просто нужны некоторые данные.

Спасибо

15
задан The Virtual Machinist 1 December 2010 в 19:01
поделиться