Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Relacje w bazie danych
Forum PHP.pl > Forum > Bazy danych
giver
Projekt: szkolny e-dziennik(autorski ze względu na nietypowy system oceniania)
Dostęp może mieć każdy uczeń który wybierze sobie swoje przedmioty ze zdefiniowanej listy(jeden uczeń nigdy nie będzie miał wszystkich przedmiotów)
Wymyśliłem coś takiego

oceny
-id
-ocena
-waga
-datadodania
-opis
-przedmioty_id
-user_id

user
-id
-name
/reszta mało ważnych pól w tablicy/

przedmioty
-id
-przedmiot <--nazwa przedmiotu

przedmiot_uczeń
-id
-user_id
-przedmioty_id

Nie jestem pewien czy dobrze wymyśliłem przechowywanie informacji jakie przedmioty ma dany użytkownik. Myślałem żeby to zapisać w tablicy user w postaci ciągu(przedmiot_id, przedmiot_id,...)
Jednak jest to rozwiązanie mało eleganckie w dodatku za każdym razem musze z ciągu robić tablicy a przy zapisie znów ciąg z tablicy.
Za wszelkie propozycje wielkie dzięki.
phpion
Wszystko wygląda raczej ok. Jedynie tabelę łączącą użytkownika z jego przedmiotami możesz pozbawić sztucznej kolumny id mając tylko dwie kolumny, które będą składać się na klucz główny (bo chyba jeden uczeń nie może kilka razy mieć przypisanego tego samego przedmiotu):
przedmiot_uczeń
-user_id
-przedmioty_id
giver
racja, dodałem standardowo kolumnę z identyfikatorem z przyzwyczajenia.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.