Nazwa przedmiotu:
Bazy danych
Koordynator przedmiotu:
Dr hab. inż. Maciej Grzenda
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Informatyka
Grupa przedmiotów:
Wspólne
Kod przedmiotu:
1120-IN000-ISP-0027
Semestr nominalny:
4 / rok ak. 2015/2016
Liczba punktów ECTS:
4
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
1. godziny kontaktowe – 60 h; w tym a) obecność na wykładach – 30 h b) obecność na laboratoriach – 30 h 2. praca własna studenta – 60 h; w tym a) przygotowanie do zajęć laboratoryjnych – 30 h b) przygotowanie do egzaminu (testu kńcowego) – 30 h Razem 120 h, co odpowiada 4 pkt. ECTS
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
1. obecność na wykładach – 30 h 2. obecność na laboratoriach – 30 h Razem 60 h, co odpowiada 2 pkt. ECTS
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
1. obecność na laboratoriach – 30 h 2. przygotowanie do zajęć laboratoryjnych – 30 h Razem 60 h, co odpowiada 2 pkt. ECTS
Formy zajęć i ich wymiar w semestrze:
  • Wykład30h
  • Ćwiczenia0h
  • Laboratorium30h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
brak wymagań
Limit liczby studentów:
Laboratorium (ćwiczenia komputerowe) – 15-24 os. /grupa
Cel przedmiotu:
Celem przedmiotu jest przekazanie wiedzy na temat teorii i praktycz-nych zastosowań baz danych. Po ukończeniu kursu studenci powinni: - posiadać wiedzę wystarczającą do zaprojektowania struktury bazy danych, w tym wykonania procesu normalizacji bazy danych, - znać i prawidłowo stosować mechanizmy wymuszania spójności danych, takie jak mechanizmy zapewniania spójności referencyjnej, czy też unikalności wartości klucza, - posługiwać się językiem SQL w celu selekcji i modyfikacji zawartości bazy danych, rozumieć i umieć zastosować przetwarzanie transakcyjne, - umieć wykorzystywać zaawansowane mechanizmy systemów zarzą-dzania bazą danych takie, jak procedury składowane, widoki, wyzwa-lacze. - rozumieć sposoby zapewniania wydajności, w tym indeksy, - posiadać podstawową wiedzę na temat administracji systemów baz danych, w tym m.in. metod zapewniania bezpieczeństwa baz danych na przykładzie RDBMS Oracle. posiadać podstawową wiedzę na temat hurtowni danych i zarządzania danymi przestrzennymi, - znać wybrane zagadnienia architektury zaawansowanego systemu RDBMS na przykładzie Oracle Database, - znać podstawowe cechy systemów Big Data oraz NoSQL.
Treści kształcenia:
Program wykładu: Bazy danych - definicja. Systemy zarządzania bazą danych (DBMS). Relacyjne bazy danych. Normalizacja i problem redundancji danych. Zapewnianie spójności danych – spójność referencyjna, unikalność wartości klucza, wymuszanie poprawności logicznej. Język SQL – se-lekcja i modyfikacja zawartości bazy danych. Projektowanie baz danych. Przetwarzanie transakcyjne, izolacja transakcji, transakcje rozproszone. Realizacja równoległego przetwarzania transakcji – problem blokad i zarządzania wersjami. Programowanie serwerów baz danych – procedury składowane, funkcje, widoki, wyzwalacze. Zapewnianie wydajności – indeksy, wykorzystanie statystyk i planów realizacji procedur, metody monitorowania wydajności. Zagadnienia bez-pieczeństwa i metody konfiguracji serwerów baz danych na przykładzie RDBMS Oracle. Obiektowe bazy danych. Diagramy związków encji (entity-relationship). Wybrane zagadnienia tworzenia hurtowni danych. Wybrane zagadnienia zarządzania danymi przestrzennymi. Tworzenie aplikacji baz danych - zasady projektowania i podstawowe rozwiązania architektoniczne. Wykorzystanie JDBC – nawiązywanie połączeń, efektywne wykonanie poleceń SQL. Wybrane zagadnienia architektury RDBMS Oracle: bazy danych, instancje, zarządzanie fizyczną organizacją danych (przestrzenie tabel, pliki), konfiguracja dostępu sieciowego, mechanizmy ochrony informacji i odzyskiwania utraconych informacji. Program laboratorium: Systemy zarządzania bazą danych (DBMS). Relacyjne bazy danych. Normalizacja i problem redundancji danych. Zapewnianie spójności danych – spójność referencyjna, unikalność wartości klucza, wymu-szanie poprawności logicznej. Język SQL – selekcja i modyfikacja za-wartości bazy danych. Projektowanie baz danych. Przetwarzanie transakcyjne, izolacja transakcji, blokady i zakleszczenia. Programo-wanie serwerów baz danych: procedury składowane, wyzwalacze, funkcje. Indeksy i problematyka wydajności. Fizyczna organizacja danych. JDBC, kluczowe zagadnienia programowania aplikacji baz danych, w tym tworzenie kodu aplikacji klienckich
Metody oceny:
2-3 zadania realizowane w trakcie laboratorium (w sumie maks. 70 punktów) oraz egzamin z tematyki wykładu (maks. 30 punktów). Zali-czenie wymaga zdobycia co najmniej 51 punktów. Ocena końcowa wynika z łącznej zdobytej liczby punktów tj. 0-50 pkt: ocena dwa, 51-60: ocena trzy, 61-70: ocena trzy i pół, 71-80 ocena cztery, 81-90: ocena cztery i pół, powyżej 91pkt: ocena pięć.
Egzamin:
tak
Literatura:
1. P. Beynon-Davies, Systemy baz danych, WNT, 2003 2. K. Loney, B. Bryla, Oracle database 10g : podręcznik administratora baz danych: kompendium wiedzy o zarządzaniu bazą danych, Helion 2008 3. M. Otey, D. Otey, Microsoft SQL Server 2005 : podręcznik programisty, Helion, 2007 4. J.C. Shepherd, Database Management: Theory and Application, IRWIN, 1990
Witryna www przedmiotu:
e.mini.pw.edu.pl
Uwagi:

Efekty uczenia się

Profil ogólnoakademicki - wiedza

Efekt W01
Ma ogólną teoretyczną wiedzę na temat baz danych
Weryfikacja: Egzamin
Powiązane efekty kierunkowe: K_W06
Powiązane efekty obszarowe: T1A_W03
Efekt W02
Zna zasady projektowania relacyjnych baz danych, ich normalizacji, zapewniania jakości danych i wydajności systemów baz danych
Weryfikacja: Egzamin, ocena wykonanych zadań w trakcie laboratorium
Powiązane efekty kierunkowe: K_W08
Powiązane efekty obszarowe: T1A_W04
Efekt W03
Zna język SQL w stopniu umożliwiającym wykonywanie kwerend oraz tworzenie i modyfikacji struktury tabel; Zna podstawowe mechanizmy zapewniane przez współcze-sne systemy zarządzania bazami danych
Weryfikacja: Egzamin, ocena wykonanych zadań w trakcie labo-ratorium
Powiązane efekty kierunkowe: K_W13
Powiązane efekty obszarowe: T1A_W07

Profil ogólnoakademicki - umiejętności

Efekt U01
Potrafi formułować zapytania do baz danych w języku SQL w celu uzyskania oczekiwanych informacji, w tym w celu wykonania agregacji danych zgromadzonych w bazach danych
Weryfikacja: Egzamin, ocena wykonanych zadań w trakcie laboratorium
Powiązane efekty kierunkowe: K_U05
Powiązane efekty obszarowe: T1A_U01
Efekt U02
Potrafi wykonywać aplikacje baz danych z wykorzystaniem standardu JDBC oraz baz danych Oracle.
Weryfikacja: Egzamin, ocena wykonanych zadań w trakcie laboratorium
Powiązane efekty kierunkowe: K_U20
Powiązane efekty obszarowe: T1A_U09, T1A_U16

Profil ogólnoakademicki - kompetencje społeczne

Efekt K01
Zna i rozumie wpływ niewłaściwej organizacji bazy danych (brak normalizacji danych, brak właściwych indeksów) na brak akceptowalnej wydajności i brak spójności danych systemu informatycznego.
Weryfikacja: Egzamin, ocena wykonanych zadań w trakcie laboratorium
Powiązane efekty kierunkowe: K_K03
Powiązane efekty obszarowe: T1A_K02