Część,
Robię projekt aplikacji webowej do prowadzenia statystyk, analiz plikarskich, praca docelowo na inzynierke. Krótka charakterystyka:
-4 topowe ligi EU
Nie widzę w schemacie żadnej informacji o ligach.
-statystki wybranych kryteriów tj. gole, kartki, rzuty rożne
Czy dla użytkownika ma znaczenie kolor kartki? Jak na obronie odpowiesz, dlaczego danych o wyniku, liczbie rzutów rożnych i kartek nie masz w tabeli Mecze? Bo raczej nie "miałbym za mało rzeczy do opisania".
-aplikacja ma się sama aktualizować po rozegranej kolejce
Nie dotyczy schematu.
-uzytkownik może wybierać interesujące statystyki i okres wstecz do analizy, dodawać komentarz, analizę
Nie widzę, gdzie te komentarze będą zapisane. Jaka ma być relacja między wyborem interesujących statystyk, a analizą? W ogóle ma być jeden użytkownik? Bo znów, w projekcie bazy ani słowa o nim/nich.
Tak ogólnie mam wrażenie, że projekt tej bazy jest od d**y strony.
Wygląda to z grubsza tak. "Mam zrobić projekt związany z piłką nożną i statystykami. Jakie mam informacje o meczach? No są drużyny, mecze, kartki, rzuty rożne, sezony - to powrzucam to w tabelki, z grubsza połączę, jakoś się je wypełni i zrobi selecty i git będzie."
Powinno to być raczej:
"Mam zrobić projekt związany z piłką nożną i statystykami. Rozpisuję z perspektywy użytkownika funkcjonalności, które mam dostarczyć. Statystyka taka, statystyka śmaka, zestawienie danych takie, zestawienie śmakie. Wtedy wiem, jakich informacji dokładnie potrzebuję i co mam trzymać w bazie. Wiem, czy istotne są dla mnie kartki jako takie, czy może podział żółte/czerwone, a może też ważna jest minuta, a może jaki gracz dostał. Z tego wyprowadzam tabele, relacje.".
Dobrze jest też pomyśleć o rozszerzalności bazy, tj. co zrobić, jak zmienią się kryteria biznesowe. Zastanów się, jak bardzo musiałby zmienić się schemat bazy przy zmianie wymagań, tj:
- wie Pan, fajna aplikacja, ale drużyna zmienia nazwę, doszedł nam sponsor, wcześniej to był Huragan Łęczyca, a teraz jest Huragan Katalizatory Nowak i Syn Łęczyca.
- wie Pan, fajna aplikacja, mamy statystyki z meczy ligowych, ale chcielibyśmy trzymać informacje o meczach pucharowych.