|
|
|
Структура БД при организации опросника на сайте
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток. Хочу организовать возможность опрашивания посетителей сайта. Опросов планируется проводить много. Каким образом лучше организовать структуру таблиц в базе данных (СУБД MySQL) для большого числа опросов? Не будет ли возникать проблемы с производительностью, если структура будет следующей? В БД 2 таблицы: первая таблица ( table 1 ) с вопросами, а вторая ( table 2 ) - с вариантами ответов. table 1 имеет следующие поля: question_id - id опроса question - вопрос, задаваемый пользователям num - количество опрошенных table 2 : question_id - id опроса answer_id - id ответа description - описание ответа num - количество пользователей, проголосовавших за этот ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2012, 14:47 |
|
||
|
Структура БД при организации опросника на сайте
|
|||
|---|---|---|---|
|
#18+
psdpsd, Проблем небудет. Вот только по уму нужно еще табличку из которой можно узнать какой пользователь как проголосовал. Это для того чтобы второй раз этот пользователь не мог голосовать, ну или один и тот же опрос не предлагался несколько раз - зависит от того что вы лепите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2012, 19:29 |
|
||
|
Структура БД при организации опросника на сайте
|
|||
|---|---|---|---|
|
#18+
Структура не продумана совершенно. Сделать что-то путное на этих двух таблицах невозможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 08:09 |
|
||
|
Структура БД при организации опросника на сайте
|
|||
|---|---|---|---|
|
#18+
psdpsd, Почему бы вам не посмотреть как устроена структура уже готовых опросников. Может вариант заюзать какой нибудь готовый плагин для опросов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 12:58 |
|
||
|
Структура БД при организации опросника на сайте
|
|||
|---|---|---|---|
|
#18+
Злой Бобр, Злой БобрВот только по уму нужно еще табличку из которой можно узнать какой пользователь как проголосовал. Пожалуй можно. Я привел лишь базис. Спасибо. Программист-Любитель, Вы можете посоветовать мне как усовершенствовать данную структуру, или подсказать другую? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 13:48 |
|
||
|
Структура БД при организации опросника на сайте
|
|||
|---|---|---|---|
|
#18+
1) в опросе всегда один вопрос? 2) в опросе всегда один ответ из фиксированного числа вариантов? (несколько вариантов checkbox бывают?) 3) А может вам нужно поле "введите свой ответ"? 4) Собственно, хранить ссылки на пользователей или их хосты? Вариант для: Один опрос-один вопрос. Один обязательный ответ. Учитываю пользователей. Всё остальное можно получить через View или запросы(количество опрошенных, количество ответов) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 14:28 |
|
||
|
Структура БД при организации опросника на сайте
|
|||
|---|---|---|---|
|
#18+
@k@DElpher, 1) В опросе всегда один вопрос 2) Варианты с checkbox возможны 3) Поле для ввода собственного ответа отсутствует 4) Опрос доступен как зарегистрированным так и незарегистрированным пользователям. Следовательно, если пользователь авторизовался в системе, то информация о его голосовании должна записываться в БД. Вы предлагаете использовать InnoDB? Для меня в решении данной задачи главное - высокая производительность при меньших затратах. Как я уже писал, "Опросов планируется проводить много". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 15:37 |
|
||
|
Структура БД при организации опросника на сайте
|
|||
|---|---|---|---|
|
#18+
psdpsd@k@DElpher, Вы предлагаете использовать InnoDB? Для меня в решении данной задачи главное - высокая производительность при меньших затратах. Как я уже писал, "Опросов планируется проводить много". Кто предлагает? Я только ER схемку привел. Или комментарий удалили чей-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2012, 08:01 |
|
||
|
Структура БД при организации опросника на сайте
|
|||
|---|---|---|---|
|
#18+
@k@DElpher, В MyISAM невозможно использовать FK, вот я и предположил, что Вы предлагаете использовать InnoDB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2012, 16:05 |
|
||
|
Структура БД при организации опросника на сайте
|
|||
|---|---|---|---|
|
#18+
psdpsd, а, я не в курсе особенностей MySQL, во всяком случае это всего лишь "целостность", и фактически можно FK констрейнт не делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2012, 16:11 |
|
||
|
Структура БД при организации опросника на сайте
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2012, 16:42 |
|
||
|
Структура БД при организации опросника на сайте
|
|||
|---|---|---|---|
|
#18+
@k@DElpher, Хотя, у меня еще один вопрос имеется. В Вашей структуре в таблице "Варианты ответов" полю id_answers присвоен PK. Это означает, что каждое значение этого поля (int) уникально, так? К примеру если у нас имеется 3 опроса, тогда таблица будет следующей: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Таким образом, чем больше опросов мы имеем, тем больше памяти в БД (id_answers) будет расходоваться на запись новых ответов. Может быть лучше не делать значения этого поля уникальными, а для каждого нового опроса id_answers начинать с 1? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2012, 16:59 |
|
||
|
Структура БД при организации опросника на сайте
|
|||
|---|---|---|---|
|
#18+
Тогда первичный ключ будет два поля IdPoll и IdAnswers и, если усложнять появяться сложные запросы. А в первом случае для idAnswers можно сделать автоинкремент и не следить за нумерацией (если он там поддерживается). А вообще уточню, что предложенный мной вариант не пригоден для ситуаций, когда нужно несколько ответов. --- у вас миллионы опросов будут? Зачем экономить не мелочах. А по сути: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Занимают одно и то же количество памяти:). В обоих случаях Integer и количество записей одинаково. Если только вы для этого поля не хотите использовать Byte. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2012, 18:45 |
|
||
|
Структура БД при организации опросника на сайте
|
|||
|---|---|---|---|
|
#18+
Всем привет.сколько будет стоить разработка интерфейса на Визуал студио, на языке С#, для базы данных созданной в Акцессе?со сроком где то 2 месяца. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2012, 15:42 |
|
||
|
Структура БД при организации опросника на сайте
|
|||
|---|---|---|---|
|
#18+
bespe4naya, Если срок посчитан точно то сами перемножте почасовку на количество часов и дней. У каждого она разная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2012, 23:13 |
|
||
|
Структура БД при организации опросника на сайте
|
|||
|---|---|---|---|
|
#18+
Прошу ответить еще на один вопрос. Из всего выше сказанного я сделал пока две таблицы: polls Код: sql 1. 2. 3. 4. 5. и answers Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Как видно, таблицы объединяет поле poll_id . Если выполнить запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. то получим следующий вывод Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. В данном примере, так как в запросе имеется LIMIT 10 , выводятся 10 строк. Собственно вопрос. Каким запросом можно залимитировать количество опросов при выводе? То есть, чтобы выводилось n-ое количество опросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.05.2012, 18:56 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=37774469&tid=1541705]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
137ms |
get topic data: |
6ms |
get forum data: |
6ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 430ms |

| 0 / 0 |
