Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Bazy danych 2
Tok studiów:
2018/2019
Kod:
JIS-1-012-s
Wydział:
Fizyki i Informatyki Stosowanej
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Informatyka Stosowana
Semestr:
0
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Osoba odpowiedzialna:
dr inż. Dydejczyk Antoni (dydejcz@agh.edu.pl)
Osoby prowadzące:
dr inż. Dydejczyk Antoni (dydejcz@agh.edu.pl)
Krótka charakterystyka modułu

Optymalizacja w relacyjnych bazach danych. Rozproszone bazy danych i teoria CAP. Wprowadzenie do baz danych XML, obiektowych i typu NoSQL. Przetwarzanie analityczne z wykorzystaniem języka MDX.

Opis efektów kształcenia dla modułu zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń)
Wiedza
M_W001 Student dysponuje aktualną wiedzą na temat realizacji projektów bazodanowych opartych o struktury XML, dane obiektowe, struktury zagregowane przechowywane w typie JSON. IS1A_W03, IS1A_W02 Wykonanie ćwiczeń laboratoryjnych,
Wykonanie projektu,
Projekt inżynierski,
Egzamin,
Aktywność na zajęciach
M_W002 Student zna i rozumie rozszerzone* pojęcia i zagadnienia związane z relacyjnymi bazami danych. * - pod pojęciem "rozszerzone" należy rozumieć wszystkie pojęcia omawiane w ramach wykładu IS1A_W03 Projekt inżynierski,
Wykonanie ćwiczeń laboratoryjnych,
Wykonanie projektu,
Egzamin,
Aktywność na zajęciach
Umiejętności
M_U001 Student potrafi opracować prostą aplikację bazodanową z wykorzystaniem obiektów składowanych w bazie danych, danych XML składowanych w bazie danych lub danych zagregowanych składowanych w strukturach typu JSON. IS1A_U06, IS1A_U05 Wykonanie ćwiczeń laboratoryjnych,
Wykonanie projektu
M_U002 Student potrafi poprawnie przeprowadzić analizę zapytań SQL w oparciu o narzędzia udostępnione w systemach zarządzania w bazach danych. Potrafi wykorzystać rozbudowane struktury danych w relacyjnych bazach danych. Potrafi skonfigurować rozproszone systemy relacyjnych baz danych. IS1A_U06, IS1A_U05, IS1A_U01 Wykonanie ćwiczeń laboratoryjnych,
Wykonanie projektu
Kompetencje społeczne
M_K001 Student umie przedstawić wykonany projekt w sposób komunikatywny i potrafi określić warunki jego komercjalizacji. IS1A_K01, IS1A_K03 Wykonanie ćwiczeń laboratoryjnych,
Wykonanie projektu,
Projekt inżynierski
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Inne
E-learning
Wiedza
M_W001 Student dysponuje aktualną wiedzą na temat realizacji projektów bazodanowych opartych o struktury XML, dane obiektowe, struktury zagregowane przechowywane w typie JSON. + - + + - - - - - + -
M_W002 Student zna i rozumie rozszerzone* pojęcia i zagadnienia związane z relacyjnymi bazami danych. * - pod pojęciem "rozszerzone" należy rozumieć wszystkie pojęcia omawiane w ramach wykładu + - + + - - - - - + -
Umiejętności
M_U001 Student potrafi opracować prostą aplikację bazodanową z wykorzystaniem obiektów składowanych w bazie danych, danych XML składowanych w bazie danych lub danych zagregowanych składowanych w strukturach typu JSON. - - - + - - - - - + -
M_U002 Student potrafi poprawnie przeprowadzić analizę zapytań SQL w oparciu o narzędzia udostępnione w systemach zarządzania w bazach danych. Potrafi wykorzystać rozbudowane struktury danych w relacyjnych bazach danych. Potrafi skonfigurować rozproszone systemy relacyjnych baz danych. - - - + - - - - - + -
Kompetencje społeczne
M_K001 Student umie przedstawić wykonany projekt w sposób komunikatywny i potrafi określić warunki jego komercjalizacji. - - - - - - - - - + -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:
  1. Optymalizacja w relacyjnych bazach danych

    Porównanie możliwości oferowanych przez komercyjne relacyjne bazy danych. Bezpieczeństwo i administracja – realizacja uwierzytelnienia i autoryzacji. Buforowanie danych. Ścieżki dostępu do pojedynczych tabel. Rodzaje złączeń. Przetwarzanie zapytań – analiza, normalizacja, analiza semantyczna, uproszczenie i restrukturyzacja. Algebraiczne reguły transformacji zapytań. Kosztowa optymalizacja zapytań. Statystyki i koncepcja histogramów. Selektywność danych i jej wyznaczanie. Typy drzew zapytań i zagadnienie określania porządku wykonywania operacji połączenia. Narzędzia wspierające optymalizację przetwarzania zapytań.

  2. Rozproszone bazy danych

    Systemy rozproszonych baz danych. Zalety i wady rozproszonych baz danych. Dwanaście reguł C.J. Date’a. Podstawowa implementacja systemu rozproszonej bazy danych w oparciu o relacyjny model danych. Zarządzanie transakcjami rozproszonymi

  3. Obiektowe bazy danych

    Obiektowe bazy danych. Podstawowe koncepcje obiektowego modelu danych. Modelowanie abstrakcyjnych typów danych. Mechanizmy dziedziczenia. Hierarchiczne zależności między obiektami. Model obiektowo–relacyjnej bazy danych. Manifest systemów baz danych trzeciej generacji – CADF. Elementy obiektowe w standardzie SQL:1999 (SQL3). Model obiektowy ODMG. Opis modelu obiektowego (OM). Język definicji schematu obiektowej bazy danych (ODL). OQL – obiektowy język zapytań wzorowany na SQL. Rozszerzenia obiektowych języków OML.

  4. Bazy danych XML, dane XML w relacyjnych bazach danych

    Typy dokumentów XML i ich wpływ na rozwój baz danych. Charakterystyka języków zapytań wykorzystywanych do przetwarzania dokumentów XML – XPath i XQuery . Baza danych dokumentów XML, sposoby przechowywania i mechanizmy przetwarzania dokumentów XML. Składowanie dokumentów XML w relacyjnej bazie. Publikowanie dokumentów XML z tabel relacyjnych oraz generowanie tabel relacyjnych z dokumentów XML. Języki zapytań SQL/XML oraz publikacji dokumentów XML w standardzie SQL:2003.

  5. Technologia OLAP – przetwarzanie analityczne danych

    Wprowadzenie do technologii implementowanych w hurtowniach danych. Oprogramowanie ETL. Odświeżanie hurtowni danych. Indeksowanie danych. Partycjonowanie danych i indeksów. Kompresja danych i indeksów. Metadane opisujące dane przechowywane w hurtowni danych. Charakterystyka przetwarzania analitycznego (On–Line Analytical Processing – OLAP). Wielowymiarowy model danych (wymiary i fakty). Implementacja modelu wielowymiarowego w serwerach relacyjnych (ROLAP) oraz wielowymiarowych (MOLAP). Efektywność przetwarzania OLAP. Perspektywy zmaterializowane.

Ćwiczenia laboratoryjne:
-
Ćwiczenia projektowe:
  1. Optymalizacja zapytań w relacyjnych bazach danych

    Efekty kształcenia:

    • student potrafi określić i przeprowadzić analizę zapytania SQL w oparciu o narzędzia zawarte w bazie danych,
    • student potrafi określić rodzaj wykorzystanych w zapytaniu metod dostępu do danych,
    • student potrafi określić selektywność poszczególnych elementów zapytania.

  2. Wykorzystanie procedur składowanych do realizacji określonych zadań w bazach danych

    Efekty kształcenia:

    • student potrafi wykorzystać wbudowany w bazę danych język do realizacji procedur składowanych,
    • student rozumie warunki wykorzystania języka wewnętrznego do realizacji procedur składowanych,
    • student umie utworzyć proste procedury składowane realizujące określoną funkcjonalność.

  3. Tworzenie struktur danych w relacyjnej bazie danych z wykorzystaniem języka C#

    Efekty kształcenia:

    • student potrafi wykorzystać języki programowania do tworzenia procedur składowanych,
    • student umie poprawnie uruchomić procedurę składowaną opracowaną w języku programowania,
    • student rozumie warunki wykorzystania języków programowania do tworzenia procedur składowanych.

  4. Tworzenie rozproszonej struktury relacyjnych baz danych

    Efekty kształcenia:

    • student potrafi opracować prosty schemat rozproszonej bazy danych,
    • student potrafi prawidłowo opracować połączenia pomiędzy węzłami rozproszonej bazy danych,
    • student potrafi wykonać proste zapytanie rozproszone w ramach rozproszonej bazy danych.

  5. Przetwarzanie danych obiektowych w relacyjnych bazach danych

    Efekty kształcenia:

    • student potrafi wykorzystać obiekty w obiektowo-relacyjnych bazach danych,
    • student potrafi opracować prostą aplikację wykorzystującą obiekty składowane w obiektowo-relacyjnej bazie danych.

  6. Przetwarzanie danych XML w relacyjnych bazach danych

    Efekty kształcenia:

    • student potrafi wykorzystać struktury i narzędzia dostępne w relacyjnych bazach danych do przetwarzania dokumentów XML,
    • student potrafi opracować prostą aplikację wykorzystującą dokumenty XML składowane w relacyjnej bazie danych.

  7. Język MDX w przetwarzaniu OLAP

    Efekty kształcenia:

    • student potrafi opracować proste zapytania MDX do struktur OLAP.

Inne:

W trakcie semestru student realizuje projekt. Temat projektu wybiera z dostępnej listy student po konsultacji z prowadzącym laboratorium. W ramach projektu należy rozwiązać problem bazodanowy, dostarczając rozwiązanie programistyczne, środowisko testowe do realizacji projektu oraz dokumentację techniczną projektu. Język do realizacji projektu uzgodniony zostaje z prowadzącym laboratorium.
Efekty kształcenia:

  • student potrafi samodzielnie opracować projekt bazodanowy, czyli: zdefiniować cele i przeprowadzić analizę wymagań użytkownika, zaprojektować podstawową funkcjonalność realizowaną przez zaproponowane rozwiązanie,
  • student potrafi opracować aplikację realizującą założoną funkcjonalność,
  • student potrafi opracować dokumentację opisującą proces tworzenia aplikacji bazodanowej, dokumentację wdrożeniową i techniczną umożliwiającą rozbudowę opracowanego projektu.

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 151 godz
Punkty ECTS za moduł 6 ECTS
Udział w wykładach 30 godz
Samodzielne studiowanie tematyki zajęć 50 godz
Udział w ćwiczeniach laboratoryjnych 24 godz
Przygotowanie do zajęć 20 godz
Dodatkowe godziny kontaktowe z nauczycielem 5 godz
Wykonanie projektu 20 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:

W ramach laboratorium komputerowego studenci wykonują szereg ćwiczeń, za które mogą zdobyć określoną liczbę punktów. Procent uzyskanych punktów przeliczany jest zgodnie z Regulaminem Studiów AGH na ocenę końcową z laboratorium.
Projekt programistyczny oceniany będzie zgodnie ze szczegółowymi kryteriami zamieszczonymi na stronie przedmiotu oraz przedstawionymi na pierwszych zajęciach.
Moduł kończy się egzaminem.

Ocena końcowa z laboratorium jest średnią ważoną z punków uzyskanych podczas zajęć laboratoryjnych i z realizacji projektu, przy czym ocena z zajęć wchodzi z wagą 60% a z projektu z wagą 40%.
Ocena końcowa z modułu obliczana jest jako średnia ważona ocen zaliczenia laboratorium i egzaminu, przy czym ocena z laboratorium wchodzi do oceny końcowej z wagą 45%, a ocena z egzaminu z wagą 55%.

Wymagania wstępne i dodatkowe:
  • Umiejętność tworzenia aplikacji w języku C++ i Java
  • Ukończony kurs bazy danych I
Zalecana literatura i pomoce naukowe:
  • Thomas M. Connolly, Carolyn E. Begg, „Systemy baz danych”, Warszawa, RM 2004.
  • Ramez Elmasri, Shamkant B. Navathe, „Wprowadzenie do systemów baz danych”, Gliwice, Helion 2005.
  • Jeffrey D. Ullman, Jennifer Widom, „Podstawowy wykład z systemów baz danych”, WNT 2000.
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Nie podano dodatkowych publikacji

Informacje dodatkowe:

Nieobecność na zajęciach wymaga od studenta samodzielnego opanowania przerobionego na zajęciach materiału i jego zaliczenia w formie sprawozdania lub projektu w wyznaczonym przez prowadzącego terminie.
Istnieje możliwość odrobienia nieobecności w innej grupie laboratoryjnej pod warunkiem dostępności miejsc w laboratorium i zgody prowadzącego zajęcia.
Student, który bez usprawiedliwienia opuścił więcej niż dwa zajęcia może zostać pozbawiony przez prowadzącego zajęcia możliwości wyrównania zaległości.