SylabUZ
Course name | Databases |
Course ID | 11.3-WI-INFP-BD |
Faculty | Faculty of Computer Science, Electrical Engineering and Automatics |
Field of study | Computer Science |
Education profile | academic |
Level of studies | First-cycle studies leading to Engineer's degree |
Beginning semester | winter term 2022/2023 |
Semester | 4 |
ECTS credits to win | 6 |
Course type | obligatory |
Teaching language | polish |
Author of syllabus |
|
The class form | Hours per semester (full-time) | Hours per week (full-time) | Hours per semester (part-time) | Hours per week (part-time) | Form of assignment |
Laboratory | 30 | 2 | 18 | 1,2 | Credit with grade |
Lecture | 30 | 2 | 18 | 1,2 | Exam |
Podstawy programowania, Algorytmy i struktury danych
Wprowadzenie do tematyki baz danych. Używana terminologia. Podstawowe cechy baz danych. Wymagania stawiane współczesnym bazom danych. Skrótowe omówienie współczesnych systemów zarządzania bazami danych (SZBD). Podział systemów baz danych ze względu na model danych (relacyjne, obiektowo-relacyjne, obiektowe, XML-owe, hierarchiczne, sieciowe, bazy typu NoSQL) oraz spełnianą funkcję (transakcyjne OLTP, do przetwarzania analitycznego OLAP, inne bardziej specjalizowane zastosowania). Komunikacja użytkownika z bazami danych, język SQL.
Modelowanie związków encji. Podstawy relacyjnego modelu danych. Wprowadzenie do modelowania i projektowania systemów informatycznych ze szczególnym uwzględnieniem relacyjnych systemów bazodanowych. Definicja encji oraz jej atrybuty. Różne typy związków pomiędzy encjami oraz hierarchia encji. Pojęcie relacji i jej podstawowe własności. Podstawowe operacje na relacjach (selekcja, projekcja, złączenia naturalne, złączenia zewnętrzne, iloczyn kartezjański, grupowanie, operacje mnogościowe). Transformacja modelu związków encji do modelu relacyjnego. Związki między relacjami, klucze główne, klucze obce, ograniczenia bazodanowe, indeksy. Proces normalizacji relacji oraz zależności funkcyjne.
Podstawy języka SQL oraz optymalizacji zapytań. Język SQL, jako standard dostępu do baz danych.. Podzbiór języka SQL do manipulowania danymi (DML, polecenia: INSERT, UPDATE, DELETE), definiowania danych (DDL, polecenia: CREATE, ALTER, DROP) oraz sterowanie danymi (DCL, polecenia: GRANT, REVOKE, COMMIT, ROLLBACK) Wyszukiwanie danych za pomocą polecenia SELECT. Ograniczenia integralnościowe. Złączenia tabel. Funkcje SQL (znakowe, numeryczne oraz operujące na datach). Grupowanie danych. Podzapytania. Podstawy transakcji w bazach danych. Podstawy optymalizacji i strojenia zapytań SQL.
Podstawy systemów bazodanowych klasy NoSQL. Zasada BASE ( Basically Available, Eventually consistent, Soft state) oraz CAP ( Consistency, Availability, Partition tolerance). Replikacja. Metodologia Map-Reduce. Modele zorientowane na agregacje. Format JSON. Klasyfikacja systemów NoSQL: bazy typy klucz-wartość, dokumentowe, rodzina kolumn oraz grafowe. Omówienie kilku wybranych implementacji.
Podstawy wytwarzania aplikacji bazodanowych w architekturze dwu- i trójwarstwowej. Wybrane techniki i narzędzia do wytwarzania aplikacji bazodanowych.
Bezpieczeństwo w bazach danych. Import i eksport danych. Tworzenie kopii bezpieczeństwa oraz odzyskiwanie danych po awarii. Rejestrowanie zmian zachodzących w bazie danych. Serwery zapasowe. Spójność danych przed i po awarii. Różne strategie odzyskiwania danych (odtwarzanie pełne, częściowe, do pewnego punktu w przeszłości).
Wykład: wykład konwencjonalny
Laboratorium: ćwiczenia laboratoryjne
Outcome description | Outcome symbols | Methods of verification | The class form |
Wykład: egzamin w formie pisemnej
Laboratorium: warunkiem zaliczenia jest uzyskanie pozytywnych ocen ze wszystkich ćwiczeń laboratoryjnych, przewidzianych do realizacji w ramach programu laboratorium
Składowe oceny końcowej = wykład: 50% + laboratorium: 50%
Modified by dr hab. inż. Artur Gramacki, prof. UZ (last modification: 20-04-2022 23:24)