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.
- 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.
- 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.
- Wrzuć powyższe dane do nowej tabeli i zrób operację odwrotną - UNPIVOT.
- 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.
- 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.
- Na dowolnym zapytaniu porównaj działanie GROUPING oraz GROUPING_ID. Czym się różnią? Wykaż to na wcześniej stworzonym przykładzie.
- Czy kolejność operatorów UNION, INTERSECT i EXCEPT ma znaczenie? Wykaż to na dowolnych zapytaniach (innych niż podanych w przykładach).
- Podziel produkty na odpowiednie kategorie. W ramach każdej z kategorii wyświetl kolejny numer wiersza dla każdego kolejnego produktu.
- Napisz funkcję, która zwróci datę ostatniego zamówienia dla zadanego ID klienta. Wykorzystaj tą funkcje w dowolnym zapytaniu.
- 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.
- Stwórz 3 procedury, które do dowolnej tabeli:
- pierwsza powinna dodawać dane (INSERT)
- druga powinna usuwać dane (DELETE)
- trzecia powinna modyfikować dane (UPDATE)
- 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).
- 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)
- Stwórz trigger audyujący dowolną tabelę.
- 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.
- Stwórz funkcję przez którą będziesz mógł dodać dane do dowolnej tabeli (Inline TVF).
- 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.
- Stwórz procedurę, która podzieli pracowników na dwie grupy - jedna z grup ma zawierać rekordy o ID parzystych, druga nieparzystych.