BAZY DANYCH W BIOLOGII I MEDYCYNIE
 
 


Wykład

Wykł.1 Wykł.2 Wykł.3 Wykł.4 Wykł.5 Wykł.6 Wykł.7 


Materialy do wykladu:
Wprowadzenie: BDwBiM_w0_intro.pdf
RBD: BDwBiM_w1_RDB.pdf
SQL: BDwBiM_w2_SQL.pdf, BD1w_6_SQL.7z.

Ćwiczenia

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