Wykłady obejmują kompleksowe wprowadzenie do systemów baz danych, ze szczególnym uwzględnieniem modelu relacyjnego oraz nowoczesnych technologii NoSQL. Kurs porusza kluczowe zagadnienia, takie jak projektowanie baz danych, normalizacja, język SQL, systemy zarządzania bazami danych (DBMS), a także zagrożenia związane z bezpieczeństwem danych. W trakcie wykładów omawiane są również hurtownie danych, bazy grafowe, bazy wektorowe oraz zastosowanie baz danych w sztucznej inteligencji. Kurs kończy się egzaminem testowym realizowanym na platformie Moodle, a studenci mogą zdobywać dodatkowe punkty za aktywność na zajęciach.
Spis zagadnień:
1. Wprowadzenie do baz danych
- Definicja i znaczenie baz danych
- Historia rozwoju baz danych
- Cykl DIKW (Dane – Informacja – Wiedza – Mądrość)
- Modele baz danych
- Rola baz danych w nowoczesnych systemach informatycznych
2. Model relacyjny
- Edgar Frank Codd i jego wkład w teorię baz danych
- Struktura baz relacyjnych: tabele, rekordy, atrybuty
- Relacje między tabelami: klucz główny i klucz obcy
- Integralność danych i transakcje (ACID)
3. Projektowanie relacyjnych baz danych
- Etapy procesu projektowania baz danych
- Analiza wymagań użytkowników
- Diagramy ERD (Entity-Relationship Diagram)
- Przekształcanie ERD na model relacyjny
- Ograniczenia i ich zastosowanie w bazach danych
4. Normalizacja danych i duże bazy danych
- Problemy związane z redundancją danych
- Pierwsza postać normalna (1NF)
- Druga postać normalna (2NF)
- Trzecia postać normalna (3NF)
- De-normalizacja i jej zastosowanie
5. Systemy Zarządzania Bazami Danych (DBMS)
- Architektura DBMS
- Przykłady popularnych DBMS: MySQL, PostgreSQL, SQL Server, Oracle
- Ranking systemów baz danych (DB-Engines Ranking)
- Rola DBMS w zarządzaniu danymi
6. Hurtownie danych i Big Data
- Definicja i architektura hurtowni danych
- Proces ETL (Extract, Transform, Load) vs ELT
- Big Data – charakterystyka i zastosowanie
- Porównanie hurtowni danych i systemów Big Data
7. Język SQL
- Struktura SQL (Structured Query Language)
- Podział komend SQL:
- DQL (zapytania o dane)
- DDL (definicja struktury bazy danych)
- DML (operacje na danych)
- DCL (zarządzanie uprawnieniami)
- TCL (zarządzanie transakcjami)
- Zapytania SQL: SELECT, JOIN, GROUP BY, HAVING, ORDER BY, LIMIT
- Funkcje agregujące i operacje na zbiorach danych
8. Bazy NoSQL i ich zastosowanie
- Różnice między bazami SQL i NoSQL
- Typy baz NoSQL:
- Bazy klucz-wartość (Redis, DynamoDB)
- Bazy dokumentowe (MongoDB, CouchDB)
- Bazy kolumnowe (Cassandra, HBase)
- Bazy grafowe (Neo4j, JanusGraph)
- Bazy wektorowe (Pinecone, Milvus)
- Zalety i wady baz NoSQL
9. Rodzaje danych przechowywanych w bazach danych
- Dane transakcyjne
- Logi systemowe
- Dane konfiguracyjne
- Dane osobowe i operacyjne
- Dane analityczne i referencyjne
- Dane multimedialne
- Dane geolokalizacyjne
10. Format wymiany danych w bazach
- Struktury plików: CSV, XML, JSON
- Interoperacyjność i wymiana danych między systemami
- Transformacje i przetwarzanie danych
11. Bazy grafowe i ich zastosowanie
- Podstawy teorii grafów
- Struktura baz grafowych
- Język zapytań Cypher (CQL)
- Algorytmy grafowe: centralność stopnia, PageRank, centralność pośrednictwa
- Przykłady zastosowań: analiza sieci społecznościowych, systemy rekomendacji
12. Zagrożenia dla baz danych i cyberbezpieczeństwo
- Ataki na bazy danych: SQL Injection, ataki DoS
- Metody ochrony baz danych: szyfrowanie, kontrola dostępu
- Strategie backupu i odtwarzania danych
- Rola administratora baz danych w zapewnieniu bezpieczeństwa
#BazyDanych #SQL #NoSQL #ModelRelacyjny #BigData #DBMS