- Nazwa przedmiotu:
- Bazy danych
- Koordynator przedmiotu:
- dr inż. Maciej Grzenda
- Status przedmiotu:
- Obowiązkowy
- Poziom kształcenia:
- Studia I stopnia
- Program:
- Informatyka
- Grupa przedmiotów:
- Wspólne
- Kod przedmiotu:
- Semestr nominalny:
- 4 / rok ak. 2012/2013
- 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. przygotowanie do zajęć laboratoryjnych – 30 h
3. przygotowanie do testu końcowego – 30 h
Razem nakład pracy studenta 120 h = 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 30+30= 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:
- Bez limitu
- Cel przedmiotu:
- Celem przedmiotu jest przekazanie wiedzy na temat teorii i praktycznych 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,
tworzyć aplikacje klienckie baz danych, w tym aplikacje obsługujące wielu jednoczesnych aktywnych użytkowników, z uwzględnieniem zarządzania połączeniami do bazy danych, na przykładzie JDBC API,
wykorzystywać zaawansowane mechanizmy systemów zarządzania bazą danych takie, jak procedury składowane, funkcje, widoki, wyzwalacze.
rozumieć sposoby zapewniania wydajności, w tym indeksy, wykorzystanie statystyk i planów realizacji procedur oraz umieć zastosować metody monitorowania wydajności,
posiadać podstawową wiedzę na temat administracji systemów baz danych, w tym m.in. zagadnienia 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.
- Treści kształcenia:
- Program wykładu:
1. Bazy danych - definicja. Systemy zarządzania bazą danych (DBMS).
2. Relacyjne bazy danych. Normalizacja i problem redundancji danych.
3. Zapewnianie spójności danych – spójność referencyjna, unikalność wartości klucza, wymuszanie poprawności logicznej.
4. Język SQL – selekcja i modyfikacja zawartości bazy danych.
5. Projektowanie baz danych.
6. Przetwarzanie transakcyjne, izolacja transakcji, transakcje rozproszone. Realizacja równoległego przetwarzania transakcji – problem blokad i zarządzania wersjami.
7. Programowanie serwerów baz danych – procedury składowane, funkcje, widoki, wyzwalacze.
8. Zapewnianie wydajności – indeksy, wykorzystanie statystyk i planów realizacji procedur, metody monitorowania wydajności.
9. Zagadnienia bezpieczeństwa i metody konfiguracji serwerów baz danych na przykładzie RDBMS Oracle.
10. Obiektowe bazy danych.
11. Diagramy związków encji (entity-relationship).
12. Wybrane zagadnienia tworzenia hurtowni danych.
13. Wybrane zagadnienia zarządzania danymi przestrzennymi.
14. Tworzenie aplikacji baz danych - zasady projektowania i podstawowe rozwiązania architektoniczne.
15. Wykorzystanie JDBC – nawiązywanie połączeń, efektywne wykonanie poleceń SQL.
16. 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:
1. Systemy zarządzania bazą danych (DBMS).
2. Relacyjne bazy danych. Normalizacja i problem redundancji danych.
3. Zapewnianie spójności danych – spójność referencyjna, unikalność wartości klucza, wymuszanie poprawności logicznej.
4. Język SQL – selekcja i modyfikacja zawartości bazy danych.
5. Projektowanie baz danych.
6. Przetwarzanie transakcyjne, izolacja transakcji, blokady i zakleszczenia
7. Programowanie serwerów baz danych: procedury składowane, wyzwalacze, funkcje
8. Indeksy i problematyka wydajności
9. Fizyczna organizacja danych
10. 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 test końcowy z tematyki wykładu (maks. 30 punktów). Zaliczenie 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:
- nie
- 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:
- brak
- Uwagi:
Efekty uczenia się
Profil ogólnoakademicki - wiedza
- Efekt W01
- Ma ogólną teoretyczną wiedzę na temat baz danych
Weryfikacja: Test
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: Test
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ółczesne systemy zarządzania bazami danych
Weryfikacja: Test kolokwium
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: Kolokwium
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: Zadanie punktowane
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: Test
Powiązane efekty kierunkowe:
K_K03
Powiązane efekty obszarowe:
T1A_K02