Diagram bazy o piłkarzach - projekt zaliczeniowy

Odpowiedz Nowy wątek
jedras993
2015-01-06 22:01
jedras993
0

Witam. Do końca semestru mam wykonać projekt bazy danych. Moim tematem są piłkarze reprezentacji Polski. Celem jest stworzenie minimum 4 tabel i relacji wiele do wielu stworzonej za pomocą tabeli pomocniczej i dwóch relacji jeden do wielu. Stworzyłem właśnie diagram ale nie wiem jak sobie poradziłem z tymi relacjami, według mnie są trochę na siłę, ale nie potrafiłem wymyślić nic lepszego. Bardzo proszę o opinie i wskazówki, z góry dziękuję.

Pozostało 580 znaków

2015-01-06 23:52

Rejestracja: 6 lat temu

Ostatnio: 3 dni temu

1

Witam, ja bym zrobił takie tabele
zawodnik,karta zawodnika,klub,liga,reprezentacja,
relacje:
zawodnik:1-1:karta zawodnika
zawodnik:-1:reprezentacja
zawodnik:
-:klub
klub:
-1:liga

edytowany 1x, ostatnio: Kaminho, 2015-01-07 10:52
tylko żeby te atrybuty tabel były pogrupowane sensowne, bo teraz nie mają sensu. I czemu klub 1 a liga n ? - Laflx 2015-01-07 00:02
Relacja to synonim tabeli, dlaczego więc wymieniasz je oddzielnie? - somekind 2015-01-07 02:00
z klubem to chodzi mi oto, że może awansować lub spaść z ligi, a jeśli chodzi o tabele i relacje to racja nie potrzebnie to rozdzieliłem. - Kaminho 2015-01-07 10:10
ale można być w 1 lidze na 1 moment czasowy, a on tutaj historii nie przechowuje, a liga moze miec wiele klubów - Laflx 2015-01-07 10:35
dobrze piszesz, już poprawiłem - Kaminho 2015-01-07 10:53

Pozostało 580 znaków

Złoty Lew
2015-01-07 10:48
Złoty Lew
0

relacje:
zawodnik:1-1:karta zawodnika (zazwyczaj unika się powiązań 1-1)
zawodnik:-1:reprezentacja
zawodnik:
-1:klub (1 zawodnik może być w jednym momencie w jednym klubie, wielu zawodników może być w tym samym klubie)
klub:-1:liga (1 klub może być w jednym momencie w jednej lidze, wiele klubów jest w jednej lidze)
mozna dodatkowo dać historię:
zawodnik 1 -
historia_zawodnika
historia_zawodnika -1 hzawodnik_klub 1 - klub (nie używając - )
historia zawodnika - 1 hzawodnik_rep 1 - reprezentacja
historia_klubu - 1 hklub_liga 1 - liga

Pozostało 580 znaków

2015-01-07 11:16
Moderator

Rejestracja: 12 lat temu

Ostatnio: 1 godzina temu

Lokalizacja: Wrocław

0
Złoty Lew napisał(a):

zawodnik:1-1:karta zawodnika (zazwyczaj unika się powiązań 1-1)

Bzdura, to powiązanie jak każde inne.

Bardzo ładnie opisałeś krotności powiązań, tylko czemu nazywasz je relacjami?

I ta historia_zawodnika moim zdaniem jest sztuczna. Wszystko można trzymać w zawodnik -1 zawodnik_klub (id_zawodnika, id_klubu, data_rozpoczecia, data_zakonczenia) 1- klub.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

Złoty Lew
2015-01-07 11:28
Złoty Lew
0

Bardzo ładnie opisałeś krotności powiązań, tylko czemu nazywasz je relacjami?

Bo to są relacje?!

Złoty Lew napisał(a) 28 minut temu:
zawodnik:1-1:karta zawodnika (zazwyczaj unika się powiązań 1-1)

Bzdura, to powiązanie jak każde inne.

Po co tworzyć powiązania 1-1? przecież można to umieścić wszystko w jednej tabeli

I ta historia_zawodnika moim zdaniem jest sztuczna. Wszystko można trzymać w zawodnik -1 zawodnik_klub (id_zawodnika, id_klubu, data_rozpoczecia, data_zakonczenia) 1- klub.

Z tym się zgodzę, poniosło mnie, powinno być:

zawodnik -1 hzawodnik_klub 1 - klub (nie używając - )
zawodnik - 1 hzawodnik_rep 1 - reprezentacja
klub - 1 hklub_liga 1 - liga

Pozostało 580 znaków

2015-01-07 11:41

Rejestracja: 7 lat temu

Ostatnio: 2 godziny temu

0
Złoty Lew napisał(a):

Bardzo ładnie opisałeś krotności powiązań, tylko czemu nazywasz je relacjami?

Bo to są relacje?!

SAM ZEŚ JEST RELACJA!!!! Nie wiem ale będę się mądrzył...

Złoty Lew napisał(a) 28 minut temu:
zawodnik:1-1:karta zawodnika (zazwyczaj unika się powiązań 1-1)

Bzdura, to powiązanie jak każde inne.

Po co tworzyć powiązania 1-1? przecież można to umieścić wszystko w jednej tabeli

idźmy krok dalej - po co w ogóle tworzyć kilka tabel - przecież wszystko można trzymać w jednej


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.

Pozostało 580 znaków

Złoty Lew
2015-01-07 11:48
Złoty Lew
0

No wydaję mi się że jeśli napiszę 1 - * to każdy zrozumie że chodzi o relacje jeden do wielu...
Mnie uczono że jeden-do-jeden można składać do jednej tabeli jeżeli to w niczym nie przeszkadza...

Pozostało 580 znaków

2015-01-07 11:48
Moderator

Rejestracja: 12 lat temu

Ostatnio: 1 godzina temu

Lokalizacja: Wrocław

0
Złoty Lew napisał(a):

Bo to są relacje?!

Nie, nie są. To są związki lub powiązania. Relacje to tabele:
http://osilek.mimuw.edu.pl/in[...]2C_rozk%C5%82ady_zbior%C3%B3w
http://osilek.mimuw.edu.pl/in[...]-2st-1.2-w02.tresc-1.1-Slajd5
http://pl.wikipedia.org/wiki/Model_relacyjny
http://pl.wikipedia.org/wiki/Diagram_zwi%C4%85zk%C3%B3w_encji

Po co tworzyć powiązania 1-1? przecież można to umieścić wszystko w jednej tabeli

Jeśli koncepcyjnie to coś innego (np. adres klienta) albo jakieś dane mają sens tylko dla części encji (np. Klient ma login in hasło jak Użytkownik, ale też NIP i nazwę), to jak najbardziej 1:1 ma sens.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."
edytowany 1x, ostatnio: somekind, 2015-01-07 11:52

Pozostało 580 znaków

2015-01-07 14:29
Moderator

Rejestracja: 16 lat temu

Ostatnio: 2 godziny temu

0

1:1 ma też sens jeśli jeden zestaw danych jest pobierany często a drugi rzadko. Na przykład często wyświetlamy gdzieś listę nazwisk zawodników, ale kartę zawodnika i jego zdjęcie wyświetlamy tylko raz na jakiś czas. Upraszcza to pracę SZBD bo może sobie robić ładne read-ahead albo w ogóle czytać całą tabelę, a nie czytać po kawałku / czytać wszystko i odrzucać 90% danych.


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...
edytowany 1x, ostatnio: Shalom, 2015-01-07 14:29

Pozostało 580 znaków

jedras993
2015-01-08 00:26
jedras993
0

Widzę, że rozpoczęła się tu dość ciekawa dyskusja, dzięki za wszelkie porady. Dziś po konsultacji z wykładowcą zmieniłem lekko mój diagram, usunąłem tabelę klub, cała baza jest o reprezentacji więc wystarczy informacja w jakim kto gra klubie, którą umieściłem w karcie zawodnika. Relację wiele do wielu zrobiłem między Reprezentacją a Spotkaniem, używając do tego tabeli pomocniczej Skład i dwóch relacji jeden do wielu. Co o tym myślicie? :) Chyba lepiej co?

Pozostało 580 znaków

jedras993
2015-01-08 00:27
jedras993
0

Nie mogę zedytować posta jako gośc, a nie dodałem zdjęcia :/

Pozostało 580 znaków

Odpowiedz

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