![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 26.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie. Mam pytanie do osób doświadczonych w projektowaniu baz danych.
Problem, jak optymalnie zrealizować taki oto system: - baza ogłoszeń nieruchomości - cechy do oferty Różne typy ogłoszeń mieszkania, domy, itd. każdy tych będzie zawierał trochę cech wspólnych trochę różnych. Domyślnie dużo cech. Czy optymalnym rozwiązaniem będzie stworzenie tabeli: offer - ogłoszenia, zawierające ID, opis, daty dodania modyfikacji itd feature_date feature_text feature_int ... osobne tabele dla różnych cech w zależności jakiego typu one będą. Wyszukiwanie będzie zawierać dużo LEFT JOINOW, jeśli będę chciał znaleźć ofertę o 10 cechach to jest 10 joinów, da się to zrobić optymalniej? Z mniejszą zależnością od ilości wyszukiwanych cech? Pozdrawiam jachu |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Możesz zrobić tak:
tabela ogłoszenia: ogloszeniaID, opis, cena... tabela cechy: cechyID, ogloszeniaID, opis_cechy, wartosc_cechy i w cechach dajesz np: 1, 1, "kolor", "czerwony" 2, 1, "wysokość", "niski" 3, 1, "głośność", "średni" (UNIQUE powinieneś ustawić na ogloszeniaID+opis_cechy) opis_cechy możesz zrobić na słowniku, ale szkoda zachodu - zapytania będą skomplikowane Aby znaleźć ogłoszenie, które spełnia twoje wszystkie cechy robisz:
Ten SQL daje ci duże pole do popisu |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 04:09 |