background image

Bazy danych II – kolokwium 1 (czas: 1,5 godz. – zad. 75 min. + 15 min. czas dodatk.) 

Dane są tabele: 

Wyniki_obliczen 
ID_wo 

typ number, klucz główny, wyłącznie wartości dodatnie, komentarz: klucz główny 

przedzial_od 

typ number, cztery miejsca po przecinku, różny od przedział_do 

przedzial_do 

typ number, cztery miejsca po przecinku, różny od przedział_od 

ID_f 

typ number 

wynik 

typ number, cztery miejsca po przecinku 

 

Funkcja 
ID_f 

typ number, klucz główny, wyłącznie wartości dodatnie, komentarz: klucz główny 

nazwa 

varchar2(5), komentarz: nazwa funkcji 

 

1.  (10 min., 5p.) Utworzyć tabele opisane powyżej. 
2.  (3 min., 2p.) Utworzyć sekwencje o nazwach: seq_wo seq_f
3.  (4 min., 2p.) Umieścić następujące zestawy danych (wykorzystując utworzone sekwencje do 

umieszczenia wartości liczbowych dla kluczy głównych): 
 
Wyniki_obliczen 
ID_wo 

przedzial_od 

przedzial_do 

ID_f 

-1.5 

1.6 

-5 

3.1415 

 
Funkcje 
ID_f 

nazwa 

sin 

cos 

 

4.  Utworzyć pakiet o nazwie Obliczenia, a następnie w pakiecie utworzyć funkcję o nazwie calka

a.  (30 min., 30p.) calka(przedzial_od number, przedzial_do number, nazwa_funkcji varchar2 

domyślnie sin ) obliczającą całkę oznaczoną z uwzględnieniem przedziałów całkowania i 
rodzaju funkcji. Obliczenia wykonać metodą trapezów, 

b.  (5 min., 5p.) utworzyć własny wyjątek, wywoływany po wpisaniu niewłaściwej nazwy funkcji 

(czyli różnej od: sin i cos). Wywołanie wyjątku przerywa działanie programu z komunikatem: 
niewłaściwa nazwa funkcji

5.  (8 min., 7p.) Jednym poleceniem uaktualnić komórki kolumny wynik wartościami zwróconymi przez 

funkcję calka (6p.). Przed rozpoczęciem uaktualnienia ustawić poziom izolacji transakcji na: serializable 
(1p.).  

6.  (5 min., 4p.) Utworzyć widok o nazwie vWyniki na bazie tabel, wyświetlający: nazwę funkcji, przedziały, 

wynik. 

7.  (10 min., 10p.) Utworzyć wyzwalacz o nazwie tWynikiObliczenFunkcje, usuwający odpowiednie wiersze 

w tabeli Wyniki_obliczen po usunięciu danej funkcji w tabeli Funkcje (w oparciu o relację Funkcje.ID_f  
-> Wyniki_obliczen.ID_f
 ). 

Punktacja 

Ocena 

61-65 

5.0 

56-60 

4.5 

50-55 

4.0 

40-49 

3.5 

33-39 

3.0 

0-32 

2.0