Ćw.1
Ćw.2
Ćw.3
Ćw.4
Ćw.5
Ćw.6
Ćw.7
Ćw.8
Ćw.9
Ćw.10
Ćwiczenia 1-3 beda wykonywane w ogolnodostepnym i bezplatnym pakiecie LibreOffice [13]. Nalezy go uprzednio zainstalowac, w szczegolnosci zwracajac uwage na moduly Base i Writer.
Ćwiczenia 4-10 beda wykonywane aplikacjach pozwalajacyh na dostep do SQL-owej bazy danych PostgreSQL - PSQL [10] lub PGAdmin [11]. Nalezy wczesniej pobrac program PSQL, rozpakowac go i mozna z niego korzystac. Dla bardziej wymagajacych - program PGadmin. PSQL dla win32 jest dostępny tutaj: PSQL.7z [10].
Uwaga! Dostep do bazy Postgresql wymaga wczesniejszego podlaczenia sie do sieci AGH przez VPN.
_
_
Uzupełniajace formy zaliczenia:
Projekt
Prezentacja
Egzamin
brak :)
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
Typy danych. Konstrukcja prostej tabeli.
Ćw. 2
Konstrukcja prostych schematow relacyjnych baz danych. Definicja danych. Konstruowanie tabel. Wiezy relacji.
Zapoznanie się z pakietem LibreOffice Base. Przygotowanie się w oparciu o materiały z wykładu.
Ćw. 3
Projektowanie relacyjnych baz danych (cd) - przygotowanie się w oparciu o materiały z wykładu.
Konstrukcja zaawansowanych schematow danych.
Ćw. 4
Definiowanie schematów relacji w języku SQL. 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. 5
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.
Ćw. 6
Konstruowanie prostych zapytań (cd). Agregacja i grupowanie danych.
Ćw. 7
Działania na zbiorach. Zagnieżdżenia.
Ćw. 8
Złączenia wewnętrzne i zewnętrzne.
Ćw. 9
Zaawansowane konstrukcje składniowe w języku SQL.
Ćw. 10
Transakcje w języku SQL. Należy zapoznać się z konstrukcją transakcji w języku SQL, zatwierdzeniem i wycofaniem. Które instrukcje SQL mogą brać udział w transakcji? Słowa kluczowe: {BEGIN, COMMIT, ROLLBACK}
Projekt
Lista tematów projektu u prowadzacego.
Prezentacja
Lista tematów prezentacji u prowadzacego.
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
[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)