Jak przechowywać kody pocztowe i miasta

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.

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

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ć?

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.

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.

0

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

0

Czyli co proponujesz?

2

Bez słowników. Tylko indeksy.

0

Ok. Dzięki za podpowiedzi. Pozdrawiam.

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1