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.
Rodzaj przedmiotu
Założenia (opisowo)
Koordynatorzy przedmiotu
Efekty kształcenia
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:
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: