![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 24.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
otóż buduję podserwis dla pewnej witryny szkolnej w którym każdy będzie mógł po rejestracji zapisywać swoje oceny z poszczególnych przedmiotów. Przedmioty są zdefiniowane od początku i nie ma możliwości ich usuwanie czy edycji. Dla każdego użytkownika po rejestracji tworzy się nowa tabela w bazie w której mamy jak na razie dwie kolumny o nazwach Przedmiot i Oceny. W kolumnie Przedmiot mamy w poszczególnych wierszach nazwy przedmiotów a w kolumnie Oceny odpowiadające im oceny zapisane tak: (np.) 1,2,3,5,2,4,6,3,5,2 Mój problem polega na tym, że nie mam pojęcia jak zaprojektować układ tabeli tak, aby można było dowolną ocenę usunąć, zmienić, dodać nową a także obliczyć średnią ocen dla każdego przedmiotu. Bo nie wiem co można zrobić z polem "1,2,3,5,2,4,6,3,5,2". Myślałem o tworzeniu osobnych kolumn dla każdej oceny ale jak wtedy kontrolować nazwy tych kolumn i jak je wybierać? (Oczywiście układ tabeli który podałem jest przykładowy, taki jaki zrobiłem na tą chwilę ale nic z tego zrobić mi się nie udało) Proszę o porady, pzdr, PaKoS |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 15.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
korzystanie z jednej wiekszej tabeli ma swoje zalety (prostota zapytan do bazy) jak i wady (duplikacja rekordow bardzo do siebie podobnych)
wady wielu tabel to to, iz przy standartowym korzystaniu z php i baz user musialby czesto przebrnac przez kilka stron z formularzami aby cos dodac wiec dochodzi komplikacja obslugi zapytania ktore by cos sensownego zwracaly tez byly by bardziej skomplikowane (musialy by odwolywac sie do kilku tabel na raz) pozbywamy sie jednak duplikowania danych i jesli zadbamy o odpowiednie zabezpieczenia (kontrole zaleznosci pomiedzy tabelami - constraints) i logiczny podzial danych w poszczegolnych tabelach (mozna dopuscic duplikacje danych w niektorych tabelach celem uproszczenia zapytan) to mozna stworzyc calkiem uzyteczny system (bedzie to bardziej skomplikowane zadanie niz z jedna tabela, ale moze sie oplacac) Ten post edytował popo 20.04.2006, 18:12:56 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 01:47 |