Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Projekt bazy danych szkół
Forum PHP.pl > Forum > Bazy danych > MySQL
woj_tas
Witam.

Przedstawiam wam projekt bazy danych.

Problem polega na tym iż nie do końca wiem jak połączyć tabele relacjami.

Otóż baza zawiera tabele główną: partnerzy (wszystkie szkoły w Polsce - ok 40 tys. oraz wybrane stowarzyszenia i instytucje) oraz tabele dodatkowe takie jak miasta, gminy, powiaty, województwa. Pytanie teraz jak połączyć te tabele.

Rozwiązanie 1.
link

Tabele partnerzy łączymy z tabelą miasta. Miasta łączymy z gminami, gminy z powiatami a te na końcu z województwami.
W skrócie:
Partnerzy -> miasta -> gminy -> powiaty -> województwa

Rozwiązanie 2:
link

Tabele partnerzy łączymy z wszystkimi pozostałymi czyli:
Partnerzy -> miasto
Partnerzy -> gmina
Partnerzy -> powiat
Partnerzy -> województwo,

tabele Miasta łączymy z:

Miasta -> gmina
Miasta -> powiat
Miasta -> wojewodztwo,
itd, itd.

Plusy i minusy.

Rozwiązanie pierwsze jest na pewno zgodne z zasadami tworzenia relacyjnych baz danych. Niestety biorąc pod uwagę ilość użytkowników serwisu (ok 500 tys zarejestrowanych) oraz ilość partnerów rozwiązanie to będzie strasznie wolne.

Rozwiązanie drugie wprowadza nadmiarowość, jednak w znaczny sposób ułatwia wyszukiwanie. Np: Partnerzy w danym województwie, Partnerzy w danym powiecie, itd.

Moje pytanie brzmi, które rozwiązanie wg was będzie bardziej optymalne.
dr_bonzo
1. rozwiazanie mozesz zrobic, drugie to tylko dolozone tabele do poprzedniego schematu i zmiana czesci kodu aplikacji (SQLki), wiec mozesz pozniej to zrobic, albo wygeneruj sobie 500k danych i potestuj szukarke w obu przypadkach.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.