![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 23.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam!! To mój pierwszy post, proszę więc o wyrozumiałość, umieściłem post tutaj bo od nie dawna zacząłem przygodę z tematyką www, ale do rzeczy.
Mam do stworzenia elektroniczny dziennik szkolny. Na początek wystarczą 2 konta: rodzicielskie i nauczycielskie. Język jakie wybrałem to PHP, MySQL i HTML i CSS. Bazę chcę utworzyć w PHPmyADMIN, wszystko umieszczał na wirtualnym serwerze(XAMPP) Zacząłem od stworzenia szkieletu bazy danych, prosiłbym o ocenę i ewentualne wskazówki. Prosiłbym też o jakieś wskazówki dotyczące utworzenia mechanizmu logowania bądź sesji. Otóż, żeby opiekun bo zalogowaniu automatycznie wchodził na swoje konto, żeby nie wlazł gdzie indziej( co w przypadku gdy opiekun ma kilka dzieci??) Nauczyciel tak samo po zalogowaniu wchodził tylko na swoje konto (biorąc pod uwagę, np. że nauczyciel uczy 2 przedmioty, prowadzi jakieś tam koło zainteresowań po lekcjach i do tego jest wychowawcą jakieś tam klasy). Znalazłem na necie mechanizm na stronie: http://webcity.pl/webcity/wlasny_mechanizm_sesji_w_php Ale on ma w sobie masę błędów i nie mogę z nim dojść do końca. Co do samej bazy oto jej szkielet:
Rozważałem również opcję ażeby nauczycieli, opiekunów i uczniów umieścić w jednej tabeli, ale wydaję mi się, że to by pogmatwało tylko cały wygląd bazy danych. Wychowawców umieściłem tabeli klasa. Jeszcze jeden problem mnie zatruwa, otóż czy silnik InnoDB będzie odpowiedni?? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
1. Mam nadzieję, że to projekt na uczelnie lub robisz to na własny użytek.. ?
2. Nie baza phpmyadmin tylko mysql 3. Na początek weź do ręki kartkę papieru i rozpisz sobie co ma się znaleźć w bazie danych. Następnie na nowej kartce połącz wszystkie te dane relacjami - to chyba najważniejsze przykład: problem - chcesz wyświetlić dane ucznia wraz z danymi rodziców rozwiązanie - w tabeli opiekunowie musisz zawrzeć id ucznia, który jest ich dzieckiem lub połączyć obie tabele relacjami Dobra rada... przed pisaniem w PHP rozpisz sobie wszystko na kartkach i trzymaj się tego do końca |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 23.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie wydaję ci się, że tabela pokrewieństwa którą utworzyłem lepiej połączy tabelę opiekunów z uczniami?? Czy jak umieszczę tak jak piszesz w tabeli opiekunów id_ucznia to co w przypadku gdy opiekun czy opiekunowie będą mieli kilkoro dzieci?? Też zapomniałem dopisać do tabeli pokrewieństwa pola id_nauczyciela bo przecież nauczyciel też może być jednocześnie opiekunem.
Jak oceniacie ogólny schemat bazy danych. Ja jeszcze dzisiaj sprubóję wklepać do wszystko połączyć relacjami, i wrzucę to na forum, pewnie wtedy będzie lepiej to widoczne. Tak robię to tylko i wyłącznie na własny użytek, na uczelnie mam taki projekt wykonać. Chcę to zrobić bo od dawna planuje zbratać się z PHP, i temu podobnymi. Moją słabą stroną jest tworzenie baz danych, chociaż już miałem z nimi styczność. Co odnośnie systemu logowania?? Gdzie znajdę ciekawe skrypty? Bazę danych już mam rozpisaną i tak ja ją widzę. Tylko chciałem znać opinię ludzi bądź użytkowników tego forum którzy mają większe doświadczenie ode mnie. Ten post edytował filus08 23.05.2011, 20:52:47 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 314 Pomógł: 44 Dołączył: 12.11.2010 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
To zrób na odwrót ... w tabeli uczniów dodajesz id_opiekuna , w ten sposób rodzic może mieć wiele dzieci bez problemu .
Co do nauczyciel który jest rodzicem : przecież może znajdować się w dwóch bazach danych prawda?Osobny login jako rodzic , osobny jako nauczyciel - problem solved . Albo jedno konto i osobne podstrony dla nauczycieli i rodziców : link pojawią się zależnie od statusu.. System logowania?Masz taką zaawansowaną bazę danych to na pewno coś możesz skrobnąć samemu . Jak masz z tym problem to jak masz zamiar napisać dodawanie / sprawdzanie ocen itd ? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 23.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ale czy moje rozwiązanie z tabelą polrewieństwo jest złe??
Wiesz no bede miał problem, dlatego jestem w dziale przedszkole, może dzięki waszym sugestiom uda mi się coś stworzyć |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 314 Pomógł: 44 Dołączył: 12.11.2010 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Dobrego słowa użyłeś sugestia . Jest dokładnie jak mówisz.. możemy Ci sugerować różne rzeczy , podawać argumenty , podpowiadać . Ostateczna decyzja jednak należy do Ciebie .
Jeśli piszesz takie dziennik dobrze by było rozumieć działanie własnego projektu prawda?Dzięki temu możesz łatwo dodawać opcję , jednak jeśli liczysz że poprowadzimy Cię za rękę przez cały projekt (w co wątpię bo już całą bazę sobie rozpisałeś i odwaliłeś kawał roboty ) to się mylisz . Zaleciłem 'skrobnięcie' logowania samemu , ponieważ źle jest 'pisać' projekt typu kopiuj&wklej bo wtedy sam nie wiesz co robisz . W internecie jest pełno poradników / książek (jak znasz angielski to tym lepiej ponieważ dużo więcej źródeł i tutoriali znajdziesz . ). Co do 'pokrewieństw' mhmmm.. myślę że to niepotrzebna tabela ... bo trzymasz tylko ID ucznia i ID rodzica . Kolumna z ID rodzica w tabeli uczniów jest efektywniejsza i prostsza w użyciu według mnie. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 31 Dołączył: 30.03.2009 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Te dzienniki elektroniczne to straszna rzecz. Mam koleżankę pracującą w szkole. Normalne sprawdzenie obecności zajmuje kilka minut. Wpisanie oceny do dziennika to też czas. Jeśli trzeba ocenę wpisać do dziennika elektronicznego to ... no własnie co? Należy oceny gdzieś na jakiejś kartce zanotować , aby nie wymieszały się z wcześniej wpisanymi, następnie ktoś musi je wprowadzić do kompa. Pytanie kto?(uczyciel?) To jest dublowanie roboty. Rodzice zamiast spotkać się z wychowawcą lub nauczycielem przedmiotu unikają szkoły.
Twój dziennik jako wprawka w programowaniu to niezła rzecz. Z punktu widzenia nauczyciela to strasznie upierdliwy wynalazek. PS: W jednej ze znanych mi szkół są specjalne jednorazowe karty wypełniane na lekcji. Po lekcjach zdawane są do sekretariatu i tam ręcznie( a miało być czytnikiem)wprowadzane do kompa. KARTKA TAKA KOSZTUJE. Są niezłe cyrki, bo oceny często nie zgadzają się. A miał być lepiej. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 314 Pomógł: 44 Dołączył: 12.11.2010 Skąd: UK Ostrzeżenie: (0%) ![]() ![]() |
Elektroniczny dziennik nie byłby takim upierdliwym rozwiązaniem dla nauczyciela jeśli byłby użyty zamiast normalnego dziennika a nie razem z nim .
Ale takie rzeczy tylko w Erze . Ten post edytował nekomata 24.05.2011, 08:55:30 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 283 Pomógł: 11 Dołączył: 9.07.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
U mnie w szkole jest tylko dziennik elektroniczny i sprawuję się bardzo doskonale. Powodzenia w projekcie
![]() |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 23.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Jedna rzecz mnie nurtuje i może mi to wytłumaczycie. Jeżeli mam utworzoną tablę nauczyciele i drugą przedmioty, i jak w tabeli nauczyciele dodam rekord id_przedmiotu to jak potem to uzupełnić w tabeli w przypadku gdy nauczyciel uczy wiięcej niż jeden przedmiot?albo na odwrót: jeśli w tabeli przedmioty umieszczę id_nauczyciela to co w przypadku gdy jednego przedmiotu uczy więcej niż jeden nauczyciel? Jak to rozwiązać? Piszę w MySQL w programie PHPmyAdmin.
Kolejna rzecz: rekord płeć, czy w PHPmyAdmin można zrobić coś w rodzaju rozwijanej listy, żeby wybrać czy to kobieta czy gościu? Czy ktoś może mi to wytłumaczyć ? szukam na necie ale nie mogę znaleźć. Ten post edytował filus08 24.05.2011, 20:25:05 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Co do pierwszego - osobna tabelka powinna być do tego dobra.
A co do płci - przy tym wpisujesz 1 i 2, np. 1 - męż, 2 - kob. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 23.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Co do pierwszego - osobna tabelka powinna być do tego dobra. Tabelka tzn. ![]() przedmioty id_przedmiot id_nauczyciel o to ci chodzi? A co do płci - przy tym wpisujesz 1 i 2, np. 1 - męż, 2 - kob. Tu tez osobna tabelka plec i potem tylko id_plec ? to masz na mysli? I jeszcze jedno. Jak to potem połączyć relacją,ażeby np. w tabeli uczeń gdzie będzie rekord id_plec, mógł sobie wybierać 1 czy 2 opcję ![]() |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 31 Dołączył: 30.03.2009 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Miotasz się i o to chodzi.Masz więc zamiar zrozumieć problem. Jest coś takiego jak arkusz organizacyjny szkoły-np Vulkan.
Najpierw ustal listę przedmiotów nauczanych w w szkole(id,nazwa przedmiotu). Lista klas(id, klasa-czyli grupa uczniów -nie gabinet) program nauczania w klasie(id_p,id_klasy,id_przedmiotu) //---------------------------- lista nauczycieli (id,nazwisko, itd..ORAZ unikalny skrót z imienia i nazwiska) nauczyciel uczy (id,id_nauczyciela,id przedmiotu) przydziały(id,id_p, id_nauczyciela) Wprowadzasz dane od góry....... Wyszukiwanie w zależności od potrzeb. NP: Bierzesz nauczyciela o id=5; W tabeli przydziały otrzymasz wszystkie id_p->na ich podstawie w tabeli program nauczania uzyskasz ifo jakich przedmiotów i w jakich klasach nauczyciel naucza(a w zasadzie otrzymasz ich idy) Być może gdzieś popełniłem błąd, ale tak bym podszedł do sprawy. Ktoś już napisał -rozrysuj i znormalizuj bazę. POWODZENIA. |
|
|
![]() ![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 23.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
celbarowicz z tego co piszesz to ja mojej bazie podanej u góry jest tylko brakuje mi ewentualnej tabeli przydziały, dzięki za news, właśnie piję kawę bo przede mną długa romantyczna noc z mysql
![]() ![]() |
|
|
![]() ![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 31 Dołączył: 30.03.2009 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Chyba przesadziłem. Jeśli tabelę program nauczania ,rozszerzyć o pole id_nauczyciala to zbędna będzie tabela przydziały.
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 23.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Tak ale nadal zostaję ci wtedy mój wcześniej napisany problem dobrego rozpisania przedmiotów , wiesz ja jednak rozbiję to i dołożę tabelę o nazwie tak jak podałeś poprzednio np. przydziały i tam będzie id_przedmiotu i id_nauczyciela, podobnie jak w szkielecie połączyłem tabele opiekun i uczeń tabelą pokrewieństwa. W tabeli nie program_nauczania nie umieścisz id_nauczyciela, bo nie zawsze jeden program realizuję jeden nauczyciel, moze być ich kilku, czyż nie?? Ale program nauczania zostawmy na potem. Najpierw trzon bazy potem ewentualnie coś się dołoży.
Co ty na to? Wydaje mi się, że tak będzie najrozsądniej. Ten post edytował filus08 24.05.2011, 23:13:37 |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 31 Dołączył: 30.03.2009 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Przydziały będą powielały tylko tabelę programy nauczania- a to jest zbędne(miejsce w bazie , oraz wypełnianie tabeli).
Ten post edytował celbarowicz 25.05.2011, 07:36:04 |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 23.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Teraz mam inny kłopot. Otóż
![]() Jak połączyć 2 klucze główne, tz. id_opiekun i id_nauczyciel do tabeli pokrewieństwa pokr_osoba, jakiej relacji użyć? Jest to możliwe?? Może jakieś argumenty trzeba ustawić, szukam ale nic nie mogę znaleźć Czy w tabeli pokrewieństwa dodać jeszcze rekord pokr_osoba_2 i tam dać id_opiekuna?? Ten post edytował filus08 25.05.2011, 12:23:51 |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
filus8: nie łączysz ich bo i po co ;] pamiętaj, że nie wszystko musi być ze sobą połączone [a łączenie nauczyciela z opiekunem to chyba jakaś pomyłka?] - większość otrzymasz tworząc odp. zapytania
ps. jak chcesz projektować bazy danych polecam fajny programik MySQL Workbench 5.2 CE Ten post edytował CuteOne 25.05.2011, 15:07:11 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 1.05.2025 - 05:18 |