Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql] Projekt bazy + jak zastapic wielowymiarowe tablice
Saddam92
post
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 17.11.2006

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


Witajcie, przyszło mi napisac projekt bazy danych dla szkolnego systemu.. wiekszosc juz zrobiłem ale pozostał mi jeden problem..

mianowicie mam tabele klasy i muszę wymyślić jak przechowywać informacje o planie lekcji.. najchetniej nie chciałbym tworzyc osobnych tabel dla kazdej klasy, w tabeli z planami przechowywane było by id klasy dla danego planu oraz id poszczegolnych lekcji..

Jak coś takiego zrobić (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Myślałem żeby zrobic po jednym rekordzie dla kazdej klasy i w kolumny odpowiadajace dniom wstawić id lekcji coś w stylu: ...0|1|5|3|3|8|7... ale do czegos takiego musiałbym robic jeszcze mase zapytan wyciagajacych informacje o tych lekcjach...

JAK MAM TO ZROBIĆ (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Macie jakieś pomysły (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
x3m
post
Post #2





Grupa: Zarejestrowani
Postów: 18
Pomógł: 1
Dołączył: 23.01.2007
Skąd: Ostróda

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


Rozwiazanie malo wydajne ale proste:
  1. --------------------------------|
  2. id_klasy | dzien | id_przedmiotu|
  3. --------------------------------|
  4. 1 | 1 | 8 |
  5. 1 | 1 | 5 |
  6. 1 | 1 | 9 |
  7. 1 | 1 | 9 |
  8. 2 | 1 | 15 |
  9. 2 | 1 | 2 |
  10. itd
  11. --------------------------------|

Zakladajac 10h dziennie czyli 50h tygodniowo dla jednej klasy a klas powiedzmy jest 100 w takiej szkole to mamy 50*100= 5000 rekordow w tabeli na jeden semestr. W taki sposob mozna trzymac plan lekcji przez jakies 10 lat na szybkiej maszynie. Jesli zrobiloby sie osobno archiwizowanie to 5000 rekordow tylko dla planu z aktualnego semestru jest dosc szybkim rozwiazaniem.
Go to the top of the page
+Quote Post
Saddam92
post
Post #3





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 17.11.2006

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


no to nie takie głupie szczególnie ze moja szkoła jest mała (8 klas)*8/9 h dziennie*5 dni=320 rekordów...

chciałbym jeszcze tylko dodac pole z numerem lekcji gdyż potem łatwiejsza będzie edycja takiego planu..
przy okazji jak posortowac wyniki zapytania SQL żeby były one zależne i od dnia i od numeru lekcji (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)



mam jeszcze jedno pytanie, jako że nie chciałbym się powtarzac z tym tematem to napisze je tutaj:

do tego planu musze miec jakiś formularz dodawania.. ale nie mam pojecia jak go zrobić (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

myślałem zeby zrobić to tak jak np. na gmailu jest dodawanie załaczników, tzn mam piec kolumn (piec dni) i w kazdej z nich mam coś takiego:
(IMG:http://img264.imageshack.us/img264/2944/formsc4.jpg)
ale nie wiem jak zrobić potem obsługe takich N pól formularza.. jak sie do nich odwoływać itd..

może macie jakieś inne pomysły..

Ten post edytował Saddam92 4.03.2007, 00:18:16
Go to the top of the page
+Quote Post
Kicok
post
Post #4





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Cytat
przy okazji jak posortowac wyniki zapytania SQL żeby były one zależne i od dnia i od numeru lekcji (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)


  1. SELECT dzien, id_przedmiotu
  2. FROM klasy WHERE (id_klasy = 123)
  3. ORDER BY dzien ASC, nr_przedmiotu ASC


nr_przedmiotu to oczywiście kolumna z numerem lekcji.
Go to the top of the page
+Quote Post
Saddam92
post
Post #5





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 17.11.2006

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


okej wielkie dzięki a co z tymi formularzami (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ma ktoś jakiś pomysł bądź potrafi rozwinąć mój (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 01:34