Bazy Danych - poniedziałek, 15.00 - 18.00 - zadania zestaw 05.

Wstęp do CTE

Tutaj (MSDN) mozna znaleźć opis CTE w wydaniu T-SQL. Będziemy używac bazy danych AdventureWorks.

Wstęp do CTE - brak zapytań rekurencyjnych.

  1. Używając tabeli Employees z poprzednich zajęć, dodaj kolumnę mówiącą o tym, jak nisko w hierarchii firmy jest dany pracownik. Szef, który nie ma przełożonego (NULL) powinien mieć wartość 0, jego podwaładni 1, a kolejne osoby w hierarchii coraz wyższe numery. Napisz zapytanie, które wykonane odpowiednią ilość razy zbuduje wartości dodanej kolumny.

  2. Zaproponuj rozwiązanie, które pozwoli wypisać wszystkich pracowników będących 'pod' danym szefem.

  3. W jaki sposób można reprezentować w bazach danych drzewa? A grafy?

AdventureWorks:

  1. Przetestuj przykłady zawarte w artykule msdn.microsoft.com/en-us/library/ms175972.aspx

  2. Wyjaśnij, jak działa przykład 4.C - 'Using a recursive common table expression to display multiple levels of recursion'

  3. Wybierz tych pracowników, których ilość sprzedanych usług (użyj tabeli Sales.SalesOrderHeader) jest większa niż średnia ilość sprzedanych usług wśród wszystkich pracowników.

  4. Znajdź wszystkich szefów nad pracownikiem Mary Gibson (możesz wyświetlić dnae bez lub razem z Mary Gibson)