Mam JEDEN długą stronę HTML, kilka zestawów pytań podzielonych na małe sekcje (ok. 15 podsekcji na jednej stronie), w sumie pytania to około 100 pytań: różni się od wprowadzania, wielokrotnego wyboru, pól wyboru, przycisków opcji, pola tekstowego, i przesyłanie plików. Jedno pytanie może zawierać wiele odpowiedzi uzyskanych z grupy pól wyboru, grupy listy wyboru, grupy wielokrotnego wyboru lub wszystkich z nich w jednej odpowiedzi. Myślałem, że skorzystam z tego projektu bazy danych poniżej, ale ostatnio dowiedziałem się, że to jednak nie jest dobre podejście.
- Jeden klient może mieć tylko jeden zestaw pytań: jeden klient na 100 pytań.
- W przypadku starego podejścia nie trzymam pytania w bazie danych, ale zamiast tego przypisuję jako stałe kodowanie PHP. Problem polega na tym, że muszę porównać pytanie w PHP, aby zsynchronizować je z odpowiedzią w bazie danych. Gdyby jedno pytanie zostało zmienione / usunięte / przeniesione z PHP, na pewno zgubiłbym się, aby dopasować je do odpowiedzi w bazie danych Kwestionariusz. Lepsze rozwiązanie?
- Czy mogę zachować wiele odpowiedzi uzyskanych z wielu elementów w formie w jednym polu jako jedną odpowiedź? Jak mogę pobrać to pole i wyświetlić je ponownie w celu wyświetlenia przez klienta w formularzu?
- Którą opcję poniżej powinienem wybrać?
OPCJA 1: Stare podejście (1 stół)
TABELA: Kwestionariusz
- ID (PK)
- Identyfikator klienta
- Status
- A1
- A2
- A3
- .
- .
- .
- A100
OPCJA 2: Nowe podejście (2 tabele)
TABELA: Pytanie
- QID (PK)
- Pytanie (varchar)
TABELA: Odpowiedź
- POMOC (PK)
- Identyfikator klienta
- QID (int)
- Odpowiedź (varchar)
Lub OPCJA 3?