• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

BAZY DANYCH [ACCESS 2016] - poprawność relacji

Object Storage Arubacloud
0 głosów
642 wizyt
pytanie zadane 1 lutego 2020 w Systemy operacyjne, programy przez Teslum_369 Gaduła (4,190 p.)
edycja 1 lutego 2020 przez Teslum_369

Witam,

 

Chciałbym stworzyć projekt baz danych związany z szachami. Niestety, jestem typem człowieka, który ogarnia teorię niżeli praktykę.

Chciałbym więc zapytać, czy poprawnie wykonałem połączenia (relacje) między tabelami? Jeżeli właśnie chodzi o relacje i klucze obce to kompletnie tego nie kumam sad

Tutaj screenshot z mojej bazy danych:

Zakutalizowany ss: https://imgur.com/fZrM39Q

Czy mógłby ktoś mi pomóc poprawnie połączyć te tabelki? Z góry bardzo dziękuję i jestem wdzięczny za każdą chęć okazania pomocysmiley.

 

Pozdrawiam!

1 odpowiedź

+1 głos
odpowiedź 1 lutego 2020 przez DragonCoder Nałogowiec (36,500 p.)
Encje\zwiazki miedzy bazami danych, to sama teoria. Zadajesz sb pytanie, czy zwiazek miedzy ta i  ta tabela, to 1:1 wtedy nie wazne gdzie wsadzisz klucz obcy. 1:n wtedy z tabeli n dajesz klucz do tabeli 1. I majac n:m tworzysz zupelnie nowa tabele. Miedzy innymi o tym mowi normalizacja i generalizacja bazy danych.

Przyklad 1:1

Jeden pracownik wykonuje jedno zadanie, jeenl zadanie jest wykonywane przez jednego pracownika (pewnie malo realny scenariusz, ale to tylko przyklad)

1:n

Jeden uczen jest czlonkiem jednej klasy, w jednej klasie znajduje sie wielu uczniow

N:m

Jeden uczen bierze udzial w wielu kursach, jeden kurs jest uczeszczany przez wielu uczniow

Jak bede mial dostep do PC to moge sprawdzic same tabele, ale na szybko widzialem cos dziwnego w tabelach, tzn atrybuty i wyjade mi sie, ze moze to prowadzic do anomalii, albo redundancji
komentarz 1 lutego 2020 przez Teslum_369 Gaduła (4,190 p.)
edycja 1 lutego 2020 przez Teslum_369

Okej, będę sobie zadawał te pytania. Bardzo pomocne jest Twoje wytłumaczenie z tym 1:1, 1:n i n:m. Na tej podstawie spróbuję poprawić relacje i zakutalizuję zdjęcie jak mi idzie.

EDIT: 

Teraz wydaje mi się, że jest okej, jednakże nie wiem co z tabelką parite i rankingi.  Nie potrafię sobie nawet zadać odpowiedniego pytania do tego. Zastanawiałem się, czy wgl to musi być połączone ze sobą, no ale jakby na to spojrzeć to są tam pola powiązane ze sobą.  

komentarz 1 lutego 2020 przez DragonCoder Nałogowiec (36,500 p.)
Nie wiem co masz na mysli przez partie. Okresl dokladnie, co jest do zrozumienia przez nie. Bo jest jeszcze turniej.

Najlepiej byloby opisac Projekt + napisac co Ci potrzeba, wtedy mozna myslec o tabelach i zwiazkach
komentarz 1 lutego 2020 przez Teslum_369 Gaduła (4,190 p.)
Na ogół potrzebuję utworzyć 6 tabel.

Przy partiach chodzi o mecz szachowy czyli konkretnie kto ze sobą gra, ile otrzyma oczek rankingu po meczu itd.

Przy turnieju mam na myśli szczegóły turnieju czyli jakie jest wpisowe kiedy się odbędzie, w jakim miejscu etc.
komentarz 2 lutego 2020 przez DragonCoder Nałogowiec (36,500 p.)
Skoro turniej nic nie robi i nie potrzebujesz listy uczestnikow w turnieju ani sedziow ( nawet jesli, to mozesz zrobic inny model ), to zostaw sobie turniej bez laczenia go z sedziamy i zawodnikami. MAsz takie tabele:

turniej, zawodnicy, kluby, mecz, sedziowie. Nie widze sensu robienia ranking, bo wytsraczy dodac odpowiednie atrybuty i zrobic zapytanie

mecz ma w sobie klucz obcy z 2xzawodnik, turniej i sedziowie. Przez co mozesz odwolac sie do dowolnego meczu, dowolnego zawodnika, czy sedziego i uzyskac dane.

turniej, klub to tez zwiazek i tyle. Nie ma sensu robienia dodatkowych zwiazkow miedzy turniej a sedzia i turniej a zawodnik. Takie jest moje zdanie, a co do rankingu, to przemysl czym on jest i co w tym rankingu ma sie znalezc.

P.S.

sorki, ze tak pozno, ale dopiero wrocilem z podrozy
komentarz 2 lutego 2020 przez Teslum_369 Gaduła (4,190 p.)
Dzięki wielkie :)

Podobne pytania

0 głosów
2 odpowiedzi 615 wizyt
0 głosów
0 odpowiedzi 483 wizyt
0 głosów
0 odpowiedzi 104 wizyt
pytanie zadane 2 grudnia 2021 w SQL, bazy danych przez Matthew2000 Początkujący (310 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...