Bydło w Unii Europejskiej

Programowanie w PL/SQL

Twój wuj z Brukseli prowadzi hodowlę unijnego bydła i w tym celu używa relacyjnej bazy danych o następujacym schemacie:

Oto skrypty: instalujący tabele i wstawiający przykładowe dane.

Nr i Imie to klucze główne w tabelach Boksy i Bydlo. W tabeli BydloPoczete w skład klucza wchodzą obydwie kolumny. NrBoksu, ImieMatki i ImieOjca to klucze obce.

Obora jest podzielona na boksy. Boksy są jedno- lub dwumiejscowe. W tych boksach umieszczono krowy i byki (takie wartości przyjmuje kolumna Plec). Jeśli w tym samym boksie znajdzie się byk i krowa, to zakładamy, ze nastąpi poczęcie cielaka.

  1. Napisać w PL/SQL procedurę WyznaczPoczecia, która wpisze do tabeli BydloPoczete informacje o rodzicach poczętych cieląt, a następnie przeniesie bydło tak, aby w boksach dwumiejscowych znajdowało się bydło tej samej płci.
  2. Napisać w PL/SQL wyzwalacz, który będzie uruchamiany po dodaniu nowej sztuki bydła lub przeniesieniu do innego boksu pewnej sztuki bydła. Ten wyzwalacz powinien sprawdzić: Jesli któryś z tych warunków jest niespełniony, należy zabronić takiej operacji.

Rozwiązania

  1. Procedura
  2. Wyzwalacz