Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ********************************************************* TRIGGER 1 - KLASA NIE PRZEKROCZYŁA MAKSYMALNEJ ILOŚCI OSÓB PRZY DODAWANIU NOWEGO UCZNIA DO KLASY *********************************************************
- if(inserted(id_uczen, id_klasy))
- {
- if(klasaDostepna(id_klasy))
- INSERT;
- else
- {
- print("Klasa osiągnęła limit 25 osób");
- break;
- }
- }
- klasaDostepna(id_klasy)
- {
- liczba_uczniow = SELECT COUNT(id_uczen) FROM Uczen
- WHERE Uczen.id_klasy = id_klasy;
- if(liczba_uczniow <= 25)
- return 1;
- else
- return 0;
- }
- ********************************************************* TRIGGER 2 - ZAJECIA DODATKOWE NIE KOLIDUJĄ Z PLANEM ZAJEC UCZNIA *********************************************************
- if(insertUczenZajeciaDodatkowe(id_uczen, id_zajecia_dodatkowe))
- {
- id_godzina_lekcyjna = SELECT id_godzina_lekcyjna FROM Plan_zajec_dodatkowych as plan
- WHERE plan.id_zajecia_dodatkowe = id_zajecia_dodatkowe;
- id_dzien_tygodnia = SELECT id_dzien_tygodnia FROM Plan_zajec_dodatkowych as plan
- WHERE id_zajecia_dodatkowe = plan.id_zajecia_dodatkowe;
- if(uczenDostepny(id_godzina_lekcyjna, id_uczen, id_dzien_tygodnia)
- INSERT;
- else
- {
- print("Uczen ma w tym czasie zajecia");
- break;
- }
- }
- uczenDostepny(id_godzina_lekcyjna, id_uczen, id_dzien_tygodnia)
- {
- id_klasy = SELECT id_klasa FROM Uczen
- WHERE Uczen.id_uczen == id_uczen;
- if(sprawdzCzySaZajecia(id_klasy, id_godzina_lekcyjna, id_dzien_tygodnia))
- return 0;
- else
- return 1;
- }
- sprawdzCzySaZajecia(id_klasy, id_godzina_lekcyjna)
- {
- if exists(SELECT 1 FROM Plan_zajec as Plan
- WHERE Plan.id_klasy = id_klasy
- AND Plan.id_godzina_lekcyjna = id_godzina_lekcyjna
- AND Plan.id_dzien_tygodnia = id_dzien_tygodnia)
- {
- return 0;
- }
- else
- return 1;
- }
- ********************************************************* TRIGGER 3 - ZAJĘCIA DODATKOWE NIE KOLIDUJĄ Z PLANEM NAUCZYCIELA ANI Z SALĄ *********************************************************
- if(inserted(id_zajecia_dodatkowe, id_nauczyciel, id_dzien_tygodnia, id_sala, id_godzina_lekcyjna))
- {
- if(nieKolidujeZPlanemNauczyciela(id_nauczyciel, id_dzien_tygodnia, id_godzina_lekcyjna))
- if(nieKolidujeZSala(id_sala, id_dzien_tygodnia, id_godzina_lekcyjna))
- {
- INSERT;
- }
- else
- {
- print("Ten termin zajec dodatkowych koliduje z salą");
- }
- else
- {
- print("Ten termin zajec dodatkowych koliduje z planem nauczyciela");
- }
- }
- nieKolidujeZPlanemNauczyciela(id_nauczyciel, id_dzien_tygodnia, id_godzina_lekcyjna)
- {
- if exists(SELECT 1 FROM Plan_zajec as Plan
- WHERE Plan.id_nauczyciel = id_nauczyciel
- AND Plan.id_godzina_lekcyjna = id_godzina_lekcyjna
- AND Plan.id_dzien_tygodnia = id_dzien_tygodnia)
- {
- return 0;
- }
- else
- return 1;
- }
- nieKolidujeZSala(id_sala, id_dzien_tygodnia, id_godzina_lekcyjna)
- {
- if exists(SELECT 1 FROM Plan_zajec as Plan
- WHERE Plan.id_sala = id_sala
- AND Plan.id_godzina_lekcyjna = id_godzina_lekcyjna
- AND Plan.id_dzien_tygodnia = id_dzien_tygodnia)
- {
- return 0;
- }
- else
- return 1;
- }
- ********************************************************* TRIGGER 4 - NOWA LEKCJA NIE PRZEKRACZA MAKSYMALNEJ ILOŚCI GODZIN LEKCYJNYCH DLA KLASY W DANYM DNIU *********************************************************
- if(INSERTED(id_klasa, id_dzien_tygodnia, id_nauczyciela)
- {
- if(dzienDostepnyDlaKlasy(id_klasa, id_dzien_tygodnia))
- {
- if(dzienDostepnyDlaNauczyciela(id_nauczyciel, id_dzien_tygodnia))
- INSERT;
- else
- {
- print("Nauczyciel przekroczył maksymalną ilość godzin w tym dniu");
- }
- }
- else
- {
- print("Klasa przekroczyła maksymalną ilość godzin w tym dniu");
- }
- }
- dzienDostepnyDlaKlasy(id_klasa, id_dzien_tygodnia)
- {
- ilosc_godzin = SELECT COUNT(id_klasa) FROM Plan_zajec as Plan
- WHERE Plan.id_klasa = id_klasa
- AND Plan.id_dzien_tygodnia = id_dzien_tygodnia;
- if(ilosc_godzin < 8)
- return 1;
- else
- return 0;
- }
- dzienDostepnyDlaNauczyciela(id_nauczyciel, id_dzien_tygodnia)
- {
- ilosc_godzin = SELECT COUNT(id_nauczyciel) FROM Plan_zajec as Plan
- WHERE Plan.id_nauczyciel = id_nauczyciel
- AND Plan.id_dzien_tygodnia = id_dzien_tygodnia;
- if(ilosc_godzin < 8)
- return 1;
- else
- return 0;
- }
- ********************************************************* PROCEDURA 1 - SPRAWDZ OBECNOSC *********************************************************
- if (isnerted(id_klasy, id_godzina_lekcyjna, id_data))
- {
- sprawdzObecnosc();
- }
- else
- {
- INSERT LEKCJA;
- sprawdzObecnosc();
- }
- sprawdzObecnosc(id_klasa,id_lekcja)
- {
- i = 0;
- ilosc_uczniow=SELECT COUNT(id_ucznia) FROM Uczen
- WHERE Uczen.id_klasa=id_klasa
- for (i = 0; i < ilosc_uczniow; i++) {
- INSERT FREKWENCJA;
- }
- }
- ********************************************************* PROCEDURA 2 - DODAJ LEKCJE *********************************************************
- dodajLekcje(id_lekcja) {
- id_plan_zajec = SELECT 1 FROM Lekcja
- WHERE Lekcja.id_lekcja = id_lekcja;
- if (inserted(SELECT id_typ_sali FROM Sala
- where Sala.id_sala=id_sala))
- {
- INSERT LEKCJA
- }
- else {
- INSERT (nowy TYP_SALI)
- INSERT LEKCJA
- }
- }
- ********************************************************* PROCEDURA 3 - DODAWANE ZASTEPSTWO POD WARUNKIEM ZE NAUCZYCIEL MOZE JE PRZEPROWADZIC I MA ODPOWIEDNIE KWALIFIKACJE *********************************************************
- if (nauczycielDostepny(id_godzina_lekcyjna, id_nauczyciel, id_dzien_tygodnia))
- {
- if (dzienDostepnyDlaNauczyciela(id_nauczyciel, id_dzien_tygodnia))
- {
- if (nauczycielWykwalifikowany(id_plan_zajec, id_przedmiot))
- {
- if (inserted(id_typ_Wydarzenia))
- {
- INSERT ZASTEPSTWO;
- }
- else
- {
- INSERT(nowy_typ_wydarzenia);
- INSERT ZASTEPSTWO;
- }
- }
- print("Nauczyciel nie jest wykwalifikowany by prowadzic ten przedmiot")
- }
- print("Nauczyciel w tym dniu osiągnął limit godzin")
- }
- print ("Nauczyciel ma w tym czasie zajęcia")
- nauczycielDostepny(id_godzina_lekcyjna, id_nauczyciel, id_dzien_tygodnia)
- {
- id_nauczyciel_przedmiot = SELECT * FROM Nauczyciel_Przedmiot as N_Przedmiot
- WHERE N_Przedmiot.id_nauczyciel = id_nauczyciel;
- while (id_nauczyciel_przedmiot) {
- if exists(SELECT 1 FROM Plan_zajec as Plan
- WHERE Plan.id_nauczyciel_przedmiot = id_nauczycielPrzedmiot
- AND Plan.id_godzina_lekcyjna = id_godzina_lekcyjna
- AND Plan.id_dzien_tygodnia = id_dzien_tygodnia)
- {
- return 0;
- }
- }
- return 1;
- }
- ********************************************************* PROCEDURA 4 - DODAJ OCENE *********************************************************
- if (inserted(id_kategoria_oceny))
- {
- INSERT OCENA;
- }
- else
- {
- INSERT(nowa kategoria oceny);
- INSERT OCENA;
- }
- ********************************************************* PROCEDURA 5 - DODAJ SALE *********************************************************
- if (inserted(id_typ_sali))
- {
- INSERT SALA;
- }
- else
- {
- INSERT(nowy typ sali);
- INSERT SALA;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement