Laboratorium 5
Transkrypt
Laboratorium 5
Laboratorium Bazy danych, Procedury i funkcje 5 Zad.1 Napisz procedurę, która sprawdzi i wypisze ilu pracowników jest zatrudnionych w zespole, którego nazwa podana jest jako argument procedury. Zad.2 Napisz funkcję, która zwróci nazwisko pracownika, który pracuje w zespole o identyfikatorze podanym jako pierwszy argument funkcji i który został zatrudniony po dacie zatrudnienia pracownika o numerze podanym jako drugi argument. Jeżeli nie ma takiego pracownika, zwrócony zostanie pusty łańcuch. (UWAGA: nie wartość NULL, tylko łańcuch pusty!) Zad.3 Napisz bezargumentową procedurę, która wyświetli nazwę zespołu, nazwę etatu, płacę minimalną i maksymalną (z tabeli etat) oraz maksymalną płacę podstawową pracowników dla każdego etatu, o ile na tym etacie zatrudnionych jest więcej niż 5 pracowników. Zad.4 Napisz procedurę, która przyjmuje trzy argumenty: w pierwszym przekazujemy nazwisko pracownika, w drugim przekazujemy nazwę zespołu, w trzecim zwracamy liczbę całkowitą. Zadaniem procedury jest sprawdzenie i zwrócenie w trzecim argumencie procedury ilu jest pracowników o nazwisku podanym jako pierwszy argument procedury zatrudnionych w zespole o nazwie podanej jako drugi argument. W przypadku, gdy nie ma takiego pracownika i/lub zespołu o podanej nazwie, w trzecim argumencie zwracamy 0. Zad.5 Napisz funkcję, która zwróci cztery znaki: dwie pierwsze cyfry numeru i dwie ostatnie litery nazwiska pracownika, którego numer podany jest jako argument funkcji. Zad.6 Napisz funkcję, która zwróci nazwisko szefa, którego zespół ma nazwę zgodną z wartością pierwszego argumentu. Jeżeli nie ma takiego zespołu lub zespół nie zatrudnia pracowników, zwrócony zostanie pusty łańcuch. (UWAGA: nie wartość NULL, tylko łańcuch pusty!) Zad.7 Napisz bezargumentową procedurę, która wyświetli nazwę zespołu, średnią płacę podstawową i średnią płacę dodatkową pracowników w każdym z zespołów, o ile w zespole zatrudnionych jest więcej niż 3 pracowników. Zad.8(2 pkt.) Napisz procedurę, która obliczy i wypisze sumę płac podstawowych pracowników w taki sposób, że dla każdej liczby całkowitej z przedziału 〈a , b〉 , gdzie a i b podane są jako argumenty funkcji, sprawdzi czy istnieje w tabeli pracownik o numerze równym tej liczbie i powiększy sumę o jego płacę podstawową lub jeśli nie ma takiego pracownika wypisze odpowiedni komunikat na ekranie ('NIE ZNALAZŁEM'). Użyj pętli REPEAT...UNTIL... Zad.9 Napisz procedurę, która przyjmuje trzy argumenty: w pierwszym przekazujemy nazwisko pracownika, w drugim przekazujemy nazwę zespołu, w trzecim zwracamy płacę dodatkową. Zadaniem procedury jest sprawdzenie i zwrócenie w trzecim argumencie procedury płacy dodatkowej pracownika o nazwisku podanym jako pierwszy argument zatrudnionego w zespole o nazwie podanej jako drugi argument. W przypadku, gdy nie ma takiego pracownika i/lub zespołu o podanej nazwie, w trzecim argumencie zwracamy NULL. Zad.10 Napisz procedurę, która dla każdej liczby całkowitej z przedziału 〈a , b〉 , gdzie a i b podane są jako argumenty funkcji, sprawdzi czy istnieje w tabeli pracownik o numerze równym tej liczbie i wypisze na ekranie komunikat 'TAK' lub 'NIE'. Użyj pętli REPEAT...UNTIL... Zad.11 Zdefiniować funkcję, która zwróci ostatnią literę etatu pracownika o numerze podanym jako pierwszy argument funkcji, którego staż pracy nie przekracza wartości podanej jako drugi argument. Jeśli pracownik nie istnieje zostanie zwrócona wartość NULL. Zad.12 Zdefiniować procedurę, która wypisze połączone wartości: 3 pierwsze litery nazwiska i 2 ostatnie litery etatu pracowników, których nazwisko na drugiej pozycji ma literę podaną jako argument procedury. Zad.13 Zdefiniować funkcję, której zadaniem jest obliczenie i zwrócenie różnicy dwóch liczb całkowitych a i b, gdzie a i b są całkowitymi argumentami funkcji. Laboratorium Bazy danych, Procedury i funkcje 5 Zad.14 Napisz funkcję, która obliczy i zwróci sumę płac dodatkowych pracowników z zespołu o nazwie podanej jako argument funkcji. Zad.15 Napisz funkcję, która zwróci nazwisko szefa, którego zespół ma identyfikator zgodny z wartością pierwszego argumentu. Jeżeli nie ma takiego zespołu lub zespół nie zatrudnia pracowników, zwrócony zostanie pusty łańcuch. (UWAGA: nie wartość NULL, tylko łańcuch pusty!) Zad.16 Zdefiniować procedurę, która zwróci w drugim argumencie łańcuch będący pierwszym argumentem, ale ze znakami zamienionymi na małe litery. W procedurze wypisz wartość pierwszego i drugiego argumentu przed i po zamianie. (upper(), lower()) Zad.17 Napisz bezargumentową procedurę, która wyświetli nazwę zespołu oraz średnią płacę dodatkową pracowników w każdym z zespołów, o ile w zespole zatrudnionych jest dokładnie 2 pracowników. Zad.18 Zdefiniować funkcję, która obliczy i zwróci średnią z płac podstawowych pracowników o numerach z przedziału 〈a ,b〉 gdzie a i b są całkowitymi argumentami funkcji.