[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проектирование БД
T1grOK
На данный момент занимаюсь разработкой сайта проводящего социологические исследования среди молодежи(а в частности среди студентов(для диплома)) и в общем не знаю как лучше спроектировать для этих целей базу данных.

Суть в чем, есть темы для опроса, соответственно у каждой темы существует набор
вопросов, пользователь отвечает и его голос учитывается, НО требуется чтобы результаты опроса можно было просмотреть в нескольких разрезах:
1) общий - обычный вывод результатов по вопросам опроса.
2) в разрезе полов(муж, жен);
3) в разрезе ВУЗОВ;
4) в разрезе ВУЗОВ и полов (муж, жен).

Пока на ум пришла лишь вот такая структура БД

Таблица1: ТЕМЫ(ВОПРОС)

Ид. темы|Название|Дата создания|Количество голосов|Количество мнений

Таблица 2: ВАРИАНТЫ ОТВЕТОВ

Ид. варианта|Ид. темы|Содержание ответа|Кол-во голосов

Таблица 3: РЕГИСТР(информация во всех разрезах)

Ид. темы|Ид. Ответа|Пол|Ид. ВУЗ|кол-во голосов

В случае если требуется получить общие результаты(участвует только таблица 1 и 2) получается все красиво и быстро.

ВОПРОС касается третьей таблицы, в случает выборки из нее получается довольно много требуется обработать строк. Или это нормально? Ведь БД для того и предназначена.

Например есть тема в ней(по максимуму):
10 ВАРИАНТОВ ОТВЕТОВ
10 ВУЗОВ
2 ПОЛА
Получается по каждой теме может быть максимально 10*10*2 = 200 записей в третьей таблице. А всего по таблице(если 100 тем) уже 20000 записей.





Спустя 2 дня, 29 минут, 50 секунд (24.12.2010 - 14:39) SlavaFr написал(а):
А у тебя таблицы user нет?
если да, то можно все совсем по другому зделать.

Спустя 1 день, 22 часа, 10 минут, 52 секунды (26.12.2010 - 12:50) T1grOK написал(а):
Есть. В общем, подумал, потестировал скорость выборки из БД при большом количестве записей, результаты оказались удовлетворительными, решил оставить структуру БД указанную выше.


_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.