Bazy danych 2022
Weekly outline
-
W najbliższy czwartek 3 marca nie odbędą się ćwiczenia - zostaną one odpracowane na przełomie maja i czerwca podczas zaliczania projektów.
Pierwszy wykład odbędzie się w następującym zespole Teams w najbliższą środę, początek o 11:15.
Do prowadzenia zajęć będziemy używać wyłącznie zespołu wykładowego z ew. osobnymi kanałami dla każdej grupy. -
Wykład 1. Wprowadzenie. Algebra relacji.
-
Wykład 2. Relacyjny rachunek krotek (rrk), relacyjny rachunek dziedzin (rrd). Formuły bezpieczne. Niezależność od dziedziny. Twierdzenie Codda.
-
Wykład 3. i 4.
- Semantyka logiki pierwszego rzędu (rrd/rrk).
- Problemy ewaluacji, równoważności oraz zawierania zapytań.
- Zapytania koniunkcyjne, izomorfizm, homomorfizm.
na podstawie wykładu Phokiona Kolaitisa: Relational Databases, Logic, and Complexity, slajdy: pdf
Notatka z wykładu 3. - pdf
-
Wykład 4.
- Równoważność problemów istnienia homomorfizmu, ewaluacji oraz zawierania zapytań koniunkcyjnych.
- Zapytania z rekursją: Datalog.
Na podstawie wykładu Phokiona Kolaitisa: Relational Databases, Logic, and Complexity, slajdy: pdf
Notatka z wykładu - pdf
pn. 28.03.2022, 10:56 - dodałem do treści zadania 16 wyjaśnienie co to jest przekrój baz danych oraz przypomniałem co to znaczy, że nulle w bazach są unikalne (w żadnej bazie danych ta sama zmienna nie może wystąpić więcej niż jeden raz)
-
Wykład 6. Projekt dobrej bazy danych. Postacie normalne.
-
Wstępny harmonogram zajęć SQL
14.04 - pracownia wstępna, zapoznanie ze schematem bazy na sprawdzian, podstawy SQL, będzie można zdobyć punkty bonusowe
21.04 - sprawdzian nr 1 - podstawy SQL
28.04 - sprawdzian nr 2 - zaawansowane zapytania SQL (uwaga zmiana!)
5.05 - powtórzenie, będzie można zdobyć punkty bonusowe (uwaga zmiana!)
12.05 - Juwenalia
19.05 -zajęcia z modelowania (liczone do części ćwiczeniowej) (uwaga zmiana!)
26.05 - sprawdzian nr 3 - całość materiału (w tym funkcje i wyzwalacze) (uwaga zmiana!)
Do punktacji będą liczyły się 2 najlepiej napisane sprawdzianySamodzielna praca
Nauka każdej technologii wymaga samodzielnej pracy. Po wykładzie będę publikował zadania niepunktowane wraz z rozwiązaniami. Materiał ten ma na celu przygotowanie się do pracowni i będzie wykorzystywał (historyczną i zanonimizowaną) bazę zapisów na zajęcia. W trakcie pracowni (obojętnie czy będącej sprawdzianem czy mającej na celu naukę) będziemy używać innego schematu, a zapytanie będą udostępniane w czasie zajęć. W trakcie sprawdzianów nie będzie dostępu do internetu ale będzie dostępna dokumentacja postgreSQL (moim zdaniem dość dobra), w trakcie pozostałych zajęć prowadzący będą pomagać w tworzeniu zapytań i wyjaśniać wszelkie problemy.
Baza danych - do samodzielnej pracy
- baza danych: baza.dump
Przykładowy sprawdzian SQL0, SQL1 - 2021
W roku 2021 odbyło się 5 sprawdzianów, poniżej treść zadań z rozwiązaniami dla pierwszych dwóch.
- baza danych mondial.dump
- sprawdzian sql0.pdf, sql1.pdf
- rozwiązania plgsql0.pdf, plgsql1.pdf
-
-
Wykład -
- SQL i rekurencja - WITH RECURSIVE - slajdy sql2.pdf (końcówka)
- programowanie i SQL, PL/pgSQL- funkcje, wyzwalacze, PL/Python - slajdy: sql3.pdf
- lista niepunktowana, wersja ze wskazówkami, wersja z rozwiązaniami
- sprawdzian 2021: spr3.pdf oraz rozwiązanie wzorcowe spr3.sql
-
Wykład: indeksowanie, analiza wydajności
- Slajdy: slajdy_idx_null_nf.pdf
- lista na pracownię 5.5.2022: spr3.pdf
- wzorcówka spr2.pdf
-
Modelowanie: slajdy.pdf
Harmonogram zajęć:
19.05 -zajęcia z modelowania (liczone do części ćwiczeniowej)
26.05 - sprawdzian nr 3 - całość materiału (w tym funkcje i wyzwalacze)
2.06 lista ćwiczeniowa (m.in. współbieżność, zapewnianie trwałości)
9.06 konsultacje - projekt
23.06 konsultacje - projektAnkieta dotycząca wyboru terminu egzaminu: MS Forms.
-
Wykład: ACID, transakcje, współbieżność, blokowanie 2-fazowe, deadlocki, granularność, pomysły na blokowanie w B+drzewach, phantom problem, poziomy izolacji
- slajdy: 1. Wartości nulle, 2. overview, 3. concurrency control - slajdy pdf
- części 2 i 3 - na podstawie Raghu Ramakrishnan and Johannes E. Gehrke. Database Management Systems, McGraw Hill.
-
Wykład: CC w postgresql, zapewnianie trwałości.
- dokumentacja postgresql. Więcej informacji - dla chętnych:
- A Critique of ANSI SQL Isolation Levels. H. Berenson, P. Bernstein, J. Gray, J. Melton, E. O’Neil, and P. O’Neil. ACM-SIGMOD Conference on Management of Data, June 1995.
- Serializable Snapshot Isolation in PostgreSQL. D. Ports and K. Grittner. VLDB Conference, August 2012.
- Serializable isolation for snapshot databases. ACM Trans. Database Syst. 34(4): 20:1-20:42 (2009) Michael J. Cahill, Uwe Röhm, Alan D. Fekete (dostęp z sieci ii lub VPN, ew. pdf)
- dokumentacja postgresql. Więcej informacji - dla chętnych:
-
Wykład: zapewnianie atomowości i trwałości, Write-Ahead Log (WAL). Haszowanie rozszerzalne i linikowe. slajdy1.06.pdf
-
Wykład - grafowe bazy danych, intro. RDF, Property graphs, SPARQL, Gremlin, Cypher.
Projekt zostanie ogłoszony w czwartek 9.06. Ćwiczenia 3.03, 9.06 i 23.06 nie odbędą się (lub nie odbyły) w normalnym trybie, zamiast tego należy zaliczyć projekt w ramach indywidualnych konsultacji do końca semestru
Prowadzący poinformują swoje grupy w jaki sposób można rezerwować sloty.
-
-
Wykład 22.06 - planuję m.in. Q&A na temat projektu
-
Wybór terminu zaliczenia projektu w grupie PWI Choice
-
-
Egzamin: 29 czerwca, 10:15-12:15, sala 25.
Egzamin poprawkowy odbędzie się 9 września 2022 o godzinie 10.15.
Wyniki egzaminu poprawkowego są już w usoswebie.