Antoni Dydejczyk  Website
środa, 17 Wrzesień 2025
216.73.216.32
Logowanie do serwisu [Log in]

Bazy danych II - tematy projektów

Wersja 0.9 - marzec 2025

Celem projektów jest opracowanie biblioteki z określonym interfejsem ( API ), poprawna implementacja funkcjonalnośći udostęnionej przez API blilioteki a następnie wykorzystanie biblioteki w przykładowej aplikacji napisanej w C# wykorzystujące udostępnione funkcjonalności API. Dodatkowo opracowaną bibliotekę należy przetestować z wykorzystaniem skryptu zawierającego polecenia ASSERT do testowania funkcjonalności API. Połączenie z bazą danych w aplikacji i skrypcie testującym API należy zrealizować z wykorzystaniem interfejsu ADO.NET.

Do zaliczenia projektu wymagane jest oddanie aplikacji prezentującej funkcjonalność opracowanego API, skryptu testującego API, dokumentacji oraz odpowiednich skryptów T-SQL i kodów żródłowych w C# zawierających komentarze. Dokumentacja powinna zawierać nastęujące elementy:

  • opis problemu i opis funkcjonalności udostęnianej przez API,
  • opis typów danych oraz metod ( funkcji ) udostępnionych w ramach API,
  • opis implementacji udostępnionego API przez bibliotekę,
  • prezentacja przeprowadzonych testów jednostkowych,
  • prezentacja przykładowej aplikacji,
  • podsumowanie i wnioski,
  • literatura,
  • dołaczone kody żródłowe wszystkich skryptów T-SQL wykorzystanych w projekcie (np. tworzenie testowej bazy danych) oraz aplikacji w C#.

Punktacja za realizację projektu:

  • poprawnie opracowana biblioteka z udostępnionym API - 15 punktów,
  • skrypt testujący funkcjonalność API - 5 punktów,
  • przykładowa aplikacja wykorzystująca opracowaną bibliotekę - 5 punktów,
  • dokumentacja projektu - 10 punktów,
  • terminowe oddanie projektu ( 30 czerwiec, 24:00 ) - 5 punktów.

Uwaga, w grupie można zrealizować tylko dwa takie same projekty.

Tematy zagadnień do opracowania:

  1. Obsługa danych przestrzennych dwuwymiarowych.
    W ramach zadania należy przygotować API i jego implementację umożliwiającą przetwarzanie danych dwuwymiarowych z wykorzystaniem własnych typów danych CLR UDT oraz metod. Przygotowane metody powinny umożliwić wyznaczenie odległości pomiędzy punktami, wyznaczenie pola określonego obszaru oraz sprawdzenie czy punkt należy do danego obszaru. Opracowane typy danych i metody należy porównać z odpowiednimi typami przetwarzającymi dane przestrzenne udostępnionymi w ramach SQL Server.
  2. Przetwarzanie dokumentów XML.
    W ramach zadania należy przygotować API i jego implementację umożliwiającą przetwarzanie dokumentów XML. Dokumenty XML zapisywane są w natywnym typie danych XML. Opracowane API powinno udostępniać funkcje zapisu i usuwania wybranego dokumentu z koleckji oraz umożliwiać wyszukanie wybranych fragmentów dokumentu wskazanych przez określone węzły i/lub atrybuty oraz modyfikacji wybranych węzłów i/lub atrybutów.
  3. Przetwarzanie danych hierarchicznych w oparciu o typ danych hierarchyid.
    W ramach zadania należy przygotować API i jego implementację umożliwiającą tworzenia struktury hierarchicznej dla drzewa geologicznego lub struktury organizacyjnej firmy. W ramach zadania należy wykorzystać typ hierarchyid dostępny w SQL Server. Opracowane API umożliwia utworzenie drzewa, dodawanie węzłów oraz ich usuwanie a także tworzenie wybranych raportów.
  4. Przetwarzanie danych hierarchicznych w oparciu o typ danych xml.
    W ramach zadania należy przygotować API i jego implementację umożliwiającą tworzenia struktury hierarchicznej dla drzewa geologicznego lub struktury organizacyjnej firmy. W ramach zadania należy wykorzystać typ XML dostępny w SQL Server. Opracowane API umożliwia utworzenie drzewa, dodawanie węzłów oraz ich usuwanie a także tworzenie wybranych raportów.
  5. Przetwarzanie rozproszone w SQL Server.
    W ramach zadania należy przygotować API i jego implementację do zarządzania transakcjami rozproszonymi w SQL Server. Opracowane API powinno umożliwić przeprowadzenie transakcji rozproszonej zakończonej akceptacją lub odrzuceniem transakcji. Opracowane API wykorzystać np. do realizacji mini banku, gdzie w centrali znajdują się informacje o wszystkich klientach i ich saldach, natomiast w oddziałach znajdują się informacje o klientach należących do danego oddziału i wszystkie transakcje wykonane na koncie. Realizacja projektu wymaga uruchomienia kilku baz danych.
  6. Przetwarzanie własnych typów danych CLR UDT.
    Opracować API oraz jego implementację obsługującą wybrany zestaw typów własnych UDT w technologii CLR do obsługi złożonych danych pobieranych z różnych źródeł danych. Opracowane API powinno umożliwić wprowadzanie danych do zdefiniowanych struktur, wyszukiwanie danych w opracowanych strukturach oraz tworzenie odpowiednich raportów, jak również informować o błędnym ich wykorzystaniu. W ramach zadania należy zaimplementować powyżej pięciu typów własnych UDT.
  7. Przetwarzanie własnych agregatów CLR UDA.
    Opracować API oraz jego implementację obsługującą wybrany zestaw własnych agregatów CLR UDA (przynajmniej 5 oraz minum dwa w wersji rozszerzonej) do realizacji wybranej analizy statystycznej danych. W ramach projektu należy przygotować odpowiedni zestaw danych umożliwiających poprawną weryfikację przygotowanych agregatów CLR UDA.
  8. Przetwarzanie danych typu CLOB z wykorzystaniem technologii FTS.
    Opracować API i jego implementację do przetwarzania danych typu CLOB. W ramach projektu można wykorzystać typ danych CLOB oraz technologię wyszukiwania pełnotekstowego FTS do wyszukiwania okeślonych fraz i słów w ramach dokumentu. Opracowane API powinno umożliwić zapis i usunięcie wybranego dokumentu oraz wyszukanie określonej informacji w dokumentach umieszczonych w repozytorium.