Projektuję system, w którym, po stworzeniu bazy danych mam, aż 13 powiązań do tabeli user. Cała baza składa się z 17 tabel. W mojej opinii, wszystkie powiązania które są w bazie danych są niezbędne. Nie chcę dodawać całej bazy danych, ponieważ jest ona częścią pracy inż. Zastanawia mnie czy tak duża ilość powiązań jest to błąd projektowy i czy nie trzeba zrobić na przykład jakiejś dodatkowej tabeli która "odciąży" w powiązaniach tabele User. Dodaje do tematu zdjęcie w którym umieszczona jest część mojej bazy, aby lepiej zobrazować moje wątpliwości.
kipa99 napisał(a):
Zastanawia mnie czy tak duża ilość powiązań jest to błąd projektowy i czy nie trzeba zrobić na przykład jakiejś dodatkowej tabeli która "odciąży" w powiązaniach tabele User
Ale niby jakby miało działać takie "odciążyenie"? Każda dodatkowa tabela przy join to spowoduje spowolnienie bazy
Na jakiej podstawie stwierdziłeś, że jest to dużo powiązań?
Jak w każdej z tych 13 tabel potrzebujesz użytkownika, to nie jest to błąd.
To jedynie oznacza że twój prowadzący nigdy nie widział bazy danych normalnego systemu gdzie czasem są setki tabel z czego kilkadziesiąt lub nawet kilkaset może mieć klucz obcy jednej tabeli, np spory crm gdzie wszystko jest wiązane do jednej tabelki "company"
Jedno pytanie, widzę zależność cykliczną Pomiędzy tabelami:
- user-> aliment -> aliment_files -> user
W aliment files
nie potrzebujesz id_user
bo możesz je wziąć z aliment
.
Z tych tabel prawdopodobnie bez wysilku mozna usunac relacje do user: aliment_files.
Chyba ze nie możesz, bo jest to id ktore nie wynika z relacji- to nie wygląda źle ta baza jak się w nią wczyta
@kipa99: zacznij od napisania nam do czego ta aplikacja ma służyć, bo na podstawie tego diagramu to nie za bardzo da się wyciągnąć jakieś merytoryczne wnioski.