Zaawansowane bazy danych 1000-2N09ZBD
Przedmiot będzie poświęcony rozmaitym zagadnieniom bazodanowym, które nie zmieściły się w kursie podstawowym z baz danych. Co więcej, problematyka baz danych jest tak obszerna, że nie zmieściłaby się w żadnym kursie podstawowym. Tematami wykładów będzie strojenie relacyjnych baz danych, odwzorowanie obiektowo-relacyjne (np. Hibernate), kolumnowe bazy danych (np. MonetDB, X100 i Infobright), bazy NOSQL (słownikowe - BerkeleyDB, szerokolumnowe - Cassandra i ScyllaDB, dokumentowe - MongoDB i grafowe - neo4j), zaawansowane programowanie składowane na serwerach baz danych (np. PL/SQL, PL/pgSQL), rozproszone bazy danych.
Na wykładach zostanie przedstawiony materiał teoretyczny, zaś ćwiczenia będą bardzo praktyczne.
Koordynatorzy przedmiotu
Rodzaj przedmiotu
Wymagania (lista przedmiotów)
Założenia (opisowo)
Efekty uczenia się
Wiedza
1. Ma uporządkowaną wiedzę w zakresie składni i semantyki języka zapytań pierwszego rzędu (K_W01, K_W02).
2. Zna wszystkie własności algebry relacji (K_W01, K_W02).
3. Ma pełną wiedzę w zakresie teorii zależności funkcyjnych i postaci normalnych (K_W01, K_W02).
4. Zna wiekszość własności języka zapytań SQL (K_W01, K_W02).
5. Ma szeroką wiedzę na temat zasad projektowania baz danych (K_W01, K_W02).
6. Dobrze rozumie rolę i znaczenie transakcji w bazach danych (K_W01, K_W02).
Umiejętności
1. Potrafi formułować skomplikowane zapytania SQL (K_U09).
2. Potrafi pisać programy składowanie i wyzwalacze w co najmniej jednym języku programowania składowanego. (K_U09).
3. Potrafi rozpoznać anomalie w projekcie bazy danych i doprowadzić ją do odpowiedniej postaci normalnej (K_U10).
4. Potrafi zaprojektować i zaimplementować relacyjną bazę danych
(K_U10).
5. Ma zaawansowane umiejętności w zakresie strojenia relacyjnych baz danych (K_U10).
Kompetencje
1. Zna ograniczenia własnej wiedzy i rozumie potrzebę dalszego kształcenia, w tym zdobywania wiedzy pozadziedzinowej (K_K01).
2. Potrafi precyzyjnie formułować pytania, służące pogłębieniu własnego zrozumienia danego tematu lub odnalezieniu brakujących elementów rozumowania (K_K02).
Kryteria oceniania
Każde laboratorium kończy się zadaniem pracy domowej, która musi być wykonana w ciągu 5 dni. Zadania domowe są omawiane na następnych zajęciach. Każda praca domowa daje tyle samo punktów. Egzamin pisemny pozwala otrzymać do 50% punktów z laboratoriów. Ocena z przedmiotu wystawiana jest na podstawie sumy punktów. 90% to ocena 5, 80% to 4.5, 70% to 4, 60% to 3.5, a 50% to ocena 3. Suma całkowita poniżej 50% oznacza niezaliczenie przedmiotu.
Literatura
1. Jeffrey Ullman, Jennifer Widom.First course in database systems, Third edition, Prentice Hall, 2007
2. Hector Garcia-Molina, Jeffrey Ullman, Jennifer Widom, Systemy baz danych. Pełny wykład, WNT, 2006.
3. Dennis Shasha, Philippe Bonnet, Database Tuning: Principles, Experiments, and Troubleshooting Techniques, Morgan Kaufman, 2002.
4. Sullivan, Dan. NoSQL for mere mortals. Addison-Wesley Professional, 2015.
Więcej informacji
Więcej informacji o poziomie przedmiotu, roku studiów (i/lub semestrze) w którym się odbywa, o rodzaju i liczbie godzin zajęć - szukaj w planach studiów odpowiednich programów. Ten przedmiot jest związany z programami: