Jak przechowywać kody pocztowe i miasta

Jak przechowywać kody pocztowe i miasta
PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

Projektuję bazę danych. Mam gromadzić takie dane jak np. dane klienta, dane sklepu, dane producenta itd. Jednymi z kryteriów wyszukiwania będzie właśnie kod pocztowy i miasto. Czy powinienem zrobić oddzielną tabelę "Miasta" z relacją jeden do wielu z tabelą "KodyPocztowe", czy raczej zrobić takie kolumny w tabelach, które mają mieć jakiś związek z adresami? Województwa zgromadzę w oddzielnej tabeli.

a_s_f
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Rzeszów
0

Można by zrobić tabelę Adresy, która zawierała by kod pocztowy,miasto oraz inne dane adresowe. Klient przecież niekoniecznie musi mieć tylko jeden adres

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

Chodzi mi raczej o to czy opłaca się robić tabelę z nazwami miast i kodów pocztowych, które będą wykorzystywane przez np. tabelę klienci, producenci, magazyny itd. Czy też raczej do każdej z tych tabel dodawać kolumny do przechowywania adresu. Jak to powinno się robić?

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
1

Jeśli jednym z kryteriów ma być adres to wystarczy zrobić na nim indeks, nie trzeba robić nowej tabeli.
Ale zrobienie tabeli słownikowej dla miast i nawet dla ulic w miastach może mieć sens, jesli taka baza miałaby działać bardzo długo. Bo nazwa miasta może się zmienić, tak samo jak nazwa ulicy.

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

Zrobię indeks. Chociaż jeszcze pomyślę nad oddzielną tabelą z nazwami miast kodami i ewentualnie ulicami. Może to też wyeliminować pomyłki podczas dodawania nowego rekordu - literówki itd. kiedy nazwa będzie wybierana z listy.

Marcin.Miga
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2794
0

I co miesiąc będziesz TERYT sprawdzał, by aktualizować słowniki? Bez sensu...

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

Czyli co proponujesz?

Marcin.Miga
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2794
2

Bez słowników. Tylko indeksy.

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5
0

Ok. Dzięki za podpowiedzi. Pozdrawiam.

crowa
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 295
0

wszystko zalezy od tego jaka masz strukture danych. Jesli mozesz utrzymac relacyjnosc to nalezy dorobic osobna tabele. Zwiazac to relacja tabela danych - slownik.
Wyszukiwanie po polu tekstowym nawet przy indexach jest bardzo nieciekawe.
Z drugiej strony jesli bedziesz wyszukiwal dane znajac wczesniej identyfikator mista (woj, kodu pocztowego, itp, itp) bedzie to duzo latwiejsze.
W duzej mierze decydowac tutaj powinna logika biznesowa.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.