6.4.5. Postać normalna Boyce-Codda (BCNF)........................ 53
6.4.6. Dekompozycja do BCNF................................ 53
6.4.7. Zachowanie zależności.................................. 54
6.5. Zależności wielowartościowe................................... 54
6.5.1. Czwarta postać normalna (4NF)............................ 54
6.6. Zadania.............................................. 56
7. Transakcje i współbieżność.................................... 58
7.1. Współbieżność.......................................... 58
7.2. Transakcje............................................ 58
7.2.1. Semantyka bazy danych................................. 58
7.2.2. Transakcja........................................ 59
7.2.3. Wycofanie i zatwierdzenie transakcji ......................... 59
7.3. Transakcje w SQL........................................ 60
7.4. Poziomy izolacji transakcji................................... 61
7.4.1. Transakcje w SQL.................................... 61
7.5. Blokady w Oracle........................................ 61
8. Programowanie............................................ 63
8.1. Funkcje.............................................. 63
8.2. PL/pgSQL............................................ 64
8.2.1. Bloki........................................... 64
8.3. Wyzwalacze............................................ 65
8.3.1. Wyzwalacze w Postgresie................................ 66
8.4. Programowanie aplikacji..................................... 67
8.4.1. Interfejs dla języka C.................................. 68
8.4.2. Zanurzony (embedded) SQL.............................. 68
8.5. Laboratorium: poprawność bazy danych............................ 69
9. Programowanie w logice...................................... 71
9.1. Wprowadzenie.......................................... 71
9.2. Warszawskie metro........................................ 71
9.2.1. Zapytania ........................................ 71
9.3. Reguły .............................................. 72
9.4. Definiowanie silni ........................................ 73
9.5. Klauzule ............................................. 73
9.6. Zapytania............................................. 73
9.7. Kolorowanie map......................................... 74
9.8. Rozpoznawanie zwierząt..................................... 77
9.8.1. Hipotezy......................................... 77
9.8.2. Reguły identyfikacji................................... 77
9.8.3. Reguły klasyfikacji ................................... 78
9.8.4. Zadawanie pytań .................................... 78
10. Dedukcyjne bazy danych...................................... 80
10.1. Bazy danych z perspektywy logiki............................... 80
10.1.1. (CWA:Closed World Assumption)........................... 80
10.1.2. Domain closure assumption............................... 81
10.2. Dedukcyjne bazy danych.................................... 83
11. Hurtownie danych.......................................... 86
11.1. Hurtownia danych........................................ 86
11.2. OLTP............................................... 86
11.3. OLAP............................................... 86
11.3.1. Problem jakości danych................................. 88
12. Analityczne bazy danych („kostki danych”) ......................... 91
12.1. Raporty macierzowe....................................... 91