Saya memiliki SATU halaman html panjang, beberapa set pertanyaan dibagi menjadi beberapa bagian kecil (sekitar 15 sub-bagian dalam satu halaman), total pertanyaan sekitar 100 pertanyaan: bervariasi dari input, pilihan ganda, kotak centang, tombol radio, textarea, dan unggah file. Satu pertanyaan dapat berisi banyak jawaban yang diperoleh baik dari kelompok kotak centang, kelompok daftar pilih, kelompok multi-pilih, atau semuanya digabungkan menjadi satu jawaban. Saya pikir saya akan menggunakan desain database ini di bawah ini tetapi menemukan belakangan ini bahwa itu bukan pendekatan yang baik.
- Satu pelanggan hanya dapat memiliki satu set pertanyaan: satu pelanggan per 100 pertanyaan.
- Untuk pendekatan lama saya tidak menyimpan pertanyaan dalam database tetapi menetapkan konstanta dalam pengkodean PHP. Masalahnya adalah saya harus membandingkan pertanyaan dalam PHP untuk menyelaraskannya dengan jawaban di database. Jika satu pertanyaan telah diubah / dihapus / dipindahkan dari PHP, saya pasti akan tersesat untuk mencocokkannya dengan jawaban di basis data Kuisioner. Solusi yang lebih baik?
- Apakah saya dapat menyimpan beberapa jawaban yang diperoleh dari berbagai elemen dalam bentuk menjadi satu bidang sebagai satu jawaban? Bagaimana saya bisa mengambil bidang ini dan menampilkannya lagi untuk dilihat pelanggan pada formulir?
- Opsi mana di bawah ini yang harus saya pilih?
OPSI 1: Pendekatan Lama (1 tabel)
TABEL: Kuisioner
- ID (PK)
- ID Pelanggan
- Status
- A1
- A2
- A3
- .
- .
- .
- A100
OPSI 2: Pendekatan Baru (2 tabel)
TABEL: Pertanyaan
- QID (PK)
- Pertanyaan (varchar)
TABEL: Jawab
- BANTUAN (PK)
- ID Pelanggan
- QID (int)
- Jawab (varchar)
Atau OPSI 3?