У меня есть веб-приложение, в котором я сейчас работаю, для базы данных MySQL используется база данных, и мне нужно знать, что лучше для моей ситуации, прежде чем продолжить.Должен ли я использовать плоские таблицы или нормализованную базу данных?
Проще говоря, в этом приложении пользователи смогут создавать свои собственные формы с любыми числовыми полями (они решают), и сейчас я все это храню в нескольких таблицах, связанных внешними ключами. Мой друг говорит, что для того, чтобы «легко и быстро» было необходимо преобразовать форму каждого пользователя в плоскую таблицу, чтобы запрос данных из них оставался быстрым (в случае большого роста).
Должен ли я поддерживать нормализацию базы данных со всем, объединенным в реляционные таблицы с внешними ключами (индексы и т. Д.), Или я должен строить плоские таблицы для каждой новой формы, которую создает пользователь?
Очевидно, что некоторые положительные моменты создания плоских таблиц - это разделение данных (безопасность) и скорость запросов. Но серьезно, сколько я получу от этого? Мне действительно не нужны 10000 таблиц, и я все время отбрасываю, изменяю и добавляю все, но если это будет лучше, чем я это сделаю ... Мне просто нужно внести свой вклад.
Спасибо
Нормализовать, пока не будет больно. :) – shamazing 2010-12-01 19:07:20
Не настоящий ответ ... но вы всегда можете использовать Википедию в качестве руководства. Вот схема базы данных Википедии: http://commons.wikimedia.org/wiki/File:Mediawiki-database-schema.png – Dragontamer5788 2010-12-01 19:10:29
@shamazing, затем денормализовать, пока она не работает. 80)) – Keng 2010-12-01 19:12:35