Boshi
22.11.2015, 18:22:11
Projektuje bardzo prosty dziennik ucznia. Admin może zarządzać listą uczniów, dodawać oceny, przedmioty-zarządzać nimi.

Zastanawiam się nad obecnością ucznia i tabelą lekcja bo nie bardzo podoba mi się 2x idprzedmiotu w dwóch tabelach jako FK.
dgladys
26.11.2015, 22:18:19
Przede wszystkim zadbałbym o porządek
- nie mieszać nazw tabel polskich z angielskimi oraz trzymać się albo liczby pojedyńczej, albo mnogiej [patrz: przedmioty, lekcja],
- klucz podstawowy powinien być generowany w jednolity sposób [albo wszędzie id, albo wszędzie id_ocena, id_przedmiot itd],
- pola pisane jednolita konwencją [np. camelcase, underscorecase, lowercase, uppercase itd].
Nie musisz też wiązać oceny relacją z przedmiotem, możesz powiązać z lekcją.
Zauważ, że wtedy też będziesz miał dostęp do informacji o przedmiocie poprzez wpierw wykonanie łączenia z tabelą lekcja, a potem za pośrednictwem tabeli lekcja z tabelą przedmioty.
Pytanie też, o co chodzi z obecnością.
Teoretycznie obecność ucznia powinna być w osobnej tabeli.
| obecnosc |
--------------------------|
| id : int(11) |
---------------------------
| id_uczen : int(11) |
| id_lekcja : int(11) |
| obecny : tinyint(1) |
---------------------------
Pole obecny przechowywałoby wartość albo 1, albo 0. 1 - obecny, 0 - nieobecny.