Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Bazy danych
Tok studiów:
2014/2015
Kod:
ITE-1-505-s
Wydział:
Informatyki, Elektroniki i Telekomunikacji
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Teleinformatyka
Semestr:
5
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Strona www:
 
Osoba odpowiedzialna:
Stoch Stanisław (stoch@agh.edu.pl)
Osoby prowadzące:
mgr inż. Łoziak Krzysztof (kloziak@agh.edu.pl)
dr inż. Stankiewicz Rafał (rstankie@agh.edu.pl)
Stoch Stanisław (stoch@agh.edu.pl)
Krótka charakterystyka modułu

Struktura systemów bazodanowych, język SQL. Szczególny nacisk położono na dobre zrozumienie omawianych zagadnień. Zsynchronizowanie laboratorium z wykładami pozwala skutecznie opanować wiedzę.

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 Zna SQL – język zapytań do baz danych TE1A_W12, TE1A_W06 Projekt
M_W002 Zna wewnętrzną budowę i rozumie działanie systemów bazodanowych (DBMS – DataBase Management System) TE1A_W12, TE1A_W06 Projekt
Umiejętności
M_U001 Potrafi tworzyć projekty w oparciu o bazy danych – wykorzystujące język SQL TE1A_U10, TE1A_U13 Projekt
M_U002 Potrafi posłużyć się narzędziami do projektowania baz danych TE1A_U10, TE1A_U12 Projekt
M_U003 Potrafi zorganizować poprawną strukturę systemu bazodanowego oraz (w razie potrzeby) wprowadzać niezbędne modyfikacje tej struktury TE1A_U10, TE1A_U12 Projekt
M_U004 Umie skorzystać z dokumentacji technicznej określonego systemu bazodanowego TE1A_U01 Kolokwium,
Projekt
M_U005 Umie pracować w zespole zajmującym się projektowaniem systemu bazodanowego i realizować kolejne etapy tworzenia takiego systemu zgodnie z harmonogramem TE1A_U02 Projekt
Kompetencje społeczne
M_K001 Potrafi współpracować z innymi członkami zespołu projektowego jako wykonawca przydzielonych zadań, oraz jako lider. Potrafi zorganizować dokształcanie wszystkich członków zespołu. TE1A_K01, TE1A_K03 Projekt
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 Zna SQL – język zapytań do baz danych + - + - - - - - - - -
M_W002 Zna wewnętrzną budowę i rozumie działanie systemów bazodanowych (DBMS – DataBase Management System) + - + - - - - - - - -
Umiejętności
M_U001 Potrafi tworzyć projekty w oparciu o bazy danych – wykorzystujące język SQL + - + - - - - - - - -
M_U002 Potrafi posłużyć się narzędziami do projektowania baz danych - - + - - - - - - - -
M_U003 Potrafi zorganizować poprawną strukturę systemu bazodanowego oraz (w razie potrzeby) wprowadzać niezbędne modyfikacje tej struktury + - + - - - - - - - -
M_U004 Umie skorzystać z dokumentacji technicznej określonego systemu bazodanowego - - + - - - - - - - -
M_U005 Umie pracować w zespole zajmującym się projektowaniem systemu bazodanowego i realizować kolejne etapy tworzenia takiego systemu zgodnie z harmonogramem - - + - - - - - - - -
Kompetencje społeczne
M_K001 Potrafi współpracować z innymi członkami zespołu projektowego jako wykonawca przydzielonych zadań, oraz jako lider. Potrafi zorganizować dokształcanie wszystkich członków zespołu. - - + - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:

1. Podstawy języka SQL (2 godz.)
Podstawowe typy danych. Struktura tablicy – kolumny i wiersze. Podstawowe polecenia DDL (Data Definition Language) oraz DML (Data Manipulation Language).
2. Podstawowe zapytania SELECT (4 godz.)
Klauzule SELECT, FROM, WHERE. Podstawowe operatory i wyrażenia. Operacje mnogościowe. Aliasy, nadawanie nazw kolumnom (AS). Funkcje agregujące, klauzule GROUP BY, HAVING, ORDER BY.
3. Problem różnych interpretacji NULL (1 godz.)
NULL jako UNKNOWN, NULL jako EMPTY. Zróżnicowane traktowanie NULL w standardzie SQL.
4. Zaawansowane zagadnienia zapytań SQL (4 godz.)
Widoki (VIEW). Zagnieżdżanie zapytań – zapytania skorelowane i nieskorelowane. Różne rodzaje złączeń (JOIN).
5. Pojęcie klucza i inne warunki (CONSTRAINTS) (2 godz.)
Klucze (PRIMARY KEY, FOREIGN KEY), warunki – CONSTRAINTS (UNIQUE, NOT NULL, DEFAULT, CHECK). Generatory sekwencji.
6. Przetwarzanie transakcyjne (4 godz.)
Istota transakcji. COMMIT, ROLLBACK, SELECT FOR UPDATE. Autocommit mode, chained mode. Tryby izolacji transakcji. MultiVersion Concurrency Control. Pojęcia spójności i aktualności danych, sposoby uzyskania spójności i aktualności w poszczególnych trybach izolacji. Rodzaje blokad (LOCK). SAVEPOINT. Dwufazowe zatwierdzanie transakcji.
7. Proceduralny SQL (3 godz.)
Deklaracje, podstawienia. Wyrażenia warunkowe, pętle programowe. Metody ograniczenia ilości zwracanych wierszy, pojęcie kursora. Wyzwalacze (TRIGGERs) i funkcje, argumenty funkcji.
8. Implementacja dziedziczenia (2 godz.)
Cztery możliwe struktury implemetacji dziedziczenia. Sposoby wprowadzania danych dla poszczególnych struktur. Porównanie zalet i wad poszczególnych struktur.
9. Teoria relacyjnych baz danych (3 godz.)
Podejście obiektowe a podejście relacyjne. Pojęcie normalizacji struktury bazy danych. Pierwsza postać normalna. Pojęcia zależności funkcjonalnej, zbioru identyfikującego i klucza. Klasyfikacja kolumn tablicy. Definicja i ilustracja graficzna trzeciej postaci normalnej. Różnice między trzecią a drugą i pierwszą postacią normalną. BCNF (Boyce-Codd Normal Form). Czwarta i piąta postać normalna.
10. Indeksy (1 godz.)
Pojęcie indeksu, skutki utworzenia indeksu, rodzaje indeksów, metody indeksowania. Polecenie EXPLAIN.
11. Systemy zarządzania bazą danych (2 godz.)
Przegląd systemów zarządzania bazą danych (DataBase Management System). Zagadnienia administrowania bazą danych. Rodzaje kopii bezpieczeństwa. Backup, recovery.

Ćwiczenia laboratoryjne:

1. Podstawowe polecenia SQL. Produkt, złączenie, unia, przekrój, różnica
2. Grupowanie, funkcje agregujące
3. Podzapytania, Widoki. Różne warianty złączeń
4. Różne operatory (wyszukiwanie), generatory sekwencji
5. Przetwarzanie transakcyjne, różne tryby izolacji transakcji
6. Kursory, PL/pgSQL, pisanie wyzwalaczy i funkcji
7. Klucze i inne warunki (CONSTRAINTS), problem spójności bazy danych
8. Projekt laboratoryjny przykładowej bazy danych
9. Powtórzenie i sprawdzenie wiadomości

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 100 godz
Punkty ECTS za moduł 4 ECTS
Udział w wykładach 28 godz
Samodzielne studiowanie tematyki zajęć 24 godz
Udział w ćwiczeniach laboratoryjnych 28 godz
Wykonanie projektu 20 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:

1. Ocena końcowa jest średnią arytmetyczną z ocen uzyskanych na sprawdzianach przeprowadzanych w trakcie semestru.
2. Wykonanie projektu laboratoryjnego jest traktowane jako jeden ze sprawdzianów (z pkt.1.).
3. Ocena końcowa może być podwyższona (wg uznania prowadzącego) za aktywność na zajęciach, wyjątkowo ambitny projekt, itp.
4. Student, który nie uzyskał zaliczenia w terminie podstawowym, ma prawo do zdawania w terminie poprawkowym (zgodnie z organizacją roku akademickiego) w formie określonej przez prowadzącego (pisemnej lub ustnej).

Wymagania wstępne i dodatkowe:

Nie podano wymagań wstępnych lub dodatkowych.

Zalecana literatura i pomoce naukowe:

1. Ryan Stephens, Arie D. Jones, Ron Plew; SQL w 24 godziny. [464 strony] W-wa: Helion, 2016.
2. Andrew Cumming, Gordon Russell; 100 sposobów na SQL. [392 strony] Gliwice: Helion, 2007.
3. Wiesław Dudek; Bazy danych SQL: teoria i praktyka. [484 strony] Gliwice: Helion, 2006.
4. Jan L. Harrington; SQL dla każdego. [297 stron] W-wa: Mikom, 2005.
5. Martin Gruber; SQL. [279 stron] Gliwice: Helion, 1996.
6. Kevin Kline, Daniel Kline; SQL: almanach : opis poleceń języka, [226 stron] Gliwice: Helion, 2002.
7. C. J. Date i Hugh Darwen; SQL: omówienie standardu języka, [530 stron] W-wa, WNT 2000.
8. Thomas Lockhart; PostgreSQL User’s Guide. The PostgreSQL Global Development Group 2000.

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

1. Stanisław Stoch, Materiały Konferencyjne ITC Sponsored St Petersburg International Teletraffic Seminar “New Telecommunication Services for Developing Networks” 26.06.-2.07.1995: “Network Information System for Inventory Control of Teletransmission and Switching Resources”.
2. Stanisław Stoch, Materiały Konferencyjne “Informatyka na wyższych uczelniach dla gospodarki narodowej” Gdańsk, 17-19.11.1994, Tom II, s. 57-61, “Obiektowy sposób projektowania bazy relacyjnej na przykładzie Systemu Ewidencji Zasobów Telekomunikacyjnych SEZTEL”.
3. Stanisław Stoch, Przegląd Telekomunikacyjny 10/94 – str. 557-565 (współautor) “SEZTEL – System Ewidencji Zasobów Sieci Telekomunikacyjnej”.

Informacje dodatkowe:

Brak