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 :)