Anda memiliki hubungan banyak ke banyak antara properti dan fasilitas. Untuk memodelkan ini, Anda memerlukan tabel terpisah, bukan variabel jumlah kolom.
Ada satu tabel yang menyimpan properti Anda.
INSERT INTO property (id, address, square_footage...) VALUES (111, '123 Main St', 1234...)
Ada satu meja yang menyimpan semua fasilitas yang mungkin.
INSERT INTO amenities (id, type, description) VALUES (222, 'Unit Features', 'Air Conditioning');
Untuk setiap kemudahan yang dimiliki properti, sisipkan satu baris ke dalam tabel yang menghubungkan keduanya:
INSERT INTO property_amenitities (property_id, amenity_id) VALUES (111, 222);
Jika Anda ingin mengetahui fasilitas apa yang dimiliki properti tertentu, cukup SELECT semua baris dari tabel ini untuk kunci properti itu. Saat Anda ingin mencetak kotak centang untuk semua fasilitas, SELECT dari amenities tabel dan lakukan LEFT OUTER JOIN ke property_amenities meja. Baris dengan nilai null dari property_amenities tabel adalah kotak yang tidak dicentang.
Bacaan terkait . Anda harus mengambil buku tentang database relasional dari BORDERS lokal Anda sebelum mereka gulung tikar :)