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.