SylabUZ

Wygeneruj PDF dla tej strony

Bazy danych - opis przedmiotu

Informacje ogólne
Nazwa przedmiotu Bazy danych
Kod przedmiotu 11.3-WI-INFP-BD
Wydział Wydział Informatyki, Elektrotechniki i Automatyki
Kierunek Informatyka
Profil ogólnoakademicki
Rodzaj studiów pierwszego stopnia z tyt. inżyniera
Semestr rozpoczęcia semestr zimowy 2021/2022
Informacje o przedmiocie
Semestr 4
Liczba punktów ECTS do zdobycia 6
Typ przedmiotu obowiązkowy
Język nauczania polski
Sylabus opracował
  • dr hab. inż. Artur Gramacki, prof. UZ
Formy zajęć
Forma zajęć Liczba godzin w semestrze (stacjonarne) Liczba godzin w tygodniu (stacjonarne) Liczba godzin w semestrze (niestacjonarne) Liczba godzin w tygodniu (niestacjonarne) Forma zaliczenia
Laboratorium 30 2 18 1,2 Zaliczenie na ocenę
Wykład 30 2 18 1,2 Egzamin

Cel przedmiotu

  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.

Wymagania wstępne

Podstawy programowania, Algorytmy i struktury danych

Zakres tematyczny

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

 

Metody kształcenia

Wykład: wykład konwencjonalny

Laboratorium: ćwiczenia laboratoryjne

Efekty uczenia się i metody weryfikacji osiągania efektów uczenia się

Opis efektu Symbole efektów Metody weryfikacji Forma zajęć

Warunki zaliczenia

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%

Literatura podstawowa

  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

 

 

Literatura uzupełniająca

  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

 

Uwagi


Zmodyfikowane przez prof. dr hab. inż. Andrzej Obuchowicz (ostatnia modyfikacja: 20-04-2021 08:55)