Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Bazy danych i Big Data

Informacje ogólne

Kod przedmiotu: 103A-TLxxx-ISP-BDBT
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Bazy danych i Big Data
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Programowanie )-Telekomunikacja-inż.-EITI
( Przedmioty obieralne )-Systemy i sieci telekomunikacyjne-inż.-EITI
( Przedmioty obieralne )-Teleinformatyka i zarządzanie w telekomunikacji-inż.-EITI
( Przedmioty podstawowe )-Techniki bezprzewodowe i multimedialne-mgr.-EITI
( Przedmioty podstawowe )-Teleinformatyka i cyberbezpieczeństwo-mgr.-EITI
( Przedmioty podstawowe )-Telekomunikacja-mgr.-EITI
( Przedmioty techniczne )---EITI
Punkty ECTS i inne: 4.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: polski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

BDBT

Numer wersji:

1

Skrócony opis:

Celem przedmiotu jest prezentacja oraz nauczenie technologii baz danych, stanowiących podstawę współczesnej inżynierii oprogramowania. Omawiane są zagadnienia zarówno z obszaru baz relacyjno-obiektowych, jak i baz nierelacyjnych NoSQL, które stanowią podstawę ekosystemu technologii określanych mianem Big Data.

Pełny opis:

Celem przedmiotu jest prezentacja oraz nauczenie technologii baz danych, stanowiących podstawę współczesnej inżynierii oprogramowania. Omawiane są zagadnienia zarówno z obszaru baz relacyjno-obiektowych, jak i baz nierelacyjnych NoSQL, które stanowią podstawę ekosystemu technologii określanych mianem Big Data.


W ramach przedmiotu studenci zostaną zapoznani z rozwiązaniami baz danych, które są wykorzystywane na rynku, w szczególności z metodologią ich projektowania, implementacji, oraz zabezpieczania. Mowa tu zarówno o rozwiązaniach o ugruntowanej pozycji, takich jak bazy relacyjne, czy relacyjno-obiektowe, jak też zyskujących w ostatnim czasie coraz bardziej na znaczeniu baz nierelacyjnych NoSQL, które stanowią podstawę dla rozwiązań Big Data. Integralnym elementem przedmiotu jest projekt. Pozwala on na ugruntowanie nabytej w ramach wykładu wiedzy na drodze praktycznej realizacji w pełni funkcjonalnego rozwiązania w oparciu o bazodanowe repozytorium danych, wraz

z współpracującą z nim graficzną aplikacją kliencką.



Treść wykładu

  1. Wprowadzenie w dziedzinę baz danych – wymogi bezpieczeństwa. (2godz.)

    Inżynieria baz danych – przypadki użycia, znaczenie. Architektura informacyjno-informatyczna przedsiębiorstwa. Baza danych jako kolekcja danych, a system zarządzania bazą danych SZBD. Pojęcie danych oraz metadanych. Rodzaje baz danych i ich charakterystyka. Kierunki ewolucji i specjalizacji baz danych. Bazy OLTP i OLAP – charakterystyka. Wymogi bezpieczeństwa stawiane tego typu systemom. Źródła zagrożeń.
  2. Bazy relacyjne i relacyjno-obiektowe. (14 godz.)
    • Architektura, sposób działania i obsługa relacyjnych i relacyjno-obiektowych silników baz danych na przykładzie wybranych rozwiązań. Architektura ANSI/SPARC. Pojęcie transakcji i ich właściwości ACID. Obsługa współbieżności. Poziomy dostępów. Integralność bazy danych i jej trwałość. Autentykacja oraz autoryzacja, nadawanie uprawnień. Metody wykrywania nieuprawnionego dostępu. Kopia zapasowa bazy danych i jej bezpieczeństwo. (3 godz.)
    • Modelowanie i implementacja baz relacyjnych i relacyjno-obiektowych. Cykl życia bazy danych jako produktu. Opis i modelowanie rzeczywistości – encje, atrybuty, dziedziny, związki. Pułapki wachlarzowe i szczelinowe. Diagram związków ER – notacje UML i Chena. Fazy projektowania: model konceptualny, logiczny oraz fizyczny połączony z jego implementacją. Niekompatybilności modelu konceptualnego i logicznego – eliminacja związków wielu do wielu. Normalizacja oraz denormalizacja – skutki projektowe. Podejścia projektowe: wstępujące i zstępujące. Podschematy oraz role odbiorców systemów. (6 godz.)
    • Język SQL –polecenia DDL, DML, DQL oraz DCL. Tworzenie i modyfikacja obiektów bazodanowych, wstawianie i modyfikacja danych, czytanie danych oraz zarządzanie uprawnieniami do obiektów i danych na poziomie relacyjno-obiektowego silnika bazy danych, tworzenie ról dostępów. (3 godz.)
    • Struktury pomocnicze - wyszukiwanie i indeksowanie danych w pamięci zewnętrznej, wykorzystywane algorytmy. Optymalizacja zapytań. (2 godz.)
  3. Aplikacja kliencka. (8 godz.)
    • Architektura klient-serwer, architektura wielowarstwowa. Mapowanie model relacyjny / obiektowy, model MVVM. Interfejsy komunikacji z bazą danych: JDBC, ODBC, inne. Tworzenie graficznej aplikacji wykorzystującej jako podstawę w swoim działaniu bazę danych. Wymogi i zabezpieczanie aplikacji klienckiej przed nieautoryzowanym dostępem. (5 godz.)
    • Rozszerzenia języka SQL – programowanie bazy danych, procedury składowane, wyzwalacze, pakiety. (3 godz.)
  4. Big Data. (6 godz.)
    Architektura i terminologia rozwiązań Big Data. Znaczenie systemów Big Dane we współczesnym świecie – przykłady rozwiązań. Dane nieustrukturyzowane i ich przetwarzanie. Bazy NoSQL i ich klasyfikacja oraz charakterystyka. Właściwości BASE. Architektura ekosystemu Apache Hadoop. Podstawy realizacji i obsługi systemów Big Data. (6 godz.)

    1. Zajęcia wykładowe mają formę interaktywnych warsztatów, będących połączeniem tradycyjnych form wykładowych z dużą ilością krótkich pokazów na żywo, obrazujących omawiane treści wykładowe. Zakłada się stosowanie podczas wykładów podejścia typowego dla metodologii Design Thinking, której celem jest maksymalne aktywizowanie studentów oraz wzmacnianie ich potencjału twórczego.

      Zakres projektu
      • Część 1 – projekt i implementacja relacyjno-obiektowej bazy danych.
        Zadaniem studenta (zespołu) jest zaprojektowanie i implementacja w pełni funkcjonalnej bazy danych (około 20 tabel) w nawiązaniu do zadanego tematu projektu. Studenci kolejno wykonują projekt założeń funkcjonalnych, który obejmuje m.in. definicje zakresu obsługiwanych przez bazę operacji, oraz ról użytkowników z niej korzystających. Na bazie tych wymagań realizowany jest w dalszym etapie projekt konceptualny bazy danych, czego efektem jest model konceptualny z właściwym mu diagramem związków ER, obrazującym zamodelowane zbiory encji oraz ich wzajemne powiązania w postaci związków. Stanowi on po analizie zagadnienia pułapek wachlarzowych oraz szczelinowych punkt wyjścia do zbudowania modelu logicznego oraz modelu fizycznego, uwzględniającego charakterystykę i możliwości docelowego silnika bazy danych, w tym również jego możliwości w zakresie bezpieczeństwa. Na tym etapie prowadzone są m.in. działania mające na celu usunięcie możliwych niekompatybilności modelu konceptualnego oraz relacyjnego. Przeprowadzana jest normalizacja w celu osiągnięcia właściwej postaci schematów relacji w celu uniknięcia problemów anomalii z tytułu redundancji danych. Podejmowane są też decyzje odnośnie potrzeby ewentualnego obniżenia postaci normalnej na drodze analizy możliwych zysków i strat z tego tytułu (faza denormalizacji). Efektem tych działań jest końcowa postać projektowanej bazy danych, która po dodatkowych zabiegach jej optymalizacji na drodze m.in. wprowadzenia dodatkowych struktur pomocniczych jest implementowana. Dla zaimplementowanych obiektów przypisywane są odpowiednie uprawnienia, tworzone perspektywy dostępu w postaci bazodanowych ról oraz widoków (perspektyw). Uzupełnieniem tej części projektu jest jego dokumentacja.
      • Część 2 – projekt i realizacja aplikacji klienckiej, współpracującej z zaprojektowaną bazą danych w części 1, w formie graficznego interfejsu użytkownika.
        Dla bazy danych, stanowiącej wynik pierwszej części projektu, tworzona jest aplikacja kliencka w formie graficznej. Aplikacja ta oprócz spełnienia założeń funkcjonalnych, które dotyczą obsługi wymaganych operacji (transakcji) na bazie danych, takich jak: wstawianie, usuwanie, modyfikacja oraz pobieranie danych, musi spełniać odpowiednie wymogi bezpieczeństwa w zakresie m.in. ochrony danych i niekontrolowanego do nich dostępu. Spełnienie tych ostatnich możliwe jest np. poprzez odpowiednie ograniczenie zakresu zestawu możliwych do realizacji zadań dla różnych ról użytkowników, które obsługuje. Aplikacja powinna być też bezpieczna pod kątem np. możliwości dokonania z jej udziałem nieautoryzowanych, bądź niechcianych operacji na bazie danych leżącej u jej podstawy.

      Tematyka prowadzonych projektów jest bezpośrednio powiązana z treścią prowadzonych wykładów. Zajęcia te mają charakter uzupełniających zajęć praktycznych.
      Zakłada się połączenie dwóch form pracy, tj.: pracy indywidualnej studentów w małych zespołach nad zadanym tematem projektowym przy odpowiednim nadzorze opiekuna projektu, oraz pracy grupowej w ramach wspólnych spotkań zintegrowanych z udziałem dużych grup. Te ostatnie, mające formę pokazów, będą poświęcone prezentacji rozwiązań dla szczególnie trudnych kwestii projektowych.
Literatura:

  1. Slajdy do wykładu, materiały uzupełniające w postaci zadań interaktywnych oraz filmów obrazujących omawiane zagadnienia.
  2. Książki:
    • Garcia-Molina Hector, Ullman Jeffrey D., Widom Jennifer: Systemy baz danych. Kompletny podręcznik, Wydanie II, Helion 2011 (lub nowsze).
    • Connolly Thomas, Begg Carolyn: Database Systems: A Practical Approach to Design, Implementation, and Management, 6th Edition, Addison-Wesley Longman, 2015 (lub nowsze).
    • Banachowski Lech: Bazy danych. Tworzenie aplikacji, Akademicka Oficyna Wydawnicza PLJ, Warszawa, 2006 (lub nowsze).
    • Marz Nathan, Warren James: Big Data. Najlepsze praktyki budowy skalowalnych systemów obsługi danych w czasie rzeczywistym, Helion, 2016 (lub nowsze).
    • Mayer-Schonberger Viktor, Cukier Kenneth: Big Data: A Revolution That Will Transform How We Live, Work and Think, John Muray Press, 2013 (lub nowsze).
    • White Tom, Hadoop: Komplety przewodnik, Analiza i przechowywanie danych, Helion, 2016 (lub nowsze).
    • Gertz Michael (Editor), Jajodia Sushil: Handbook of Database Security: Applications and Trends, Springer, 2010.
    • Larose Daniel T.: Metody i modele eksploracji danych, PWN, 2008 (lub nowsze).
  3. Internet.
  4. Baza danych Oracle oraz Apache Hadoop plus oprogramowanie współpracujące, narzędzia do modelowania baz danych, narzędzia do komunikacji zespołowej, narzędzie do testów.
Metody i kryteria oceniania:

  • Kolokwium 1, po pierwszej części semestru. Sprawdza wiedzę wyniesioną z wykładów oraz poziom realizacji założonych efektów kształcenia w odniesieniu do takich zagadnień jak: rozumienie pojęć: baza danych, silnik bazy danych i jego charakterystyka, metodologia projektowania relacyjnych i relacyjno-obiektowych baz danych, pojęcie transakcji i ich właściwości ACID, bezpieczeństwo danych.
  • Kolokwium 2, po drugiej części semestru. Sprawdza wiedzę wyniesioną z wykładów oraz poziom realizacji założonych efektów kształcenia w odniesieniu do takich zagadnień jak: rozszerzone funkcjonalności baz danych, struktury pomocnicze – indeksy, zagadnienie tworzenie bezpiecznej aplikacji klienckiej, bazy NoSQL, charakterystyka koncepcji Big Data, dane nieustrukturyzowane, sposoby czerpania wiedzy i pozyskiwania informacji z wolumenów danych o dużej różnorodności.
  • Projekt ma na celu zweryfikowanie umiejętności wykorzystania w praktyce zdobytej na wykładach wiedzy w odniesieniu do technologii baz danych na drodze ich projektowania oraz implementacji z zachowaniem szerokorozumianych wymogów w zakresie bezpieczeństwa danych, jak też podstaw tworzenia graficznych aplikacji klienckich, współpracujących z rozwiązaniami tego typu. Projekty będą realizowane w małych dwu lub trzy osobowych zespołach.

Zajęcia w cyklu "rok akademicki 2023/2024 - sem. zimowy" (zakończony)

Okres: 2023-10-01 - 2024-02-18
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 25 godzin, 80 miejsc więcej informacji
Wykład, 30 godzin, 80 miejsc więcej informacji
Koordynatorzy: Marcin Kowalczyk
Prowadzący grup: Marcin Kowalczyk, Tomasz Mrozek
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103600 - Instytut Telekomunikacji

Zajęcia w cyklu "rok akademicki 2022/2023 - sem. zimowy" (zakończony)

Okres: 2022-10-01 - 2023-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 25 godzin, 101 miejsc więcej informacji
Wykład, 30 godzin, 101 miejsc więcej informacji
Koordynatorzy: Marcin Kowalczyk
Prowadzący grup: Marcin Kowalczyk, Tomasz Mrozek
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103600 - Instytut Telekomunikacji

Zajęcia w cyklu "rok akademicki 2021/2022 - sem. letni" (zakończony)

Okres: 2022-02-23 - 2022-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 25 godzin, 30 miejsc więcej informacji
Wykład, 30 godzin, 30 miejsc więcej informacji
Koordynatorzy: Marcin Kowalczyk
Prowadzący grup: Marcin Kowalczyk, Tomasz Mrozek
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103600 - Instytut Telekomunikacji

Zajęcia w cyklu "rok akademicki 2021/2022 - sem. zimowy" (zakończony)

Okres: 2021-10-01 - 2022-02-22
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 25 godzin, 92 miejsc więcej informacji
Wykład, 30 godzin, 92 miejsc więcej informacji
Koordynatorzy: Marcin Kowalczyk
Prowadzący grup: Marcin Kowalczyk, Tomasz Mrozek
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103600 - Instytut Telekomunikacji

Zajęcia w cyklu "rok akademicki 2020/2021 - sem. letni" (zakończony)

Okres: 2021-02-20 - 2021-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 25 godzin, 92 miejsc więcej informacji
Wykład, 30 godzin, 92 miejsc więcej informacji
Koordynatorzy: Marcin Kowalczyk
Prowadzący grup: Marcin Kowalczyk, Tomasz Mrozek
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103600 - Instytut Telekomunikacji

Zajęcia w cyklu "rok akademicki 2020/2021 - sem. zimowy" (zakończony)

Okres: 2020-10-01 - 2021-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 25 godzin, 92 miejsc więcej informacji
Wykład, 30 godzin, 92 miejsc więcej informacji
Koordynatorzy: Marcin Kowalczyk
Prowadzący grup: Marcin Kowalczyk, Tomasz Mrozek
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103600 - Instytut Telekomunikacji

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.
pl. Politechniki 1, 00-661 Warszawa tel: (22) 234 7211 https://pw.edu.pl kontakt deklaracja dostępności USOSweb 7.0.0.0-7 (2024-03-18)