Cześć Wam,

Aktualnie jestem studentem na specjalności bazy danych (z przymusu bo kochana szkoła obiecywała grafikę a otworzyła tylko bazy) i mam olbrzymi problem z tym językiem a do zrobienia kilkanaście zapytań. Jeżeli ktoś byłby chętny za jakąś opłatą je napisać byłbym bardzo wdzięczny. To moja jedyna nadzieja.

Baza danych jest w załączniku a niżej są zapytania jeżeli by ktoś znalazł się chętny do nich (ponownie zaznaczam, że za jakąś opłatą)
Najlepiej na priv zagadać bo mam przeczucie, że w odpowiedziach będzie spam "gotowców nie robimy", "google" itp.

  1. Wyświetl sumę kwoty dla wszystkich zamówień w roku 2006, wykaż jak zwiększała się całkowita kwota wraz z kolejnym zamówieniem. Dodatkowo sprawdź dla każdego bieżącego rekordu jaka była różnica pomiędzy pierwszym rekordem dla danej kategorii a bieżącą sumą całkowitą dla danego rekordu. Wyświetl wartości poprzedzającego i następującego zamówienia. Do obliczeń można użyć widoku OrderValues.
  2. Wyświetl sumę wszystkich zamówień w poszczególnych latach obsłużonych przez pracowników 1,2,3,5. Dla każdego pracownika suma zamówień w poszczególnych latach powinna wyświetlać się w odpowiednich kolumnach. Użyj operatora PIVOT.
  3. Wrzuć powyższe dane do nowej tabeli i zrób operację odwrotną - UNPIVOT.
  4. Wyświetl sumę sprzedaży całkowitej w formie "raportu" dla pracowników i klientów oraz jako sumę całkowitą. Użyj operatora UNION oraz GROUPING SETS, oraz CUBE (wynik z użycia wszystkich operatorów musi być taki sam). Porównaj plany wykonania zapytań i powiedz które zapytanie jest najwydajniejsze.
  5. Wyświetl hierarchię sprzedaży całkowitej w formie "raportu" dla pracowników, pracowników i klientów oraz jako sumę całkowitą. Użyj operatora UNION oraz GROUPING SETS, oraz ROLLUP.Porównaj plany wykonania zapytań i powiedz które zapytanie jest najwydajniejsze.
  6. Na dowolnym zapytaniu porównaj działanie GROUPING oraz GROUPING_ID. Czym się różnią? Wykaż to na wcześniej stworzonym przykładzie.
  7. Czy kolejność operatorów UNION, INTERSECT i EXCEPT ma znaczenie? Wykaż to na dowolnych zapytaniach (innych niż podanych w przykładach).
  8. Podziel produkty na odpowiednie kategorie. W ramach każdej z kategorii wyświetl kolejny numer wiersza dla każdego kolejnego produktu.
  9. Napisz funkcję, która zwróci datę ostatniego zamówienia dla zadanego ID klienta. Wykorzystaj tą funkcje w dowolnym zapytaniu.
  10. Stwórz procedurę, która wyświetli sumę wszystkich zamówień w poszczególnych latach obsłużonych przez zadanego pracownika. Dla każdego pracownika suma zamówień w poszczególnych latach powinna wyświetlać się w odpowiednich kolumnach.
  11. Stwórz 3 procedury, które do dowolnej tabeli:
    • pierwsza powinna dodawać dane (INSERT)
    • druga powinna usuwać dane (DELETE)
    • trzecia powinna modyfikować dane (UPDATE)
  12. Stwórz funkcję skalarną zwracającą wartości 0 i 1, która dla zadanego klienta sprawdzi czy w jego lokalizacji znajduje sie pracownik mogący go obsłużyć (1) czy nie (0).
  13. Stwórz funkcję (widok sparametryzowany) prezentującą szczegóły zamówienia klientów wraz informacją który pracownik go obsługiwał (imię i nazwisko). Użyj funcji w zapytaniu - zapytanie powinno łączyć funkcję z tabelą dostawców (należy wyświetlić nazwę dostawcy)
  14. Stwórz trigger audyujący dowolną tabelę.
  15. Stwórz procedurę, która dla zadanego roku wyświetli sumę kwoty dla wszystkich zamówień, wykaż jak zwiększała się całkowita kwota wraz z kolejnym zamówieniem. Dodatkowo sprawdź dla każdego bieżącego rekordu jaka była różnica pomiędzy pierwszym rekordem dla danej kategorii a bieżącą sumą całkowitą dla danego rekordu. Wyświetl wartości poprzedzającego i następującego zamówienia. Do obliczeń można użyć widoku OrderValues.
  16. Stwórz funkcję przez którą będziesz mógł dodać dane do dowolnej tabeli (Inline TVF).
  17. Stwórz procedurę, która wyświetli sumę sprzedaży całkowitej zadanego ID produktu w formie "raportu" dla pracowników i klientów oraz jako sumę całkowitą. Użyj operatora GROUPING SETS.
  18. Stwórz procedurę, która podzieli pracowników na dwie grupy - jedna z grup ma zawierać rekordy o ID parzystych, druga nieparzystych.