Witam, zwracam się do Was o pomoc w następującej sprawie: studiuje informatykę na II roku i teraz mam przedmiot zwany "Bazy danych". Koleś chce żeby mu na czwartek przynieść grafowy plan bazy danych którą później będziemy tworzyć w SQL. Na wykładzie mówił strasznie zawile o jakiejś encji i wgl. Jestem w tym zielony. A podałem juz temat mojej bazy, która będzie dotyczyła klubu piłkarskiego a konkretnie zawodników (imię i nazwisko, wiek, poprzednie kluby, ilość strzelonych bramek w karierze, pesel,aktualne badania lekarskie, pozycja na boisku). Nie wiem jak mam się do tego zabrać więc proszę o pomoc.Z góry dzięki
Poczytaj o diagramie związków encji i o relacyjnym modelu bazy danych. Gdy stworzysz sobie RMBD ( ja zawsze od niego zaczynam i na nim kończę ) szybko odwzorujesz go na fizyczną bazę danych w MYSQL czy inną. Po drodze napotkasz na takie pojęcia jak relacje, klucze obce, podstawowe. Jako początkujący poczytaj o postulatach Codda i o normalizacji bazy danych.
Pozdrawiam.
Co to jest fizyczna baza danych?
Takie rzeczy jak encje już ogarnąłem. Zrobiłem nawet "wersję próbną" mojego projektu ale nie wiem czy tak to ma wyglądać.Podejrzewam że powinienem dołożyć strzałki, przykładowo pomiędzy Imię i Obecny klub <-> (zawodnik przypisany do klubu ale i klub posiada w składzie tego zawodnika)
Totalnie nie tak. Dla przećwiczenia pokaż tutaj encje reprezentującą Piłkarza.
czyli co konkretnie?
Wg neta jest to po prostu byt, pojęcie niedefiniowalne.Chyba, że źle szukałem
W moim przypadku byłoby to chyba tak:
encja: imię i nazwisko gracza
atrybuty encji: wiek,pesel,zdobyte bramki itd
Dobrze to rozumiem?
No czyli tą encję o piłkarzu zrobiłem dobrze
A co jest źle w całości?
a jednak nie...encja:Piłkarz a Imię i nazwisko to atrybuty tak?
Czyli co muszę zmienić w całości aby było dobrze? no oprócz tego z encją Piłkarz oczywiście
Encje: Piłkarz, Adres, Mecz, Klub piłkarski, Badania lekarskie i coś by się jeszcze wymyśliło. Na czym polega pozycja na boisku?
Nie mam encji Adres.A z pozycją chodzi o to gdzie gra: atak, obrona, pomoc
No dobra. A co z resztą?jak mam to wyedytować by było dobrze
No dobra to już wiem. A co dalej?
do Furious Programming: Pytam bo nie wiem. Chyba do tego jest forum by pytać, zgadza się? a ty czemu spamujesz pod postem gdzie nie udzieliłeś normalnej odpowiedzi?
Opiszę Ci co masz zrobić:
Opowiedz sobie taką historie?:
Jeden piłkarz może posiadać wiele adresów ( zameldowania, aktualnego pobytu, korespondencji ), i te adresy tyczą się tylko jednego, konkretnego piłkarza. Ponadto wiele piłkarzy mogło wziąć udział w tym samym meczu, przy czym każdy mógł mieć inną pozycję na boisku, numer i strzelić różną ilość bramek. Każdy z nich mógł kiedyś także należeć do innych klubów niż ten, w którym są obecnie i pełnić w nim różne role ( bramkarz, i ten co kopie piłke ). Przebieg badań lekarskich też można kontrolować ( kiedy miał ostatnio wykonywane i jakie uwagi dał lekarz sportowy ).
Dzięki. A czy ja muszę aż tak rozbudowaną bazę tworzyć i czy muszę mieć encję Mecz? bo w początkowym założeniu myślałem o tym wszystkim w sposób dośc prosty zakładając, że piłkarz posiada jeden adres no i gra ciągle na jednej pozycji. Wtedy w przypadku nawet Accesa mógłbym stworzyć tabelę Pozycja w której miałbym rekordy: pomocnik,napastnik,obrońca,bramkarz i do tych rekordów utworzyłbym relacje z tabeli Piłkarz i wówczas poprzez tą relację konkretnemu zawodnikowi przypisałbym konkretną pozycję. Rzecz się ma podobnie w przypadku encji Poprzedni klub. To są oczywiście taki moje rozważania tylko
A co do badań lekarskich: chciałem to zrealizować po prostu polem wyboru tak lub nie odnosząc się do tego czy badania są aktualne czy tez nie
Zrób ERD i wtedy nam go tutaj pokaż.