Diagram bazy o piłkarzach - projekt zaliczeniowy

Diagram bazy o piłkarzach - projekt zaliczeniowy
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ę.

KA
  • Rejestracja:ponad 11 lat
  • Ostatnio:prawie 3 lata
  • Postów:1
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
Laflx
tylko żeby te atrybuty tabel były pogrupowane sensowne, bo teraz nie mają sensu. I czemu klub 1 a liga n ?
somekind
Relacja to synonim tabeli, dlaczego więc wymieniasz je oddzielnie?
KA
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.
Laflx
ale można być w 1 lidze na 1 moment czasowy, a on tutaj historii nie przechowuje, a liga moze miec wiele klubów
KA
dobrze piszesz, już poprawiłem
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

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:dzień
  • 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.

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

abrakadaber
abrakadaber
  • Rejestracja:ponad 12 lat
  • Ostatnio:7 miesięcy
  • Postów:6610
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ą.
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...

somekind
Moderator
  • Rejestracja:około 17 lat
  • Ostatnio:dzień
  • 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/index.php?title=Logika_i_teoria_mnogo%C5%9Bci/Wyk%C5%82ad_5:_Para_uporz%C4%85dkowana%2C_iloczyn_kartezja%C5%84ski%2C_relacje%2C_domykanie_relacji%2C_relacja_r%C3%B3wnowa%C5%BCno%C5%9Bci%2C_rozk%C5%82ady_zbior%C3%B3w
http://osilek.mimuw.edu.pl/index.php?title=BD-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.

edytowany 1x, ostatnio: somekind
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
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.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 1x, ostatnio: Shalom
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?

0

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

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)