SPIS TREŚCI
5.2. Zapytania dotyczące więcej niż jednej relacji..........295
5.2.1. Iloczyn kartezjański i złączenia w języku SQL............295
5.2.2. Atrybuty niejednoznaczne.....................296
5.2.3. Zmienne kratkowe.........................297
5.2.4. Wykonywanie zapytań obejmujących wiele relacji.........299
5.2.5. Suma. przecięcie oraz różnica zapytań.............. 302
5.2.6. Ćwiczenia do podrozdziału 5.2...................304
5.3. Podzapytania............................306
5.3.1. Podzapytania. które umożliwiają obliczenie wartości skalarnych. . . 306
5.3.2. Warunki obejmujące relacje....................308
5.3.3. Wyrażenia dotyczące krotek....................308
5.3.4. Podzapytania skorelowane.....................311
5.3.5. Ćwiczenia do podrozdziału 5.3...................312
5.4. Powtórzenia............................314
5.4.1. eliminowanie powtórzeń......................314
5.4.2. Powtórzenia w sumach, przecięciach oraz różnicach.........315
5.4.3. Ćwiczenia do podrozdziału 5.4...................316
5.5. Agregowanie............................317
5.5.1. Operatory agregowania.......................317
5.5.2. Grupowanie............................318
5.5.3. Klauzula HAVING.........................321
5.5.4. Ćwiczenia do podrozdziału 5.5...................322
5.6. Modyfikacje bazy danych.....................323
5.6.1. Wstawianie.............................323
5.6.2. Usuwanie.............................326
5.6.3. Aktualizacje............................328
5.6.4. Ćwiczenia do podrozdziału 5.6...................329
5.7. Definiowanie schematu relacji w języku $QL..........330
5.7.1. Typy danych............................331
5.7.2. Proste deklaracje tabel.......................332
5.7.3. Usuwanie tabel...........................333
5.7.4. Zmiany schematów relacji.....................333
5.7.5. Wartości domniemane.......................334
5.7.6. Dziedziny.............................335
5.7.7. Indeksy..............................336
5.7.8. Ćwiczenia do podrozdziału 5.7...................339
5.8. Definiowanie perspektyw.....................340
5.8.1. Deklarowanie perspektyw.....................340
5.8.2. Zapytania określane na perspektywach...............341
5.8.3. Przemianowanie atrybutów.....................344
5.8.4. Modyfikowanie perspektyw....................344
5.8.5. Interpretowanie zapytań, które działają na perspektywach......34K
5.8.6. Ćwiczenia do podrozdziału 5.8 . .................351
5.9. Wartości NULL oraz złączenia zewnętrzne...........352
5.9.1. Działania na wartości NULL . 352
5.9.2. Wartość logiczna UNKNOWN...................354
5.9.3. Wyrażanie złączeń w języku -SQL2.......... .... 356
5.9.4. Złączenie naturalne.........................357
5.9.5. Złączenia zewnętrzne............ 358
5.9.6. Ćwiczenia do podrozdziału 5.9...................361
5.10. Rckurcncja w języku SQl......................362
5.10.1. Definiowanie relacji typu IDB w języku SQI.3...........363
5.10.2. Rckurencja liniowa.........................366
5.10.3. Instrukcja WITH i perspektywy...................367
5.10.4. Negacja warstwowa........................368
5.10.5. Wyrażenia wątpliwe w języku SQL3................370
5.10.6. Ćwiczenia do podrozdziału 5.10..................373
5.11. Podsumowanie...........................374
5.12. Literatura do rozdziału 5.....................376
6________________
Więzy i wyzwalacze w języku SQI..................378
6.1. Klucze w języku SQL.......................379
6.1.1. Definiowanie kluczy........................379
6.1.2. Wymuszanie więzów klucza....................381
6-1.3. Ćwiczenia do podrozdziału 6.1............. 382
6.2. Integralność referencyjna i klucze obce.............382
6.2.1. Deklarowanie więzów klucza obcego ..............383
6.2.2. Przestrzeganie zasad więzów integralności referencyjnej.......385
6.2.3. Ćwiczenia do podrozdziału 6.2...................387
6.3. Więzy wartości atrybutów.....................388
6.3.1. Więzy NOT-NUU..........................389
6.3.2. Więzy CUKCK...........................390
6.3.3. Więzy dziedziny..........................392
6.3.4. Ćwiczenia do podrozdziału 6.3...................393
6.4. Więzy globalne...........................394
6.4.1. Kratkowe więzy CHECK......................394
6.4.2. Ascrcjc...............................395
6.4.3. Ćwiczenia do podrozdziału 6.4...................399
6.5. Modyfikowanie więzów......................401
6.5.1. Nadawanie nazw więzom......................401
6.5.2. Modyfikowanie więzów określonych dla tabel...........402
6.5.3. Zmiany więzów dziedziny.....................404
6.5.4. Modyfikowanie asercji.......................404
6.5.5. Ćwiczenia do podrozdziału 6.5...................405
6.6. Wyzwalacze w języku $QL3....................405
6.6.1. Wyzwalacze a więzy....................... 406
6.6.2. Wyzwalacze w języku SQL3....................407