Module also offered within study programmes:
General information:
Name:
Database I
Course of study:
2015/2016
Code:
BIT-1-501-s
Faculty of:
Geology, Geophysics and Environmental Protection
Study level:
First-cycle studies
Specialty:
-
Field of study:
Applied Computer Science
Semester:
5
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Course homepage:
 
Responsible teacher:
dr inż. Franczyk Anna (franczyk@geolog.geol.agh.edu.pl)
Academic teachers:
dr inż. Franczyk Anna (franczyk@geolog.geol.agh.edu.pl)
Module summary

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence
M_K001 Student posiada umiejętność współpracy i posiada zdolność do samokształcenia IT1A_K01, IT1A_K03 Test,
Project
Skills
M_U001 Student potrafi zaprojektować znormalizowaną relacyjną bazę danych IT1A_U13 Test,
Execution of a project
M_U002 Student potrafi zastosować język SQL do tworzenia prostej bazy danych i do pozyskiwania pożądanych informacji z relacyjnej bazy danych IT1A_U13, IT1A_U05 Test,
Project
Knowledge
M_W001 Student definiuje relacyjny model bazy danych, zna zasady tworzenia koncepcyjnego modelu relacyjnej bazy danych IT1A_W10, IT1A_W04 Examination,
Test
M_W002 Student posiada wiedzę na temat operacji w relacyjnej bazie danych IT1A_W10 Examination,
Test
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Others
E-learning
Social competence
M_K001 Student posiada umiejętność współpracy i posiada zdolność do samokształcenia - - + - - - - - - - -
Skills
M_U001 Student potrafi zaprojektować znormalizowaną relacyjną bazę danych + - + - - - - - - - -
M_U002 Student potrafi zastosować język SQL do tworzenia prostej bazy danych i do pozyskiwania pożądanych informacji z relacyjnej bazy danych - - + - - - - - - - -
Knowledge
M_W001 Student definiuje relacyjny model bazy danych, zna zasady tworzenia koncepcyjnego modelu relacyjnej bazy danych + - - - - - - - - - -
M_W002 Student posiada wiedzę na temat operacji w relacyjnej bazie danych + - - - - - - - - - -
Module content
Lectures:

1. Wykład wprowadzający. Składowe systemu bazy danych. Abstrakcyjny trójwarstwowy model systemu (rozproszonego) z bazą danych. Rodzaje baz danych. Wybrane funkcjonalności systemów baz danych. Dostęp do danych. Typy danych. Wybrane funkcjonalności baz danych.
2. Relacyjne bazy danych. Postulaty relacyjnych baz danych, Zapis formalny modelu relacyjnego. Koncepcja relacyjnej bazy danych. Związki encji. Diagramy związków encji.
3. Relacyjne bazy danych. Klucze. Zbiory encji słabych. Przekształcanie diagramów związków encji do postaci relacyjnego modelu danych. Anomalie w relacjach. Dekompozycja relacji. Zależności funkcyjne. Zależności funkcyjne wielowartościowe. Normalizacja modelu relacyjnej bazy danych. Postaci normalne: pierwsza (1NF), druga (2NF), trzecia (3NF), postać normalna Boyce-Codda (BCNF). Dekompozycja do postaci BCNF. Inne postaci normalne.
4. Operacje w relacyjnej bazie danych. Proste działania teoriomnogościowe: suma, różnica, iloczyn. Działania złożone: rzut, projekcja, selekcja, iloczyn kartezjański, iloraz, złączenie teta, złączenie naturalne. Inne złączenia: równozłączenie, Złączenie wewnętrzne (inner join), złączenie zewnętrzne lewostronne (left outer join), złączenie zewnętrzne prawostronne (right outer join), złączenie zewnętrzne pełne (full outer join), autozłączenie (self-join). Złożenia. Logika relacji. Działania algebry relacji w języku logiki.
5. Język SQL. Składnia SQL. Podstawowe typy danych w języku SQL. Rzutowanie. Operatory. Tworzenie tabel w języku SQL. Wstawianie, modyfikowanie i usuwanie danych w tabelach. Tworzenie i usuwanie indeksów.
6. Język SQL. Zapytanie SELECT. Funkcje agregujące. Grupowanie danych. Złączenia. Działania na zbiorach. Zagnieżdżenia zapytań (podzapytania). Zapytania zagnieżdżone a złączenia. Widoki (perspektywy). Transakcje. Procedury składowane. Wyzwalacze (Triggers).

Laboratory classes:

1. Wykład wprowadzający. Składowe systemu bazy danych. Abstrakcyjny trójwarstwowy model systemu (rozproszonego) z bazą danych. Rodzaje baz danych. Wybrane funkcjonalności systemów baz danych. Dostęp do danych. Typy danych. Wybrane funkcjonalności baz danych.
2. Relacyjne bazy danych. Postulaty relacyjnych baz danych, Zapis formalny modelu relacyjnego. Koncepcja relacyjnej bazy danych. Związki encji. Diagramy związków encji.
3. Relacyjne bazy danych. Klucze. Zbiory encji słabych. Przekształcanie diagramów związków encji do postaci relacyjnego modelu danych. Anomalie w relacjach. Dekompozycja relacji. Zależności funkcyjne. Zależności funkcyjne wielowartościowe. Normalizacja modelu relacyjnej bazy danych. Postaci normalne: pierwsza (1NF), druga (2NF), trzecia (3NF), postać normalna Boyce-Codda (BCNF). Dekompozycja do postaci BCNF. Inne postaci normalne.
4. Operacje w relacyjnej bazie danych. Proste działania teoriomnogościowe: suma, różnica, iloczyn. Działania złożone: rzut, projekcja, selekcja, iloczyn kartezjański, iloraz, złączenie teta, złączenie naturalne. Inne złączenia: równozłączenie, Złączenie wewnętrzne (inner join), złączenie zewnętrzne lewostronne (left outer join), złączenie zewnętrzne prawostronne (right outer join), złączenie zewnętrzne pełne (full outer join), autozłączenie (self-join). Złożenia. Logika relacji. Działania algebry relacji w języku logiki.
5. Język SQL. Składnia SQL. Podstawowe typy danych w języku SQL. Rzutowanie. Operatory. Tworzenie tabel w języku SQL. Wstawianie, modyfikowanie i usuwanie danych w tabelach. Tworzenie i usuwanie indeksów.
6. Język SQL. Zapytanie SELECT. Funkcje agregujące. Grupowanie danych. Złączenia. Działania na zbiorach. Zagnieżdżenia zapytań (podzapytania). Zapytania zagnieżdżone a złączenia. Widoki (perspektywy). Transakcje. Procedury składowane. Wyzwalacze (Triggers).

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 110 h
Module ECTS credits 4 ECTS
Participation in lectures 15 h
Realization of independently performed tasks 35 h
Participation in laboratory classes 30 h
Preparation for classes 30 h
Additional information
Method of calculating the final grade:

Ocena końcowa = 50% oceny z egzaminu + 50% oceny z ćwiczeń
(lub Ocena końcowa odpowiada ocenie z zaliczenia)

Prerequisites and additional requirements:

Podstawowa wiedza matematyczna i informatyczna ze szkoły średniej i gimnazjum

Recommended literature and teaching resources:

 Ullman, J.D., Widom J.: Podstawowy wykład z systemów baz danych. WNT, Warszawa 1999
 Delobel C., Adiba M.: Relacyjne bazy danych. WNT, Warszawa 1989
 Ullman J.D.: Systemy Baz Danych WNT, Warszawa 1988
 http://www.postgresql.org/
 http://www.mysql.com/

Scientific publications of module course instructors related to the topic of the module:

Monika CHUCHRO, Michał LUPA, Anna PIĘTA, Adam PIÓRKOWSKI, Andrzej LEŚNIAK, A concept of time windows length selection in stream databases in the context of sensor networks monitoring, 2014, Springer International Publishing, Advances in Intelligent Systems and Computing, 173–174

Anna PIĘTA, Michał LUPA, Monika CHUCHRO, Adam PIÓRKOWSKI, Andrzej LEŚNIAK, A model of a system for stream data storage and analysis dedicated to sensor networks of embankment monitoring, 2014, Lecture Notes in Computer Science, 514–525

Additional information:

udział „praktycznych” punktów ECTS: 2
udział „teoretycznych” punktów ECTS: 2