SylabUZ

Generate PDF for this page

Databases - course description

General information
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
Course information
Semester 4
ECTS credits to win 6
Course type obligatory
Teaching language polish
Author of syllabus
  • dr hab. inż. Artur Gramacki, prof. UZ
Classes forms
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

Aim of the course

  1. Zapoznanie studenta z zasadami działania i możliwościami współczesnych systemów bazodanowych (bazy relacyjne oraz bazy typu NoSQL).
  2. Ukształtowanie umiejętności w zakresie projektowania struktur relacyjnych dla baz danych.
  3. Ukształtowanie umiejętności w zakresie programowania z użyciem języka SQL.
  4. Ukształtowanie umiejętności w zakresie podstawowych czynności związanych z administrowaniem bazami danych.

Prerequisites

Podstawy programowania, Algorytmy i struktury danych

Scope

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

 

Teaching methods

Wykład: wykład konwencjonalny

Laboratorium: ćwiczenia laboratoryjne

Learning outcomes and methods of theirs verification

Outcome description Outcome symbols Methods of verification The class form

Assignment conditions

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%

Recommended reading

  1. Stones R., Matthew N.: Bazy danych i MySQL. Od podstaw, Helion, 2003
  2. Lis M.: MySQL. Darmowa baza danych. Ćwiczenia praktyczne. Wydanie II, Helion, 2013
  3. Dudek W.: Bazy danych SQL. Teoria i praktyka, Helion 2006.
  4. Mendrala D., Szeliga M.: Praktyczny kurs SQL. Wydanie III, Helion 2015
  5. Jakubowski A.: Podstawy SQL: ćwiczenia praktyczne, HELION, 2001
  6. Pramod J. Sadalage, Martin Fowler: NoSQL. Kompendium wiedzy, Helion, 2014
  7. Dan Sullivan: NoSQL. Przyjazny przewodnik, Helion, 2016

 

 

Further reading

  1. Date C. J.: Wprowadzenie do systemów baz danych, WNT, 2000
  2. Ullman J.D., Widom J.: Podstawowy wykład z systemów baz danych, WNT, Warszawa, 2001

 

Notes


Modified by dr hab. inż. Artur Gramacki, prof. UZ (last modification: 20-04-2022 23:24)