Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]Dziennik lekcyjny, projekt bazy danych?
marcim
post 28.10.2009, 16:07:21
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 10.06.2006
Skąd: Kłodzko

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


Witam!
Podjąłem się napisania w php internetowego dziennika przedmiotowego. Na początek zacząlem od rozplanowania bazy danych. Jako że moje doświadczenie jest niewielkie pytam was, czy takie coś bedzie odpowiednie:
  1. Klasy:
  2. id klasy, klasa
  3. Users:
  4. Id, imie, nazwisko, hasło, email,level[0=uczen, 1=nauczyciel]
  5. Klasa_uczniowie
  6. nrWDznienniku, idUcznia
  7. Klasa_oceny
  8. idUcznia, id sprawdzianu, ocena
  9. klasa_sprawdziany
  10. id sprawdzianu, dzial

I ma to wyglądać tak, przykładowo stworzona klasa:
[Klasy:]
1, IB
2, IID
3. IIF
[Uczniowie]
1, Jan, Kowalski, t2bnty8103kjbckju2,jan@gmail.com
.
.
.
50. Maciek, Iksiński, 9023hufvbhj89234jc, email@o2.pl
[IID_uczniowie]
1.2
2.6
3.7
.
.
.
30,41
[IID_oceny]
2,3,1
6,4,1
7,2,1
.
.
.
30,5,1
[IID_sprawdziany]
1.Geografia Polski
2.Obliczanie czasu
3.Test Kompetencji
I jak taki system by się prezentował? Potem z poziomu PHP przenoszenie rocznika, czyli uczniowie ID przechodzą do IID, IID do IIID, dodawanie uczniów, usówanie uczniów, dodawanie ocen, usówanie ocen, poprawki itp. Czy byłoby to wydajne, czy jakaś prostsza koncepcja bazy danych?
Pozdrawiam

Ten post edytował marcim 28.10.2009, 16:09:55


--------------------
Jeżeli przewidziałeś cztery możliwe awarie i zabezpieczyłeś się przed nimi, to natychmiast wydarzy się piąta, na którą kompletnie nie byłeś przygotowany"[Murphy]"
Go to the top of the page
+Quote Post
Natalka
post 28.10.2009, 16:35:39
Post #2





Grupa: Zarejestrowani
Postów: 59
Pomógł: 6
Dołączył: 28.10.2009
Skąd: że znowu...

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


Uczniowie

Id, imie, nazwisko, hasło, email,level,klasa, nr w dzienniku

Sprawdziany
Id, dział

Oceny
Id_ucznia, Id_sprawdzianu, Ocena



Wytłumaczenie: Klasy i numer w dzienniku są stałe i się nie zmieniają, uczeń może mieć tylko 1 numer w dzienniku i należeć do tylko jednej klasy więc nie potrzebne są dodatkowe kolumny w bazie.


Aby pobrać uczniów z klasy wszystko robisz selectem.

Ten post edytował Natalka 28.10.2009, 16:36:13
Go to the top of the page
+Quote Post
Zyx
post 28.10.2009, 16:36:49
Post #3





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Pierwsze rzucające się niedopatrzenie to brak powiązania ucznia z klasą. Ponieważ też swego czasu pisałem taką aplikację, podsunę Ci kilka zastosowanych przeze mnie rozwiązań:

1. Rozdzielenie uczniów i nauczycieli. Chociaż i jednych, i drugich obejmuje logowanie, to jednak pełnią oni w systemie tak odmienne role i charakteryzują się tak odmiennymi parametrami, że moim zdaniem lepiej jest ich trzymać osobno. U mnie za login ucznia służył PESEL, nauczyciele mieli tradycyjne loginy.
2. Przy klasie sporym ułatwieniem funkcjonalnym jest pamiętanie okresu, w jakim klasa będzie istnieć. Numery zmieniają się co roku, lecz klasa jako całość istnieje kilka lat. Bez sensu jest przepisywać wszystkie dane na nowo z każdym nowym rokiem szkolnym tylko dlatego, że nie można zapamiętać, że np. 2A istnieje w okresie od 2008 do 2011 roku, więc wystarczy ją przenumerować na 3A.
3. Jak rozwiążesz problem przydziału nauczycieli do przedmiotów w klasach?


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
Spirit86
post 28.10.2009, 16:50:27
Post #4





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

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


nie podoba mi się 'level' - każdy nauczyciel będzie miał dostęp do wpisania ocen ze wszystkich przedmiotów? Mało tego będzie mógł przeglądać też wszystkie oceny ucznia ze wszystkich przedmiotów? Co do automatycznej zmiany to bym wpisał prędzej rocznik i względem niego obliczał, tylko co jeśli ktoś udupi rok?

Ten post edytował Spirit86 28.10.2009, 16:51:55


--------------------
Audio: Metallica, Soil, RHCP, OffSpring, Green Day, "Retro", Gorillaz, Disturbed, Coma
DB: MySQL 4.1 | php: 4.4.3 Pomogłem Ci? Wciśnij przycisk POMÓGŁ.
Go to the top of the page
+Quote Post
marcim
post 28.10.2009, 17:07:23
Post #5





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 10.06.2006
Skąd: Kłodzko

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


Wyraziłem się mało precyzyjnie, to strona tylko dla jednego konkretnego nauczyciela i jednego przedmiotu. Tylko on z tego będzie korzystał. Więc nie wiem czy byłby sens rozgraniczać logowania na uczeń/nauczyciel. Dobrym pomysłem jest rocznik, i wtedy w zależnośći od roku nauki przepisywanie numetku klasy. Tych co nie zdali, nauczyciel będzie musiał sam usunąć, ew. dodać

Natalka, a co jeśli klasy bedą miały oddzielne sprawdziany, lub w innej kolejności?

Ten post edytował marcim 28.10.2009, 17:10:45


--------------------
Jeżeli przewidziałeś cztery możliwe awarie i zabezpieczyłeś się przed nimi, to natychmiast wydarzy się piąta, na którą kompletnie nie byłeś przygotowany"[Murphy]"
Go to the top of the page
+Quote Post
Spirit86
post 28.10.2009, 17:12:44
Post #6





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

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


ja bym dodał jeszcze pole data do sprawdzianu (ew semestr, żeby później ułatwić ew. sortowanie). Moim zdaniem nie ma sensu kasować starych danych, ale gromadzić je w archiwum, nauczyciel miałby dostęp do progresu jaki miał uczeń na przestrzeni lat, jaką wystawić mu np ocenę na koniec szkoły, bo ona jest najważniejsza, więc na jej wpływ powinien mieć wpływ całokształt lat smile.gif

pozdro


--------------------
Audio: Metallica, Soil, RHCP, OffSpring, Green Day, "Retro", Gorillaz, Disturbed, Coma
DB: MySQL 4.1 | php: 4.4.3 Pomogłem Ci? Wciśnij przycisk POMÓGŁ.
Go to the top of the page
+Quote Post
marcim
post 28.10.2009, 17:34:10
Post #7





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 10.06.2006
Skąd: Kłodzko

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


Z semestrem też dobry pomysł, napewno go wykorzystam


--------------------
Jeżeli przewidziałeś cztery możliwe awarie i zabezpieczyłeś się przed nimi, to natychmiast wydarzy się piąta, na którą kompletnie nie byłeś przygotowany"[Murphy]"
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: 19.04.2024 - 18:23