Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Relacje między wieloma tabelami
symonides
post
Post #1





Grupa: Zarejestrowani
Postów: 51
Pomógł: 0
Dołączył: 12.11.2010

Ostrzeżenie: (0%)
-----


Cześć, zastanawiam się jak rozwiązać problem relacji między tabelami, miasto, województwo, kraj oraz tabelą ogłoszeń. Chciałbym to zrobić w taki sposób aby wyciągnięcie ogłoszeń z jakiegoś wybranego miasta nie było problematyczne i przekombinowane. Początkowo myślałem o osobne tabeli przechowującej id miasta, województwa, i państwa w osobnej tabeli oraz id tego rekordu w tabeli ogłoszeń, później żeby id ogłoszenia trzymać w tej samej tabeli co id lokalizacji. Wdaje mi się to średnio trafione rozwiązanie. Jak wy byście to rozwiązali? Proszę o propozycje.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ayeo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

Ostrzeżenie: (0%)
-----


Kod
# Country (kraj)
## name
## symbol (pl)
# Province (województwo)
## name (kujawsko-pomorskie)
## country_id
# District (powiat)
## name (Toruń)
## province_id
# Community (gmina)
## name
## district_id
# Town (miejscowość)
## name (Trouń)
## community_id
## has_city_status (czy ma prawa miejskie)


Moim zdaniem tak powinna wyglądać struktura. Jeszcze tabele z kodami pocztowymi (IMG:style_emoticons/default/biggrin.gif) . Dane można cachować (delikatna nadmiarowość) na poziomie gminy. Można zrobić jedną tabelę na te dane *geo_objects*:

# id
# field_type (country,province,district,.....)
# field_value (konkretna warość)
# refference_type (do czego się odnosi, na przykład gmina do powiatu)
# refference_id
# metadata (jakieś dodatkowe dane, kody iso)

Nie wiem na ile ma to sens...

Pozdrawiam!

Ten post edytował ayeo 24.07.2011, 00:23:30
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.12.2025 - 12:26