Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Relacje w bazie danych, Prośba o sprawdzenie
giver
post 18.01.2009, 09:14:10
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 13.03.2008
Skąd: Tarnobrzeg

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
phpion
post 18.01.2009, 11:27:56
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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
Go to the top of the page
+Quote Post
giver
post 18.01.2009, 13:10:11
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 13.03.2008
Skąd: Tarnobrzeg

Ostrzeżenie: (0%)
-----


racja, dodałem standardowo kolumnę z identyfikatorem z przyzwyczajenia.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 04:30