Database
 sql >> база данни >  >> RDS >> Database

Модел на база данни за онлайн проучване. Част 1

Трябва да създам дизайна на нова база данни, която ще бъде слоят с данни за заявление; приложението ще бъде онлайн проучване или анкетиране като Survey Monkey. Предизвикателството ми е, че функционалността, която ми е необходима, не се поддържа от съществуващите сайтове за проучване, така че трябва да създам своя собствена. Това, от което се нуждая, е условно проучване (ако отговорът на въпрос 4 е „да“, тогава задаваме въпрос 5 и пропускаме въпрос 6; но ако отговорът на въпрос 4 е „не“, тогава пропускаме въпрос 5 и задаваме въпрос 6 ).

Ще пиша серия от статии за този дизайн и ще разширявам дизайна всеки път, така че тази статия е най-вече за настройката на сцената за основната база данни за проучване. В бъдещи статии ще работя върху разширените функции свързани с условен ред на въпроси в анкетата и администрирането на анкетите.

Домейн

Домейнът за онлайн проучване се основава на въпросник или анкета, която се състои от поредица от въпроси. Респондентите ще участват в анкетата и ние трябва да съхраним техните отговори.

Засега ще започнем с отворени въпроси които се състоят от въпрос и отговор.

В бъдещите версии на модела ще искаме да дефинираме реда на въпросите в анкетата, независимо дали въпросите са условни или не, както и различните типове въпроси (като множествен избор).

Функционалност

Както споменахме, ще питаме респондентите за да отговорим на анкетата (няма да е отворена за всички) и трябва да съхраняваме техните отговори. Освен това същият участник може да се върне и да актуализира своите отговори. Съхраняване на отговори може да бъде малко предизвикателство, тъй като ще ни трябват таблици, които са свързани с оригиналните въпроси, но имат отговори за всеки от респондентите, които попълват анкетата.

В бъдещите версии на модела ще добавим администратори на онлайн анкетите.

И накрая, ще трябва да има отчети и анализи:Какви бяха отговорите? Колко отговора бяха получени от различни подгрупи? На кои въпроси не се отговаряше най-често (за да се идентифицират грешно формулирани въпроси)?

Съекти и връзки

Да видим:имаме анкета (или въпросник), състояща се от поредица от въпроси. Засега започваме само с отворени въпроси, така че няма нужда от възможни отговори, свързани с въпроса, както би било необходимо за въпроси с множествен избор. Редът на въпросите в анкетата ще бъде фиксиран (дефиниран при създаването на анкетата), но в бъдещите версии на модела бихме искали да добавим опцията за условен път през анкетата.

Очевидно ще ни трябват респонденти и техните отговори. Както споменахме, ще добавим потребителска администрация в бъдещите версии на модела.

Официален дизайн

Сега, когато познаваме обектите и отношенията, ние сме готови да изградим нашата диаграма на взаимоотношенията на обектите (ERD). За да направим това, ще използваме Vertabelo , онлайн инструмент за моделиране на база данни. Ако все още нямате своя Vertabelo акаунт, можете да се регистрирате тук за безплатен пробен план.

За нашата онлайн анкета ще започнем с анкетата, свързаните с нея въпроси и реда, в който се показват въпросите. Добавяме респондентите и след това свързваме анкетите, на които даден респондент е предоставил отговори, и техните отговори за анкета.




Засега нека използваме това като основа и да добавим допълнителна сложност в бъдещите версии на модела.

Заключение

С дефинирания ни основен дизайн вече можем да започнем да мислим за подобрения. В бъдещи статии ще работя върху по-разширените функции като:

  • Различни типове въпроси, като въпроси с множествен избор
  • Условен ред на въпросите в анкета
  • Администриране на проучванията.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL урок за начинаещи

  2. Какво представлява технологията JPA на Java?

  3. PL/SQL Силен референтен курсор с дефиниран от потребителя тип данни на запис

  4. Топ 5 безплатни инструменти за проектиране на бази данни

  5. История на командите в isql