Zadania na kolokwium z Baz Danych
Struktura bazy danych: kolokwium.sql. Baza przedstawia baze danych w pewnej firmie, zawiera informacje o pracownikach i ich bezposrednich szefach (Pracownicy). Tabela ListaObcenosci zawiera dane o listach obecnosci ktore codziennie sa uzupelniane przez pracownikow, zapisuja w nich swoje przyjscie i wyjscie z pracy (mozna zalozyc ze wejscie<wyjscie). Projekty i UczestnicyProjektow zawieraja informacje o projektach ktore sa rozwijane w firmie.
Napisz następujące zapytania SQL:
- zestawenie, imię, nazwisko, pensję pracownika, oraz łączną liczbę projektów w których bierze (lub brał) on udział (proszę pamiętać, również tych pracownikach którzy mają tą liczbę równą 0), przez bioracego udzial w projekcie uznajemy osobę dla której istnieje odpowiedni wpis w tabeli UczestnicyProktow,
- zapytanie zwracające imię i nazwisko pracownika (lub pracowników jeśli będzie takich osób więcej) biorących udział w największej liczbie projektów,
- zapytanie zwracające id, imię i nazwisko, tych osób, które nigdy nie pojawiły się w pracy,
- wypisać pracowników "oszustów" (imię + nazwisko), tzn. takich dla których istnieją co najmniej dwa różne wpisy w LiścieObceności obejmujące okresy mające niezerową część wspólna,
- * wypisać dla każdego pracownika (nawet "oszusta") łączną liczbę godzin przez niego przepracowanych (ale licząc już wg sprawiedliwych zasad, czyli "wielokrotna" obecności liczy się tylko raz), zestawinie powinno obejmować: imię, nazwisko, #godzin,
- pracownicy (imię + nazwisko), którzy mają co najmniej dwóch podwładnych (pośrednich lub bezpośrednich),
- zapytanie zwracające imię, nazwisko (praocownika), łączną liczbę jego bezpośrednich i pośrednich podwładnych,
- zapytanie zwracające maksymalny okres(y) (tzn. podające początek i koniec tego okresu), w których nikogo nie było w pracy (na podstawie tabeli ListaObecnosci). Przyjmujemy że zajmujemy się jedynie okresami zawartymi w: 1.01.2000--31.12.2001.
Zasady
Rozwiazania nalezy przeslac na adres: walen@mimuw.edu.pl, w nieprzekraczalnym terminie 2001.12.07 23:59. Rozwiazanie powinno skladac sie z jednego pliku tekstowego przeslanego jako tresc listu (nie zalacznik) w formacie:
/* Autor: Imie Nazwisko */ /* Nr.ind: nr */ /* zadania 1 */ SELECT ... {rozwiazanie zadania 1} /* zadanie 2 */ SELECT ... {rozwiazanie zadania 2} /* zadanie 3 */ SELECT ... | /* BRAK */