Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jaki jest najlepszy sposób przechowywania wartości pól wyboru w bazie danych MySQL?

Między nieruchomościami a udogodnieniami istnieje relacja „wiele do wielu”. Aby to zamodelować, potrzebujesz oddzielnej tabeli, a nie zmiennej liczby kolumn.

Jest jedna tabela, w której przechowywane są Twoje właściwości.

INSERT INTO property (id, address, square_footage...) VALUES (111, '123 Main St', 1234...)

Jest jeden stół, który przechowuje wszystkie możliwe udogodnienia.

INSERT INTO amenities (id, type, description) VALUES (222, 'Unit Features', 'Air Conditioning');

Dla każdego udogodnienia, które ma nieruchomość, wstaw jeden wiersz do tabeli, odnoszący się do tych dwóch:

INSERT INTO property_amenitities (property_id, amenity_id) VALUES (111, 222);

Jeśli chcesz wiedzieć, jakie udogodnienia ma konkretna nieruchomość, po prostu SELECT wszystkie wiersze z tej tabeli dla klucza tej właściwości. Jeśli chcesz wydrukować pola wyboru dla wszystkich udogodnień, SELECT z amenities tabeli i wykonaj LEFT OUTER JOIN do property_amenities stół. Te wiersze z wartościami null z property_amenities tabela to pola, które nie są zaznaczone.

Powiązane czytanie . Powinieneś odebrać książkę o relacyjnych bazach danych z lokalnych GRANIC, zanim wyjdą z biznesu :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego i gdzie używać INDEKSU – plusy i minusy

  2. Zapytanie MySQL Select do pobrania bazy rekordów na podstawie wartości z listy

  3. mysql:Jaka jest właściwa składnia słowa NIE PODOBA?

  4. LOAD DATA nie jest dozwolone w procedurach składowanych

  5. Jak skonfigurować strefę czasową xampp mysql i apache?