Ćw.1
Ćw.2
Ćw.3
Ćw.4
Ćw.5
Ćw.6
Ćw.7
Ćw.8
Ćw.9
Ćw.10
Ćw.11
Ćw.12
Ćw.13
Ćw.14
Ćw.15
Egzamin
pisemny
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.
Wykład 2
Relacyjne bazy danych
Postulaty relacyjnych baz danych, Zapis formalny modelu relacyjnego. Koncepcja relacyjnej bazy danych. Związki encji. Diagramy związków encji.
Wykład 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 wielowartosciowe. Normalizacja modelu relacyjnej bazy danych. Postaci normalne: pierwsza (1NF), druga (2NF), trzecia (3NF), postac normalna Boyce-Codda (BCNF). Dekompozycja do postaci BCNF. Inne postaci normalne.
Wykład 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.
Wykład 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.
Wykład 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).
Wykład 7
Realizacja wybranych struktur w relacyjnych bazach danych. Reprezentacja drzew w relacyjnych bazach danych (rozszerzenie zbioru atrybutów obiektów-węzłów/uporządkowany przegląd drzewa). Reprezentacja grafów w relacyjnych bazach danych. Reprezentacja macierzy w relacyjnych bazach danych.
Ćw. 1
Zapoznanie się z pakietem LibreOffice. Typy danych. Tworzenie tabel. Formatki. Raporty.
Ćw. 2
Projektowanie schematów relacyjnych baz danych. Krotnoci więzów relacji. Dekompozycja M:N.
Ćw. 3
Projektowanie schematów relacyjnych baz danych. Krotnoci więzów relacji. Dekompozycja M:N. c.d.
Konstrukcja zaawansowanych schematow danych.
Ćw. 4
Normalizacja schematów baz danych.
Ćw. 5
Definiowanie schematów relacji w języku SQL. Klucze główne i obce. Klucze proste, złożone. Proszę zapoznać się z możliwościami (opcjami) i składnią poleceń przedstawionych na ostatnim wykładzie (klucze!). Obowiązuje standard języka SQL, S.Z.B.D. PostrgreSQL [8], [9]. PSQL dla win32 jest dostępny tutaj: PSQL.7z [10].
Składnia: psql -h adresserwera nazwabazy uzytkownik (nazwa bazy na ćwiczeniach: baza) (nazwa uzytkownika: s[numer_indeksu])
Ćw. 6
Konstruowanie prostych zapytań (pojedyncza tabela) do bazy przy użyciu instrukcji SELECT. Przed ćwiczeniem należy zapoznać się ze składnią, możliwościami i właściwościami tej instrukcji.
Agregacja i grupowanie danych.
Ćw. 7
Język SQL: Agregacja i grupowanie danych. Suma, różnica i iloczyn tabel. Widoki. Instrukcje warunkowe.
Ćw. 8
Złšczenia tabel.
Ćw. 9
Zagnieżdżenia nieskorelowane i skorelowane.
Ćw. 10
Transakcje. Punkty bezpieczeństwa. Kursory.
Ćw. 11
Poziomy izolacji transakcji.
Ćw. 12
Procedury składowane. Triggery.
Ćw. 13
Kolokwium (projektowanie schematów R.B.D).
Ćw. 14
Kolokwium (SQL).
Ćw. 15
rezerwowe.
Literatura i zasoby:
[1] Ullman, J.D., Widom J.: Podstawowy wykład z systemów baz danych. WNT, Warszawa 1999
[2] Delobel C., Adiba M.: Relacyjne bazy danych. WNT, Warszawa 1989
[3] Ullman J.D.: Systemy Baz Danych WNT, Warszawa 1988
[4] Fehily Ch.: SQL. Szybki start. Helion, Gliwice 2003. pdf
[5] Gruca A.: Bioinformatyczne bazy danych. PJWSTK, Warszawa 2010. pdf
[6] Widel, S., Widel, A., Spinczyk, D.: Overview of available open source PACS frameworks. Studia Informatica, 2016, 37(3A), 21-30. pdf
[7] Ladniak M., Piorkowski A., Banys R. P.: Przeglad otwartych rozwiazań systemów archiwizacji systemów archiwizacji i komunikacji obrazów medycznych. Komputerowe wspomaganie badań naukowych, WTN, Wrocław, 2014, pp. 79-88. pdf
[8] http://www.postgresql.org
[9] PostgreSQL: Documentation: 11: Part II. The SQL Language
[10] https://www.postgresql.org/docs/11/app-psql.html
[11] https://www.pgadmin.org/
[12] http://www.mysql.com/
[13] https://www.libreoffice.org
[14] Wydajnoć złšczeń i zagnieżdżeń dla schematów znormalizowanych i zdenormalizowanych
[15] Dymek, D., Komnata, W., Kotulski, L.: Federacyjna hurtownia danych w dostępie do informacji poufnej. Kolegium Analiz Ekonomicznych, Szkoła Główna Handlowa w Warszawie, 2014, 33. pdf
[101] D. Ciupek: Animal Transcription Factor Database (youtube)
[102] J. Staniszewski: NCI-Nature Pathway Interaction Database (youtube)
[103] N. Nowosinska: ConsensusPathDB (youtube)
[104] K. Kolodziej: COSMIC Cancer Database (youtube)
[105] Z. Schneider: Online Mendelian Inheritance in Man (youtube)
[106] J. Sorysz: Baza Reactome (youtube)