Pomoc przy projektowaniu bazy

0

Witam
Mimo, że jestem nowy prawdopodobnie potrzebuje waszej pomocy :) . Sprawa dla was pewnie będzie banalna no ale opisze swój problem:
Musze zaprojektować bazę danych, która będzie wykorzystana w aplikacji wspomagającej prowadzenie rozgrywek siatkarskich. A więc jest potrzebnych kilka tabel. W całych rozgrywkach mMoże istnieć kilka lig(pierwsza, druga, trzecia itd). Zastanawiam się chwilkę nad tym i aktualnie moja koncepcja wygląda następująco:
Tabela 'druzyna':
iddruzyna
nazwa
idliga
idsezon

Tabela: 'liga':
idliga
nazwa

Tabela: 'sezon'
idsezon
nazwa

Tabela: 'mecz'
idmecz
idliga
idsezon
gospodarz ( -> iddruzyna )
gosc ( -> iddruzyna )
data
sety_wygrane
sety_przegrane
mpkt_wygrane
mpkt_przegrane

To jest taka moja początkowa koncepcja, chciałbym abyście udzielili mi jakiś cennych wskazówek, co jest źle, co powinno być zmienione. Jak już to uporządkuje to chciałbym w workbenchu pokazać wam cały model bazy razem z relacjami.

Pozdrawiam
Michał

0

Nie jestem ekspertem w sprawie lig siatkarskich ale: zakładam że model ma przedstawiać rogrywki na przestrzeniu wielu lat - tego roczne, zeszłoroczne etc, wydaje mi się też że zespół może awansować do wyższej lub spaść do niższej ligi, oraz nikt co sezon nie tworzy drużyny od nowa.
Zatem ja to widzę tak żę drużyna to nazwa i id, liga to nazwa i id, sezon ma id_drużyny, i id_ligi - dany zespól w danym sezonie był w danej lidze, mecz poza id drużyn wystarczy żę będzie miał id sezony. Pewnie da sie coś jeszcze poprawić ale mam nadzieje że Cię naprowadziłem. Rada na przyszłość jak projektujesz baze to spróbuj ją minimalnie wypełnić to powinno pomóc zobaczyć niektóre błędy.

0

Ok, dzięki. Po przemyśleniu zbudowałem coś takiego:
http://img11.imageshack.us/img11/3231/46983461.jpg

Czy coś takiego jest mniej więcej poprawne ?

0

Chyba nie do końca.

Jak dla mnie brakuje słownika sezon i tabeli z informacją o tym, w jakim sezonie drużyna była,w której lidze, bo chyba o to chodziło przy zakładaniu twojej tabeli sezon. Pola liga_idliga i sezon_idsezon w tabeli druzyna są nadmiarowe, a poza tym mógłbyś w nich zapisać tylko raz informację o tym, w którym sezonie drużyna była w której lidze.

Dobrym zwyczajem jest również dodanie do tabeli stopki z informacją o dacie dodania i zamiany rekordu oraz kto dodał i modyfikował rekord jako ostatni. Szukanie takich informacji w logu aplikacji nie potrzebnie obciąża bazę danych.

1 użytkowników online, w tym zalogowanych: 0, gości: 1