Nierelacyjne bazy danych I-IO-SI7O>NBD
a. Wykłady:
szczegółowe treści kształcenia (szczegółowy program zajęć):
1. Wprowadzenie do nierelacyjnych baz danych. Wyjaśnienie podstawowych pojęć oraz przedstawienie najważniejszych kategorii nierelacyjnych baz danych. Określenie obszaru stosowalności w podejściu biznesowym i aplikacjach komercyjnych.
2. Dokumentowe bazy danych na przykładzie mongoDB. Instalacja bazy, podstawy administracji, kolekcje i dokumenty. Wprowadzenie do środowiska zarządzania bazą danych. Język zapytań oraz operacje typu CRUD.
3. Bazy danych typu klucz-wartość oraz krotkowe na przykładzie ulotnej bazy danych Redis oraz nieulotnej bazy Azure Table Storage. Instalacja, podstawy konfiguracji oraz wprowadzanie do CLI (Command-line interface). Operacje typu CRUD na przykładzie programów w technologii .NET.
4. Neo4j jako przykład grafowych baz danych. Przedstawienie potencjalnego (komercyjnego) obszaru zastosowań, instalacja, konfiguracja, wprowadzenie do języka zapytań Cypher. Przykłady operacji CRUD z poziomu panelu zarządzania bazą danych oraz w języku C#.
5. Bazy danych XML wraz z powiązanymi technologiami takimi jak: XPath, XQuery, Xslt. Przykłady zapytań XPath i XQuery. Transformacje dokumentów XML za pomocą Xslt. Wprowadzenie do bazy danych eXist-db. Walidacja dokumentów XML za pomocą XSD oraz DTD.
6. Wprowadzenie do zagadnień Event Source. Określenie obszaru zastosowań oraz możliwości wykorzystania komercyjnego. Event Source jako log danych w aplikacjach typu CRUD. Wprowadzenie do bazy danych Event Store (instalacja, konfiguracja i interfejs użytkownika). Przykład oprogramowania wykorzystujący bazę Event Store.
metody dydaktyczne i techniki kształcenia oraz sposób organizacji zajęć:
Wykład połączony z praktycznymi demonstracjami z wykorzystaniem komputera i środków multimedialnych.
forma i kryteria zaliczenia, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:
Warunkiem zaliczenia całości przedmiotu jest uzyskanie zaliczenia z ćwiczeń laboratoryjnych oraz uzyskania pozytywnej oceny z egzaminu z wykładów.
b. Ćwiczenia laboratoryjne:
szczegółowe treści kształcenia (szczegółowy program zajęć):
1. Instalacja bazy danych mongoDB, podstawowe operacje na danych z wykorzystaniem środowiska Robo 3T. Tworzenie zapytań w oparciu o dialekt, filtracja, operatory relacji i logiczne (projekcja danych).
2. Dokumenty zagnieżdżone, tablice, sortowanie, ograniczanie zakresu elementów i paginacja danych w mongoDB.
3. Dodawanie elementów, operacje typu zachowywanie stanu oraz odtwarzanie w dokumentowej bazie danych mongoDB.
4. Edycja, usuwanie elementów w dokumentowej bazie danych mongoDB. Indeksy oraz optymalizacja zapytań.
5. Zapytania przestrzenne w dokumentowej bazie danych mongoDB.
6. Wprowadzenie do mongoDB Aggregation framework, filtrowanie, grupowanie, sortowanie i projekcja danych.
7. Tworzenie programu komputerowego z wykorzystaniem mongoDB oraz technologii .NET. Wprowadzenie do mongoDB.Driver, podstawowe operacje typu CRUD. Tworzenie dokumentów zagnieżdżonych w języku obiektowym i utrwalenie ich w nierelacyjnej bazie danych.
8. Instalacja grafowej bazy danych Neo4j. Wprowadzenie do interfejsu użytkownika oraz podstawowa konfiguracja.
9. Język opisu danych Cypher. Tworzenie węzłów oraz relacji. Atrybuty węzłów i relacji. Zapytania typu Node, Relationship i Pattern. Stosowane konwencje nazewnicze.
10. Kwerendy w języku Cypher, filtracja danych, sortowanie. Pozostałe elementy typu CRUD (dodawanie, edycja i usuwanie elementów).
11. Polecenia języka Cypher – przegląd wraz z praktycznymi przykładami.
12. Profilowanie w grafowych bazach danych: indeksy, badanie czasu wykonania oraz wyświetlanie planu wykonania kwerend.
13. Modelowanie danych z wykorzystaniem języka Cypher oraz Neo4j. Przykłady zagadnień biznesowych w ramach wykonywanych kwerend w odniesieniu do zaimplementowanej struktury danych. Prezentacja podejścia iteracyjnego do tworzonego modelu danych. Praca w metodyce Scrum wraz z zmieniającą się w czasie listą wymagań.
14. Kwerendy przestrzenne w Neo4j. Przykłady realizacji na danych pochodzących z Google Maps. Pomiar odległości wraz z filtracją i sortowaniem danych.
15. Algorytmy w grafowych bazach danych. Wyznaczenie najkrótszej ścieżki w grafie na przykładzie problemu komiwojażera.
16. Tworzenie aplikacji w technologii .NET z wykorzystaniem nierelacyjnej bazy danych Neo4j wraz z filtrowanie, projekcją oraz paginacją elementów.
metody dydaktyczne i techniki kształcenia oraz sposób organizacji zajęć:
Praktyczne tworzenie przez studentów zapytań w programach zarządzających bazą danych (najczęściej przeglądarka internetowa) oraz programów komputerowych z wykorzystaniem technologii .NET oraz konstrukcji omawianych na wykładach.
forma i kryteria zaliczenia, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:
Zaliczenie ćwiczeń laboratoryjnych uzyskuje się na podstawie obecności, aktywności na zajęciach oraz zaliczenia kolokwium lub projektu.
Koordynatorzy przedmiotu
W cyklu 2022/2023-L: | W cyklu 2024/2025-L: | W cyklu 2021/2022-Z: | W cyklu 2021/2022-L: | W cyklu 2023/2024-L: |
<b>Ocena końcowa</b>
<b>Wymagania wstępne</b>
<b>Literatura podstawowa</b>
<b>Literatura uzupełniająca</b>
<b>Inne informacje</b>
Efekty kształcenia
Wiedza
Ma uporządkowaną, podbudowaną teoretycznie wiedzę w zakresie nierelacyjnych baz danych.
Powiązane efekty kierunkowe:
IF1A_W08
Metody weryfikacji:
Kolokwium
Wiedza
Ma uporządkowaną i podbudowaną teoretycznie w zakresie tworzenia aplikacji w tym również związanych z wykorzystaniem baz danych typu NoSQL.
Powiązane efekty kierunkowe:
IF1A_W11
Metody weryfikacji:
Kolokwium
Wiedza
Ma uporządkowaną wiedzę w zakresie metod i technik programowania w obszarze aplikacji wykorzystujących nierelacyjne bazy danych.
Powiązane efekty kierunkowe:
IF1A_W04
Metody weryfikacji:
Kolokwium
Umiejętności
Ma umiejętność samokształcenia się, potrafi pozyskiwać informacje z literatury oraz in¬nych właściwie dobranych źródeł, także w języku angielskim w zakresie wyboru bazy danych, programowania z nastawieniem na nierelacyjne dane, potrafi integrować uzyskane informacje, dokonywać ich inter¬pretacji, a także wyciągać wnioski oraz formułować i uzasad¬niać opinie.
Powiązane efekty kierunkowe:
IF1A_U06
Metody weryfikacji:
Kolokwium
Ocena aktywności na zajęciach
Umiejętności
Potrafi dokonać identyfikacji i sformułować specyfikację zadań wynikających z doboru do określonego problemu nierelacyjnej bazy danych oraz wykonać zapytania w wybranym dialekcie bazy danych.
Powiązane efekty kierunkowe:
IF1A_U23
Metody weryfikacji:
Kolokwium
Ocena aktywności na zajęciach
Umiejętności
Potrafi, zgodnie z zadaną specyfikacją, zaprojektować oraz zrealizować proste oprogramowanie, używając właściwych metod, technik i narzędzi programistycznych z wykorzystaniem nierelacyjnej bazy danych.
Powiązane efekty kierunkowe:
IF1A_U27
Metody weryfikacji:
Kolokwium
Ocena aktywności na zajęciach
Kompetencje społeczne
Rozumie potrzebę uczenia się przez całe życie. Potrafi inspiro¬wać i organizować proces uczenia się innych osób.
Powiązane efekty kierunkowe:
IF1A_K01
Metody weryfikacji:
Ocena aktywności na zajęciach
Literatura
1. K. Banker, P. Bakkum, S. Verch, D. Garrett, T. Hawkins, MongoDB w akcji, Helion, 2016
2. K. Segulin, The Little MongoDB Book, 2011, on-line: https://www.openmymind.net/2011/3/28/The-Little-MongoDB-Book/
3. MongoDB Notes for Professionals, goalkicker.com, 2018, on-line: https://goalkicker.com/MongoDBBook/
4. K. Banker, P. Bakkum, S. Verch, D. Garrett, T. Hawkins, MongoDB w akcji, Helion, 2016
5. Strona internetowa: https://docs.mongodb.com/manual
6. T. Macedo, F. Oliveira, Redis Cookbook (ebook), Helion, 2011
7. Strona internetowa: https://redis.io/documentation
8. Z, Fryźlewicz, D. Nikończuk, Windows Azure. Wprowadzenie do programowania w chmurze, Helion, 2012
9. Strona internetowa: https://azure.microsoft.com/pl-pl/services/storage/tables/
10. J. L. Carlson, Foreword by Salvatore Sanfilippo, Redis In Action, Manning, 2013, (e-book: https://redislabs.com/community/ebook)
11. K. Seguin, P. Neal’s, The Little Redis Book, on-line: https://github.com/karlseguin/the-little-redis-book
12. Strona internetowa: https://neo4j.com/developer/get-started/
13. Strona internetowa: https://neo4j.com/developer/cypher/
14. Ian Robinson, Jim Webber, and Emil Eifrem, Graph Databases, O’Reilly, 2015 (e-book: https://graphdatabases.com)
15. Bryce Merkl Sasaki, Joy Chao & Rachel Howard, Graph Databases for Beginners (e-book: https://neo4j.com/whitepapers/graph-databases-beginners-ebook)
16. R. Huddleston, XML. Tworzenie stron WWW z wykorzystaniem XML, CSS, XHTML oraz XSLT. Niebieski podręcznik (ebook), Helion, 2010
17. D. Tidwell, XSLT. 2nd Edition (ebook), Helion, 2008
18. Strona internetowa: http://exist-db.org/exist/apps/homepage/index.html
19. Strona internetowa: https://www.martinfowler.com/eaaDev/EventSourcing.html
20. Strona internetowa: https://eventstore.org