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:

  1. 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,
  2. 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,
  3. zapytanie zwracające id, imię i nazwisko, tych osób, które nigdy nie pojawiły się w pracy,
  4. 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,
  5. * 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,
  6. pracownicy (imię + nazwisko), którzy mają co najmniej dwóch podwładnych (pośrednich lub bezpośrednich),
  7. zapytanie zwracające imię, nazwisko (praocownika), łączną liczbę jego bezpośrednich i pośrednich podwładnych,
  8. 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 */
Tomasz Waleń
Tomasz Waleń
Assistant Professor