![]() |
![]() |
![]() ![]()
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: 64 Pomógł: 0 Dołączył: 22.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
Chcialbym wrocic do wczesniejszego watku, a mianowicie ukladu tabeli. Dlaczego unikasz dekompozycji? Wydaje mi sie, ze uklad tabeli mozna by uproscic nadajac odpowiednim przedmiotom i nauczycielom oraz uczniom identyfikatory, a nastepnie za pomoca polaczen tworzyc taka tabele z ocenami. Innymi slowy, widzialbym to tak:
Tabela : Przedmioty (id_przedmiotu, nazwa_przedmiotu), Nauczyciele (id_nauczyciela, nazwisko_nauczyiela) // nie wiem, czy ta funkcjalnosc wymaga Twoja baza Uczniowie (id_ucznia, nazwisko_ucznia, etc.) Oceny (id_ucznia,id_przedmiotu,id_nauczyciela,ocena); gdzie id_ucznia jest kluczem obcym na tabele Uczniowie, id_przedmiotu kluczem obcym na tabele Przedmioty, id_nauczyciela kluczem obcym na tabele Nauczyciele. Spowoduje to, ze nie bedziesz musial tworzyc tabeli ze wszystkimi ocenami dla kazdego ucznia, sprawi to rowniez, wszystkie oceny beda w jednej tabeli, ewentualne zwiekszenia danych ucznia, nauczyciela, przedmiotow nie bedzie sie wiazac z nowa tabela, a tylko dopisaniem nowych kolumn do juz istniejacej. Ponadto nie bedzie obowiazku by zmieniac dla uczniow jednej klasy tabele, bo przeciez raz przedmioty odchodza raz dochodza. Jedynym minusem jaki moze tu sie pojawic to ewentualny koszt operacji bo bedziemy miec do czynienia z polaczeniem, ale nie sadze by mialo to az tak duze znaczenie... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 23:46 |