Systemy baz danych 2700-M-ZBD-D3SBD
Wykład:
- Wprowadzenie w problematykę baz danych - definicje, elementy i właściwości baz danych. Modele danych. Wymagania, elementy implementacji
- Modele danych, pojęcia podstawowe, wstęp do algebry relacji, obszary zastosowania poszczególnych modeli
- Relacyjne bazy danych - elementy, wymagania sformalizowane
- Bazy obiektowe - podstawowe pojęcia, cechy obiektowości, schemat działania, formalizacja i standardy, implementacja
- Bazy nierelacyjne a relacyjne - bazy NoSQL. in-memory, klucz-wartość, rozproszone, dokumentowe /XML
- Operacje i transakcje - własności transakcji
- Bazy a rejestry, hurtownie danych - architektura, obszary zastosowań, mechanizmy optymalizacji
- Dane nieustrukturyzowane, rejestry rozproszone, blockchain jako rozproszona baza danych
- AI w systemach baz danych - bazy autonomiczne i wektorowe
Ćwiczenia (zajęcia praktyczne):
Zadania na przykładowej bazie danych:
- realizacja zapytań,
- modelowanie, tworzenie i czytanie schematów ERD z wykorzystaniem narzędzi online,
- wizualizacja zapytań.
Miejsca występowań baz danych na przykładach praktycznych
Omówienie struktury baz danych na przykładzie CMS Wordpress
Zaznajomienie się z phpMyAdmin
Zastosowanie PDO Crud do tworzenia interfejsu aplikacyjnego do bazy danych
Wizualizacja zapytań wysyłanych do bazy danych
Tworzenie, odczytywanie, aktualizowanie i usuwanie danych
Operatory porównania i logiczne
Zapytania SQL
Konstruowanie zapytań
Konstruowanie zapytań typu SELECT
Zastosowanie filtrów WHERE
Sortowanie wyników
Wykorzystanie funkcji agregujących (np. SUM, AVG, COUNT)
Joinowanie i relacje
Zrozumienie pojęcia relacji w bazach danych
Wykorzystanie JOIN do łączenia tabel
Rodzaje joinów (INNER JOIN, LEFT JOIN, RIGHT JOIN)
Modelowanie danych
Tworzenie schematów ERD (Entity-Relationship Diagrams)
Narzędzia online do modelowania (np. draw.io)
UML (Unified Modeling Language)
Zaznajomienie się z UML
Tworzenie diagramów Use Case
Rozważanie aspektów funkcjonalności systemu z perspektywy użytkowników i aktorów
Praktyczne przykłady
Tryb prowadzenia
Koordynatorzy przedmiotu
Efekty kształcenia
Wiedza
- rozumie modele baz danych
- zna zasady tworzenia baz danych
- zna przeznaczenie i podstawowe instrukcje języka SQL
- potrafi proponować modele bazodanowe do zdefiniowanych wymagań
- potrafi krytycznie oceniać modele bazodanowe w kontekście ich zastosowań
Umiejętności
- posiada zdolność samodzielnego studiowania dokumentacji na temat baz danych i prawidłowej interpretacji zachodzących zjawisk w tym obszarze
- dzięki zajęciom praktycznym umie pisać zapytania SQL do bazy danych
Kryteria oceniania
Wykład: Ocena pozytywna od 50% prawidłowych odpowiedzi na egzaminie
Ćwiczenia: Ocena ciągła (bieżące przygotowanie do zajęć i aktywność) + zaliczenie na ocenę
Literatura
- Elmasri R., Shamkant B. N., Wprowadzenie do systemów baz danych, Helion 2019.
- Rogulski M., Bazy danych dla studentów: podstawy projektowania i języka SQL, Warszawa, WITKOM (Salma Press), 2012.
- Sadalage P.J., Fowler M., NoSQL. Kompendium wiedzy., Helion, 2015
- Pelikant A, Bazy danych. Pierwsze starcie, Helion 2009
- Harrison G., NoSQL, NewSQL i BigData. Bazy danych następnej generacji, Helion 2018
- MySQL 8.0 Reference Manual, https://dev.mysql.com/doc/refman/8.0/en/.
- Jurkiewicz Z. Bazy danych, https://mst.mimuw.edu.pl/lecture.php?lecture=bad
- The integration of artificial intelligence into database systems (AI-DB integration review) (DOI:10.5121/ijci.2023.1206012)
Więcej informacji
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: