Procedury i funkcje

Praktyczne ćwiczenie do wykonania

Bazy danych Procedury i funkcje składowane

Część 1: Funkcje Składowane (Stored Functions)

Cel: Stwórz narzędzia, które przeliczają dane i zwracają wynik.

  1. Funkcja InicjalyNauczyciela: Funkcja ma przyjmować nauczyciel_id i zwracać ciąg znaków składający się z pierwszej litery imienia i pierwszej litery nazwiska (np. "A.N.").
  2. Funkcja OpisOceny: Funkcja ma przyjmować wartość liczbową oceny (np. 5.0) i zwracać jej nazwę słowną (np. "Bardzo dobry"). Wykorzystaj instrukcję CASE lub IF.
  3. Funkcja LiczbaUczniowWKlasie: Funkcja ma przyjmować nazwę klasy (np. '1A') i zwracać liczbę uczniów przypisanych do tej klasy.
  4. Funkcja KosztWynagrodzen: Funkcja ma obliczać sumę zarobków wszystkich nauczycieli uczących konkretnego przedmiotu (parametr: nazwa_przedmiotu).
  5. Funkcja WiekUcznia: Funkcja ma przyjmować uczen_id i zwracać liczbę lat, jakie kończy uczeń w bieżącym roku kalendarzowym.

Część 2: Procedury Składowane (Stored Procedures)

Cel: Stwórz automaty, które modyfikują dane lub generują raporty.

  1. Procedura ZmienTelefonNauczyciela: Procedura ma przyjmować nauczyciel_id oraz nowy numer telefonu. Ma zaktualizować odpowiedni rekord w tabeli DaneKontaktowe (pamiętaj o powiązaniu kluczem obcym!).
  2. Procedura DodajNowyPrzedmiot: Procedura ma przyjmować tylko nazwę przedmiotu. Ma sprawdzić, czy taki przedmiot już istnieje – jeśli nie, ma go dodać do tabeli Przedmioty.
  3. Procedura PremiaDlaPrzedmiotu: Procedura ma przyjmować nazwę przedmiotu oraz kwotę. Ma dodać tę kwotę do zarobków (zarobki) wszystkich nauczycieli, którzy uczą tego przedmiotu.
  4. Procedura PrzeniesUcznia: Procedura ma przyjmować uczen_id oraz nowa_klasa_id. Ma zmienić klasę ucznia w tabeli Uczniowie.
  5. Procedura RaportOcenUcznia: Procedura ma przyjmować uczen_id i wyświetlać (za pomocą prostego SELECT wewnątrz) listę wszystkich jego ocen wraz z nazwami przedmiotów.