Napisane: 15.05.2013, 19:15:06 | |
Grupa: Zarejestrowani Postów: 42 Dołączył: 14.02.2012 Ostrzeżenie: (0%) |
|
Forum: MySQL · Podgląd postu: #1045252 · Odpowiedzi: 4 · Wyświetleń: 241 |
Napisane: 22.02.2012, 11:10:27 | |
Grupa: Zarejestrowani Postów: 42 Dołączył: 14.02.2012 Ostrzeżenie: (0%) |
W sumie to może być wiele kodów pocztowych do jednego miasta http://kodypocztowe.com/miasta-kody-poczto...o/warszawa.html No tak, mieszkałem w małym mieście i przyzwyczaiłem się do jednego kodu . To teraz tak, w tabeli customers mamy id miasta (town_id). Połączenie kodów pocztowych z miastami - relacja n:m. Jeżeli podanie kodu pocztowego będzie wymagane (jeszcze tego nie wiem), to żeby znać miasto, województwo, itd. to kolumnę town_id w tabeli customers można zamienić na postcode_id. Co do ulic to w sumie nie najgorszy pomysł żeby trzymać je bezpośrednio w tabeli customers/realestates, ale warto też zwrócić uwagę, że konkretne ulice przypadają pod jakiś kod pocztowy. Troszkę tego jest. Nie bardzo jeszcze wiem jak bardzo szczegółowe informacje będą wymagane, dlatego też rozpatruje różne mozliwości jak to zrobić. Czyli w zasadzie kod pocztowy wiąże się z ulicą i być może numerem domu, a nie z miastem. To znacznie utrudnia sprawę. Szkoda chyba czasu na szukanie i analizę, szczególnie gdy aplikacja ma dotyczyć wielu krajów. Najgorsze z tego wszystkiego to uzupełnianie słowników. Jeżeli nie masz przyzwoitej listy to ciężko będzie to zrealizować. Pewnie lepiej będzie w aplikacji zostawić użytkownikowi pola (miasto, kod_pocztowy, ulica) do ręcznego uzupełnienia, skryptem Java autouzupełniać w przypadku, gdy np. dane miasto istnieje już w bazie, a gdy nie dodawać do bazy. Kwestia jak wielka ma być aplikacja, ile nieruchomości będzie się w niej znajdować. Na wielkości rzędu 1 - 10k pewnie nie będzie się opłacać tak kombinować, a użytkownik nie odczuje dyskomfortu uzupełniając ręcznie pole adres (wraz z kodem pocztowym i miastem). Najważniejsze to wziąć ołówek, dużą kartkę i wszystko sobie rozrysować (tabele, relacje, kolumny, wymagane dane, dane opcjonalne, orientacyjna liczba rekordów w danej tabeli itd.). Bez dobrego projektu, ciężko stworzyć dobrą aplikację. |
Forum: Bazy danych · Podgląd postu: #942636 · Odpowiedzi: 14 · Wyświetleń: 1 244 |
Napisane: 18.02.2012, 11:30:41 | |
Grupa: Zarejestrowani Postów: 42 Dołączył: 14.02.2012 Ostrzeżenie: (0%) |
Nie wziąłem. Dodatkowo stworzyłbym tabelki: PARAMETERS ---------------- id_parameters PK param_name --unit (jako wartość np. m2) TYPE_PARAMETERS --------------------- id_parameters FK id_type FK tutaj kluczem głównym będzie złożenie kluczy obcych Do tabelki REALESTATES można dodać kolumny, które będą wspólne dla każdego typu nieruchomości np. cena + kolumnę parametrs (o tym za chwilę), do tabeli PARAMETERS można wpisać wszystkie parametry nieruchomości, które są rózne, a w tabelce TYPE_PARAMETERS będzie znajdować się połączenie tabel PARAMETERS i TYPE co spowoduje, że każdemu rodzajowi nieruchomości będzie można określić oddzielny parametr. W aplikacji np. na ekranie dodawania nowej nieruchomości, wypisałbym wszystkie parametry pasujące do danego typu nieruchomości, a po uzupełnieniu przez użytkownika tworzył tablicę i zapisywał do tabeli REALESTATES (kolumna parameters) korzystając z funkcji serialize(). Ewentualnie stworzyć jeszcze jedną tabele (nazwijmy ją TYPE_PARAM_REALE), która będzie tworzyła relację tabeli REALESTATES i TYPE_PARAMETERS, wtedy funkcja serialize() nie będzie konieczna, bo w tej tabeli dla każdej nieruchomości będzie kilka rekordów z parametrem i jego wartością: TYPE_PARAM_REALE --------------------- id_TYPE_PARAMETERS id_rel value id_TYPE_PARAMETERS i id_rel tworzą klucz główny Realizować można to np. tak: Pracownik wybiera typ nieruchomości 'mieszkanie', które w naszej tabeli TYPE ma id = 1. Wypisujemy mu parametry jakie są dostępne dla tego typu:
Pracownik dodaje nową nieruchomość, uzupełnia odpowiednie pola, a w aplikacji wykonują się dwa INSERTY jeden dodający nieruchomość do tabeli REALESTATES, drugi INSERT do tabeli TYPE_PARAM_REALE (id_TYPE_PARAMETERS wyciągnąłeś zapytaniem powyżej, id_rel można wyciągnąć przez mysql_insert_id(), value to wartość wpisana w formularzu). Może ktoś doświadczony wypowie się jeszcze... |
Forum: Bazy danych · Podgląd postu: #941354 · Odpowiedzi: 14 · Wyświetleń: 1 244 |
Nowe odpowiedzi Brak nowych odpowiedzi Popularny temat (Nowe) Popularny temat (Brak nowych) |
Sonda (Nowe) Sonda (Brak nowych) Zamknięty temat Przeniesiony temat |
Wersja Lo-Fi | Aktualny czas: 12.06.2024 - 15:32 |