Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Połączenia między tabelami. Klucze obce.
Forum PHP.pl > Forum > Bazy danych > MySQL
armbdian
Mam pytanie dotyczące projektowania bazy danych. Czy jak robię połączenia (relacje) między tabelami, to mam robić wszystkie, jakie są możliwe czy minimalną ilość połączeń, żeby wszystko dobrze funkcjonowało i nie było niepotrzebnych kluczy obcych, które nic nie dają?

Przykład tabele: Klient, Konto, Transakcja

Można połączyć klienta z kontem, konto z transakcją i klienta z transakcją (wariant maksymalny)

Ale ja bym tak nie zrobił, tylko połączyłbym klienta z kontem a konto z transakcją (wariant minimalny).

Czy mój tok myślenia jest prawidłowy?
Dzięki za odpowiedzi.
mike314
Czy to jest odpowiedz na pytanie armbdian'a ?
czlowiek pyta o ilosc relacji, o sposob zorganizowania tabel, na mozolnie opisanym przykladzie. Chetnie wszedlbym na takie forum i dowiedzialbym sie jaka jest włąsciwa odpowiedz na tak zadane pytanie. A tu brak checi do pomocy. Autopromocja.
mozna wlasciwie zawsze udzielac meta odpowiedzi, jeszcze dalej posuniętych i odsylac do www.google.com,
ale czy o to chodzi w idei forum?
vokiel
Relacje powinny zależeć od użycia. Jeśli często potrzebujesz relacji jednostkowych encja do encji to lepiej dać ich więcej. Jeśli natomiast zwykle pobierasz wszystkie encje, to sensowniejszym wydaje się zrobienie relacji pojedynczych i łączenie jednej encji przez drugą.
viking
Tak. Była to to bardzo dobra odpowiedź na zadane pytanie ponieważ jest to podstawa przy projektowaniu struktur bd. Bez tej wiedzy ani rusz dalej. Mając wiedzę czego szukać może przeglądać materiały dalej a zazwyczaj jest pełno dokumentów np z wykładów (temat typowo akademickie). A to do której postaci sprowadzić zależy już od implementacji lub wymagań wydajnościowych.
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-2024 Invision Power Services, Inc.