Database
 sql >> Baza danych >  >> RDS >> Database

Model bazy danych dla ankiety online. Część 1

Muszę stworzyć projekt nowej bazy danych, która będzie warstwą danych do wniosku; aplikacja będzie ankietą online lub ankietowanie jak Survey Monkey. Moim wyzwaniem jest to, że funkcjonalność, której potrzebuję, nie jest obsługiwana przez istniejące witryny z ankietami, więc muszę zbudować własną. Potrzebuję ankiety warunkowej (jeśli odpowiedź na pytanie 4 brzmi „tak”, to zadajemy pytanie 5 i pomijamy pytanie 6; ale jeśli odpowiedź na pytanie 4 brzmi „nie”, to pomijamy pytanie 5 i zadajemy pytanie 6 ).

Będę pisał serię artykułów na temat tego projektu i za każdym razem go rozbudowuję, więc ten artykuł dotyczy głównie przygotowania podstawowej bazy danych ankiet. W przyszłych artykułach będę pracować nad bardziej zaawansowanymi funkcjami związane z warunkową kolejnością pytań w ankiecie i administrowaniem ankietami.

Domena

Domena ankiety internetowej opiera się na kwestionariuszu lub ankiecie, która składa się z serii pytań. Respondenci wezmą udział w ankiecie i musimy przechowywać ich odpowiedzi.

Na razie zaczniemy od pytań otwartych które składają się z pytania i odpowiedzi.

W przyszłych wersjach modelu będziemy chcieli zdefiniować kolejność pytań w ankiecie, czy pytania są warunkowe, oraz różne typy pytań (np. wielokrotnego wyboru).

Funkcjonalność

Jak wspomniano, będziemy pytać respondentów odpowiedzieć na ankietę (nie będzie dostępna dla wszystkich) i musimy przechowywać ich odpowiedzi. Ponadto ten sam uczestnik może zwracać i aktualizować swoje odpowiedzi. Przechowywanie odpowiedzi może być nieco trudne, ponieważ będziemy potrzebować tabel powiązanych z oryginalnymi pytaniami, ale z odpowiedziami dla każdego z respondentów, którzy wypełniają ankietę.

W przyszłych wersjach modelu dodamy administratorów ankiet online.

Na koniec potrzebne będą raporty i analizy:jakie były odpowiedzi? Ile odpowiedzi otrzymano z różnych podgrup? Na które pytania najczęściej nie udzielono odpowiedzi (aby zidentyfikować źle sformułowane pytania)?

Podmioty i relacje

Zobaczmy:mamy ankietę (lub kwestionariusz) składającą się z serii pytań. Na razie zaczynamy tylko od pytań otwartych, więc nie ma potrzeby udzielania ewentualnych odpowiedzi związanych z pytaniem, które byłyby konieczne w przypadku pytań wielokrotnego wyboru. Kolejność pytań w ankiecie zostanie ustalona (zdefiniowana podczas tworzenia ankiety), ale w przyszłych wersjach modelu chcielibyśmy dodać opcję warunkowej ścieżki przez ankietę.

Oczywiście będziemy potrzebować respondentów i ich odpowiedzi. Jak wspomniano, dodamy zarządzanie użytkownikami w przyszłych wersjach modelu.

Projekt formalny

Teraz, gdy znamy encje i relacje, jesteśmy gotowi do zbudowania naszego diagramu relacji encji (ERD). W tym celu użyjemy Vertabelo , narzędzie online do modelowania baz danych. Jeśli nie masz jeszcze konta Vertabelo, możesz zarejestrować się tutaj, aby uzyskać bezpłatny abonament próbny.

W przypadku naszej ankiety online zaczniemy od ankiety, powiązanych z nią pytań oraz kolejności wyświetlania pytań. Dodajemy respondentów, a następnie łączymy ankiety, na które respondent udzielił odpowiedzi, oraz ich odpowiedzi w ankiecie.




Na razie użyjmy tego jako podstawy i dodajmy dalszą złożoność w przyszłych wersjach modelu.

Wniosek

Po zdefiniowaniu naszego podstawowego projektu możemy teraz zacząć myśleć o ulepszeniach. W przyszłych artykułach będę pracował nad bardziej zaawansowanymi funkcjami, takimi jak:

  • Różne rodzaje pytań, takie jak pytania wielokrotnego wyboru
  • Warunkowa kolejność pytań w ankiecie
  • Administracja ankiet.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Analiza danych a nauka o danych:jaka jest różnica?

  2. Jak przekonwertować ciąg na małe litery w SQL?

  3. Różnica między ograniczeniami w linii i poza linią

  4. Normalizacja i wydajność w trybie wsadowym

  5. Jak utworzyć przewijalny, aktualizowalny obiekt ResultSet w JDBC?