|
|
|
База данных для анкеты
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Подскажите чем сможете. Нужно хранить вопросы анкеты с вариантами ответов в базе данных. Вопросы могут быть ввод числа, да/нет, да/нет/не знаю, альтернатива (один вариант из множества), выборка (можно выбрать много вариантов из множества), ввести свой ответ. Как спроектировать правильно бд с разными вариантами ответов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2010, 16:21 |
|
||
|
База данных для анкеты
|
|||
|---|---|---|---|
|
#18+
Мне видятся три таблички: 1. ID вопроса(PK), Текст 2. ID ответа (PK), Текст 3.Ассоциатор 1 и 2 (FK) с признаком правильности, который является AK Если правильно понял задачу для случая без историзации 1 и 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2010, 16:33 |
|
||
|
База данных для анкеты
|
|||
|---|---|---|---|
|
#18+
В случае нового ответа вроде как все сростается, только думаю нужно отличать ответы предустановленные и новые пользовательские, например добавив поле признака (0/1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2010, 16:37 |
|
||
|
База данных для анкеты
|
|||
|---|---|---|---|
|
#18+
Таблица Анкеты 1. Код 2. Наименование Таблица Перечислений (для значений перечисления и множеств значений) 1. Код Таблица Значений перечислений (для значений перечисления и множеств значений) 1. Код 2. Код перечисления 3. Текст Таблица Вопросы 1. Код 2. Код анкеты 3. Текст вопроса 4. Тип ответа (число, булево, значение перечисления, множество, строка) 5. Код перечисления (только для перечислений и множеств) Таблица Анектируемые 1. Код 2. Наименование Таблица Ответы 1. Код 2. Код вопроса 3. Код анкетируемого Таблица Ответы-числа 1. Код ответа (уникальный) 2. Значение Таблица Ответы-булево 1. Код ответа (уникальный) 2. Значение Таблица Ответы-перечисления 1. Код ответа (уникальный) 2. Код значения перечисления Таблица Ответы-множества 1. Код ответа (НЕ уникальный) 2. Код значения перечисления Таблица Ответы-строки 1. Код ответа (уникальный) 2. Значение С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2010, 16:45 |
|
||
|
База данных для анкеты
|
|||
|---|---|---|---|
|
#18+
Кстати булево это частный случай перечисления, но можно в отдельное вынести С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2010, 16:49 |
|
||
|
База данных для анкеты
|
|||
|---|---|---|---|
|
#18+
Ах да, на все ответы надо еще "правильные ответы" С уважением, Naf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2010, 16:57 |
|
||
|
База данных для анкеты
|
|||
|---|---|---|---|
|
#18+
Naf Таблица Перечислений (для значений перечисления и множеств значений) 1. Код А как это таблица с одним полем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2010, 14:56 |
|
||
|
База данных для анкеты
|
|||
|---|---|---|---|
|
#18+
Lex_thNaf Таблица Перечислений (для значений перечисления и множеств значений) 1. Код А как это таблица с одним полем?Таблица нужна только для группировки значений перечислений в таблице "Таблица Значений перечислений", т.е., Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2010, 16:33 |
|
||
|
База данных для анкеты
|
|||
|---|---|---|---|
|
#18+
Это понял. Спасибо! Тут с ответами получается что связь один к одному в таблице Ответы с каждой из таблиц ответов разных типов. Такое правильно? Вроде во всех правильных формах связь между таблицами может быть только один ко многим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2010, 17:16 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36532530&tid=1542796]: |
0ms |
get settings: |
4ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
194ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
| others: | 207ms |
| total: | 472ms |

| 0 / 0 |
