
Bazy danych stały się głównym składnikiem systemów informatycznych. W zależności od producenta, przeznaczenia i ceny programy zarządzające bazami danych bardzo się od siebie różnią.Jedynym punktem wspólnym dla wszystkich tych aplikacji jest wbudowana obsługa strukturalnego języka zapytań (ang. Structured Query Language).
SQL służy do tworzenia aplikacji bazodanowych i zarządzania nimi. Używając go, możemy:
- Wyszukiwać dane w bazie danych.
- Operować danymi -- wstawiać je, modyfikować i usuwać.
- Definiować dane -- dodawać nowe tabele, indeksy i perspektywy.
- Sterować danymi -- blokować użytkownikom dostęp do poufnych danych.
- Modyfikować schemat baz danych bez zmieniania istniejących aplikacji -- nowe kolumny i tabele mogą być zawsze dodane bez obawy, że zajdzie konieczność zmiany istniejących programów lub zdefiniowanych z góry ścieżek dostępu.
- Formułować zapytania w trybie interakcyjnym lub osadzać je w standardowych językach programowania, takich jak C lub Pascal.
Książka została przygotowana tak, aby była przydatna zarówno dla uczniów i studentów, którzy chcieliby poznać temat projektowania i programowania baz danych (książka powstała na podstawie prowadzonych przez autora wykładów z teorii relacyjnych baz danych i języka SQL) jak i dla administratorów baz danych (książka zawiera kilkadziesiąt przykładów wykorzystania języka SQL do ułatwienia lub zautomatyzowania codziennych prac związanych z zarządzaniem bazami danych).
Wstęp (9)- Podstawowe informacje o języku SQL (9)
- Organizacja książki (10)
- Konwencje i oznaczenia (11)
Rozdział 1. Wybieranie danych z pojedynczej tabeli (15)
- Tabele jako zbiory danych (15)
- Wybieranie kolumn z tabeli (17)
- Wyrażenia arytmetyczne (19)
- Aliasy (20)
- Literały (21)
- Operator konkatenacji (22)
- Eliminacja duplikatów (23)
- Wartość NULL (24)
- Porządkowanie danych (26)
- Wybieranie wierszy z tabeli (28)
- Operatory logiczne (28)
- Operatory języka SQL (32)
- Hierarchia operatorów (34)
- Złączenie równościowe (36)
- Aliasy (38)
- Złączenie nierównościowe (38)
- Złączenia typu self-join (39)
- Złącznie zewnętrzne (40)
- Operatory teoriomnogościowe (41)
- Operator UNION (42)
- Operator INTERSEC (43)
- Operator MINUS (44)
- Porządkowanie danych (45)
- Funkcje tekstowe (48)
- Funkcje zwracające wartość tekstową (48)
- Funkcje zwracające wartość numeryczną (53)
- Funkcje matematyczne (54)
- Funkcje daty i czasu (57)
- Funkcje konwersji (60)
- Funkcje agregujące (64)
- Funkcja COUNT() (64)
- Funkcja SUM() (65)
- Funkcja AVG() (65)
- Funkcje MIN() i MAX() (66)
- Funkcja STDDEV() (66)
- Funkcja VARIANCE() (67)
- Klauzula GROUP BY (67)
- Klauzula HAVING (69)
- Podzapytania nie powiązane (72)
- Podzapytania powiązane (72)
- Podzapytania zwracające jeden wiersz (73)
- Podzapytania zwracające wiele wierszy (74)
- Podzapytania z wyrażeniem IN (75)
- Podzapytania z wyrażeniem NOT IN (76)
- Podzapytania z wyrażeniem EXIST (76)
- Podzapytania z wyrażeniem NOT EXIST (78)
- Podzapytania z operatorami ALL i ANY (78)
- Zagnieżdżanie podzapytań (80)
- Podzapytania w klauzuli HAVING (80)
- Klauzule SELECT i FROM (83)
- Klauzula WHERE (84)
- Klauzula GROUP BY (84)
- Klauzula HAVING (85)
- Operatory UNION, INTERSEC, MINUS (86)
- Klauzula ORDER BY (87)
- Pełna składnia instrukcji SELECT w języku PL/SQL (88)
Rozdział 7. Projektowanie bazy danych (91)
- Diagramy związków encji (obiektów) (92)
- Wyodrębnianie danych elementarnych (94)
- Zależności funkcyjne (94)
- Grupowanie danych w tabelach (95)
- Normalizacja (96)
- Pierwsza postać normalna 1PN (96)
- Druga postać normalna 2PN (96)
- Trzecia postać normalna 3PN (96)
- Model bazy Firma (97)
- Tworzenie bazy danych (99)
- Tworzenie tabel (99)
- Warunki integralności (101)
- Klauzula DEFAULT (106)
- Tworzenie tabel poprzez zapytanie (106)
- Indeksy (108)
- Dodawanie kolumn (109)
- Zmiana kolumny (110)
- Zmiana rozmiarów kolumny (110)
- Zmiana typu kolumny (111)
- Zmiana nazwy tabeli (112)
- Zarządzanie warunkami integralności (112)
- Dodawanie warunków integralności (113)
- Włączanie i wyłączanie warunków integralności (113)
- Usuwanie warunków integralności (113)
- Zmiana nazwy tabeli (116)
- Tworzenie widoków (119)
- Używanie widoków (121)
- Ograniczenie zakresu modyfikowania danych poprzez widoki (122)
- Usuwanie widoków (123)
- Instrukcja CREATE (125)
- Instrukcja CREATE TABLE (125)
- Instrukcja CREATE VIEW (127)
- Instrukcja ALTER (128)
- Instrukcja ALTER TABLE (128)
- Instrukcja DROP (130)
- Instrukcja DROP TABLE (130)
- Instrukcja DROP VIEW (131)
- Instrukcje RENAME (131)
Rozdział 13. Transakcje (135)
- Co to jest transakcja? (136)
- Przetwarzanie transakcyjne (136)
- Automatyczne zatwierdzanie transakcji (137)
- Rozpoczynanie transakcji (137)
- Zatwierdzanie transakcji (137)
- Wycofywanie transakcji (138)
- Punkty zachowania (138)
- Weryfikacja danych (139)
- Wstawianie wierszy (140)
- Wstawianie wartości null (141)
- Wstawianie wierszy wybranych w zapytaniu (142)
- Eliminacja duplikatów wierszy (143)
- Dane przykładowej bazy Firma (143)
- Modyfikowanie danych w wielu kolumnach (148)
- Modyfikowanie danych na podstawie danych wybranych w zapytaniu (149)
- Modyfikowanie danych wybranych w zapytaniu (151)
- Usuwanie danych wybranych w zapytaniu (154)
- Instrukcja TRUNCATE (155)
- Instrukcja INSERT (157)
- Klauzula INTO (158)
- Instrukcja UPDATE (158)
- Klauzula WHERE (159)
- Modyfikowanie danych w wielu kolumnach (159)
- Modyfikowanie danych na podstawie danych wybranych w zapytaniu (159)
- Modyfikowanie danych wybranych w zapytaniu (160)
- Instrukcja DELETE (160)
- Usuwanie danych wybranych w zapytaniu (161)
Rozdział 18. Model bezpieczeństwa baz danych (165)
- Bezpieczeństwo informacji (165)
- Przywileje (166)
- Zasoby bazy danych (168)
- Monitorowanie bazy danych (169)
- Zarządzanie użytkownikami (171)
- Tworzenie konta użytkownika (171)
- Usuwanie konta użytkownika (172)
- Zmiana hasła użytkownika (173)
- Uprawnienia (173)
- Nadawanie uprawnień systemowych (173)
- Nadawanie uprawnień obiektowych (174)
- Nadawanie uprawnień wszystkim użytkownikom (175)
- Synonimy (175)
- Tworzenie i usuwanie ról (177)
- Odbieranie uprawnień systemowych (178)
- Odbieranie uprawnień obiektowych (178)
- Kolejność wykonywania poleceń GRANT i REVOKE (179)
- Instrukcja GRANT (181)
- Klauzule GRANT, TO (182)
- Klauzula ON (182)
- Klauzula WITH GRANT OPTION (183)
- Instrukcja REVOKE (183)
- Klauzule REVOKE, FROM (183)
- Klauzula ON (184)
- Klauzula CASCADE | RESTRICT (184)
Dodatek A Postulaty Codda (187)
Dodatek B ABC modelu relacyjnych baz danych (189)
- Podstawowe pojęcia (189)
- Zasady dotyczące struktury danych (191)
- Zmienne wskaźnikowe (191)
- Zasady dotyczące przetwarzania danych (192)
- Zasady dotyczące integralności danych (194)