Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Relacje między tabelami
piraciq
post
Post #1





Grupa: Zarejestrowani
Postów: 174
Pomógł: 4
Dołączył: 27.07.2007
Skąd: Kraków

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


Witam serdecznie.

Mam dwie tabele
1. miasta id nazwa_miasta id_wojewodztwo
2. wojewodztwa id nazwa


I teraz moje pytanie brzmi jak ustawić relacje między tymi tabelami?


Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
toffiak
post
Post #2





Grupa: Zarejestrowani
Postów: 395
Pomógł: 80
Dołączył: 24.08.2009

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


Wiele do wielu, miasto o jednej nazwie może być w wielu województwach, województwa mogą mieć wiele miast. Czyli należy dodać tabelę pośrednią np: miasta_wojewodztwa.
Go to the top of the page
+Quote Post
mortus
post
Post #3





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


@toffiak: To raczej nie przy takiej strukturze tabel. Poza tym nie możemy identyfikować miasta tylko na podstawie jego nazwy, bo mimo iż w dwóch województwach będą dwa miasta o takiej samej nazwie, to nadal są to różne miasta, a zdarzyć się może, że i w tym samym województwie będą miasta o takiej samej nazwie. Relacja wiele do wielu nie ma tutaj za bardzo racji bytu. Bardziej właściwa będzie relacja 1 do wielu (wiele miast w jednym województwie) i do takiej relacji została zaprojektowana baza danych.

EDIT:
Zaznaczę przy tym, że do tabeli miast warto by dodać kolumnę, która rzeczywiście będzie to miasto identyfikować, a w Polsce takim identyfikatorem jest chyba (bo pewien nie jestem) kod pocztowy.

Ten post edytował mortus 3.05.2012, 11:32:22
Go to the top of the page
+Quote Post
piraciq
post
Post #4





Grupa: Zarejestrowani
Postów: 174
Pomógł: 4
Dołączył: 27.07.2007
Skąd: Kraków

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


Witam

Tu jest problem, że mam już bazę miast ale nie ma w niej kodów pocztowych :/
Go to the top of the page
+Quote Post
toffiak
post
Post #5





Grupa: Zarejestrowani
Postów: 395
Pomógł: 80
Dołączył: 24.08.2009

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


Cytat(mortus @ 3.05.2012, 12:30:19 ) *
@toffiak: To raczej nie przy takiej strukturze tabel. Poza tym nie możemy identyfikować miasta tylko na podstawie jego nazwy, bo mimo iż w dwóch województwach będą dwa miasta o takiej samej nazwie, to nadal są to różne miasta, a zdarzyć się może, że i w tym samym województwie będą miasta o takiej samej nazwie. Relacja wiele do wielu nie ma tutaj za bardzo racji bytu. Bardziej właściwa będzie relacja 1 do wielu (wiele miast w jednym województwie) i do takiej relacji została zaprojektowana baza danych.

EDIT:
Zaznaczę przy tym, że do tabeli miast warto by dodać kolumnę, która rzeczywiście będzie to miasto identyfikować, a w Polsce takim identyfikatorem jest chyba (bo pewien nie jestem) kod pocztowy.


Masz rację, tylko że w strukturze podanej tabeli nie ma informacji o "unikatowości" miasta, relacja 1 do wielu się nie sprawdzi, miasto o tej samej nazwie może być w wielu województwach. Dopóki nie będzie można jednoznacznie zidentyfikować miasta, właśnie po kodzie pocztowym, to relacja wiele do wielu będzie lepszym rozwiązaniem. Chodź wciąż jest to złe rozwiązanie, ponieważ nigdy nie będzie wiadomo czy miasto Warszawa to miasto należące do województwa mazowieckiego, czy to w zupełnie innym województwie.
Go to the top of the page
+Quote Post
piraciq
post
Post #6





Grupa: Zarejestrowani
Postów: 174
Pomógł: 4
Dołączył: 27.07.2007
Skąd: Kraków

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


Tylko tak Warszawa ma wiele kodów pocztowych (IMG:style_emoticons/default/tongue.gif)

Go to the top of the page
+Quote Post

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: 18.09.2025 - 19:23