Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Bazy danych I
Tok studiów:
2015/2016
Kod:
BIT-1-501-s
Wydział:
Geologii, Geofizyki i Ochrony Środowiska
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Informatyka Stosowana
Semestr:
5
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Strona www:
 
Osoba odpowiedzialna:
dr inż. Franczyk Anna (franczyk@geolog.geol.agh.edu.pl)
Osoby prowadzące:
dr inż. Franczyk Anna (franczyk@geolog.geol.agh.edu.pl)
Krótka charakterystyka modułu

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 Student definiuje relacyjny model bazy danych, zna zasady tworzenia koncepcyjnego modelu relacyjnej bazy danych IT1A_W10, IT1A_W04 Egzamin,
Kolokwium
M_W002 Student posiada wiedzę na temat operacji w relacyjnej bazie danych IT1A_W10 Egzamin,
Kolokwium
Umiejętności
M_U001 Student potrafi zaprojektować znormalizowaną relacyjną bazę danych IT1A_U13 Kolokwium,
Wykonanie projektu
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 Kolokwium,
Projekt
Kompetencje społeczne
M_K001 Student posiada umiejętność współpracy i posiada zdolność do samokształcenia IT1A_K01, IT1A_K03 Kolokwium,
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 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 + - - - - - - - - - -
Umiejętności
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 - - + - - - - - - - -
Kompetencje społeczne
M_K001 Student posiada umiejętność współpracy i posiada zdolność do samokształcenia - - + - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:

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).

Ćwiczenia laboratoryjne:

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).

Podstawowym terminem uzyskania zaliczenia jest koniec zajęć w danym semestrze. Student może przystąpić do poprawkowego zaliczenia dwukrotnie, w terminie wyznaczonym przez prowadzącego zajęcia.
Student który bez usprawiedliwienia opuścił więcej niż 20% zajęć może zostać pozbawiony przez prowadzącego możliwości poprawkowego zaliczania.

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

Ocena końcowa odpowiada ocenie z zaliczenia

Wymagania wstępne i dodatkowe:

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

Zalecana literatura i pomoce naukowe:

 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/

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

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

Informacje dodatkowe:

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