Szczegóły ebooka

Praktyczny kurs SQL. Wydanie II

Praktyczny kurs SQL. Wydanie II

Danuta Mendrala, Marcin Szeliga

Ebook

Poznaj modele baz danych i standardy języka SQL.

  • Naucz się korzystać z instrukcji pobierania i modyfikacji danych.
  • Dowiedz się, jak tworzyć i zmieniać strukturę bazy oraz zarządzać jej użytkownikami.

Opanuj język SQL w praktyce!

Bazy danych są dosłownie wszędzie. Trudno sobie dziś bez nich wyobrazić funkcjonowanie nowoczesnej biblioteki, choćby najmniejszego sklepu internetowego, biura rachunkowego czy nawet niewielkiego serwisu WWW. Użytkownicy korzystający z baz danych często nie mają nawet pojęcia, w jaki sposób odbywa się dostęp do informacji i jaki mechanizm jest za to odpowiedzialny. Na ignorancję tę nie mogą sobie jednak pozwolić osoby odpowiedzialne za tworzenie, zarządzanie i konserwowanie baz danych. Powinny one znać przynajmniej jeden z popularnych serwerów bazodanowych i sprawnie posługiwać się językiem SQL stanowiącym standardowe narzędzie komunikacji z relacyjnymi bazami.

Jeśli pragniesz dołączyć do ekskluzywnego grona administratorów baz danych lub chcesz zostać programistą aplikacji bazodanowych, lecz przeszkadza Ci brak znajomości SQL-a, sięgnij po książkę "Praktyczny kurs SQL. Wydanie II". W prosty i przystępny sposób prezentuje ona podstawowe pojęcia i zasady rządzące relacyjnym modelem baz danych, a także najważniejsze cechy i konstrukcje języka SQL oraz metody ich wykorzystywania. Lektura książki umożliwi Ci poznanie instrukcji odpowiedzialnych za odczytywanie danych z bazy i ich zapisywanie oraz modyfikację, jak również tworzenie baz i zmianę ich struktury. Poznasz też sposoby tworzenia ról i kont użytkowników oraz zarządzania ich uprawnieniami. Twoją wiedzę ugruntują praktyczne zadania kończące każdy rozdział, a zamieszczone na końcu książki rozwiązania pomogą skorygować ewentualne błędy.

  • Teoretyczne podstawy funkcjonowania baz danych
  • Historia języka SQL i obowiązujące standardy zapytań
  • Odczytywanie, przeszukiwanie, łączenie i grupowanie danych
  • Korzystanie z podzapytań
  • Zapisywanie, modyfikacja i usuwanie danych
  • Transakcje i równoległy dostęp do danych
  • Tworzenie baz danych i modyfikacja ich struktury
  • Korzystanie z widoków i indeksów
  • Zarządzanie użytkownikami, rolami i prawami dostępu do baz danych

Dowiedz się, jak tworzyć relacyjną bazę danych i zarządzać nią za pomocą języka SQL.

Wstęp (9)

Część I: Trochę teorii, czyli modele i standardy (17)

Rozdział 1. Relacyjny model baz danych (19)

  • Tabele jako zbiory danych (19)
    • Kolumny mają niepowtarzalne nazwy i zawierają określone typy danych (20)
    • Wiersze powinny być unikalne (21)
    • Kolejność kolumn jest bez znaczenia (21)
    • Kolejność wierszy jest bez znaczenia (22)
  • Bazy danych (22)
  • Trzy modele baz danych: relacyjny, obiektowy i jednorodny (23)
    • Model jednorodny (23)
    • Model relacyjny (24)
    • Model obiektowy (26)
  • Założenia relacyjnego modelu baz danych (27)
    • Postulaty Codda dotyczące struktury danych (27)
    • Postulaty Codda dotyczące przetwarzania danych (28)
    • Postulaty Codda dotyczące integralności danych (29)
    • Normalizacja (29)
  • Podsumowanie (31)
  • Zadania (31)

Rozdział 2. Standardy języka SQL (33)

  • Strukturalny język zapytań (33)
    • Przetwarzanie zbiorów a przetwarzanie pojedynczych danych (34)
    • Język deklaratywny a język proceduralny (35)
    • Język interpretowany a język kompilowany (35)
    • Składnia języka SQL (37)
    • Dialekty języka SQL (39)
  • Standardy ANSI (40)
    • Historia (40)
    • SQL3 (41)
  • Podsumowanie (44)
  • Zadania (44)

Część II: Pobieranie danych, czyli instrukcja SELECT (47)

Rozdział 3. Odczytywanie danych z wybranej tabeli (49)

  • Klauzula FROM (49)
    • W pełni kwalifikowane nazwy obiektów (50)
  • Wybieranie kolumn (51)
  • Eliminowanie duplikatów (52)
  • Wyrażenia (54)
    • Operatory arytmetyczne (54)
    • Łączenie danych tekstowych (55)
    • Funkcje systemowe (55)
  • Formatowanie wyników (58)
    • Aliasy (59)
    • Stałe (literały) (60)
  • Sortowanie wyników (60)
    • Sortowanie danych tekstowych (63)
  • Podsumowanie (65)
  • Zadania (65)

Rozdział 4. Wybieranie wierszy (67)

  • Logika trójwartościowa (67)
    • Wartość NULL (68)
    • Operatory logiczne (68)
  • Klauzula WHERE (70)
    • Standardowe operatory porównania (71)
    • Operatory SQL (72)
    • Złożone warunki logiczne (75)
  • Klauzula TOP (78)
  • Stronicowanie wierszy (79)
  • Wydajne wyszukiwanie danych (80)
    • W jaki sposób serwery bazodanowe odczytują dane? (81)
    • W jakiej kolejności serwery bazodanowe wykonują poszczególne klauzule zapytań? (84)
    • Argumenty SARG (85)
  • Podsumowanie (87)
  • Zadania (87)

Rozdział 5. Łączenie tabel i wyników zapytań (89)

  • Złączenia naturalne i nienaturalne (89)
    • Klucze obce (90)
    • Aliasy (93)
  • Złączenia równościowe i nierównościowe (94)
  • Złączenia zewnętrzne (96)
    • Złączenie lewostronne (97)
    • Złączenie prawostronne (97)
    • Złączenie obustronne (98)
  • Złączenie krzyżowe (iloczyn kartezjański) (98)
  • Złączenia wielokrotne (100)
    • Określanie kolejności złączeń (103)
  • Złączenie tabeli z nią samą (104)
    • Eliminacja duplikatów (105)
    • Klucze obce w obrębie jednej tabeli (106)
  • Łączenie wyników zapytań (107)
    • Suma (108)
    • Część wspólna (111)
    • Różnica (111)
  • Łączenie wierszy i wyników funkcji tabelarycznych (112)
    • Operator APPLY (113)
  • Podsumowanie (115)
  • Zadania (115)

Rozdział 6. Grupowanie wierszy (117)

  • Funkcje grupujące (117)
    • Funkcja COUNT() (118)
    • Funkcje SUM() i AVG() (119)
    • Funkcje MIN() i MAX() (120)
    • Inne funkcje grupujące (120)
    • Wyrażenia (121)
  • Klauzula GROUP BY (122)
    • Kolejność wykonywania klauzuli GROUP BY (125)
    • Operatory CUBE i ROLLUP (126)
    • Operator GROUPING SETS (129)
  • Wydajne grupowanie danych (132)
  • Niestandardowa klauzula OVER (132)
    • Partycje (134)
    • Funkcje rankingu (136)
  • Niestandardowe operatory PIVOT i UNPIVOT (137)
    • PIVOT (137)
    • UNPIVOT (140)
  • Klauzula HAVING (141)
  • Podsumowanie (143)
  • Zadania (144)
    • Zadanie dodatkowe, do wykonania w bazie AdventureWorks (144)

Rozdział 7. Podzapytania (145)

  • Czym są podzapytania? (145)
  • Podzapytania jako zmienne (146)
    • Podzapytania niepowiązane (146)
    • Podzapytania powiązane (151)
  • Podzapytania jako źródła danych (156)
    • Tabele pochodne (157)
    • CTE (159)
    • Wyznaczanie trendów (165)
  • Operatory (169)
    • Operator EXISTS (170)
    • Operator ANY lub SOME (173)
    • Operator ALL (177)
  • Podsumowanie (178)
  • Zadania (179)
    • Zadanie dodatkowe, do wykonania w bazie AdventureWorks (179)

Część III: Modyfikowanie danych, czyli instrukcje INSERT, UPDATE, DELETE oraz MERGE (181)

Rozdział 8. Modyfikowanie danych (183)

  • Wstawianie danych (183)
    • Klucze podstawowe (184)
    • Wartości domyślne (185)
    • Wartość NULL (186)
    • Konstruktor wierszy (187)
    • Wstawianie wyników zapytań (187)
  • Usuwanie danych (189)
    • Instrukcja DELETE (189)
    • Instrukcja TRUNCATE TABLE (191)
  • Aktualizowanie danych (191)
    • Jednoczesne aktualizowanie wielu kolumn (192)
    • Wyrażenia (193)
    • Aktualizowanie danych wybranych na podstawie danych z innych tabel (193)
    • Aktualizowanie danych za pomocą wyrażeń odwołujących się do innych tabel (194)
  • Instrukcja MERGE (194)
  • Podsumowanie (196)
  • Zadania (196)
    • Zadanie dodatkowe, do wykonania w bazie AdventureWorks (197)

Rozdział 9. Transakcje i współbieżność (199)

  • Właściwości transakcji (199)
  • Transakcyjne przetwarzanie danych (201)
    • Tryb jawnego zatwierdzania transakcji (202)
    • Rozpoczynanie transakcji (203)
    • Wycofywanie transakcji (204)
    • Zatwierdzanie transakcji (205)
    • Zagnieżdżanie transakcji (205)
    • Punkty przywracania (206)
  • Współbieżność (207)
    • Blokady (207)
    • Zakleszczenia (208)
    • Poziomy izolowania transakcji (209)
    • Model optymistyczny (213)
    • Model pesymistyczny (214)
  • Podsumowanie (215)
  • Zadania (215)

Część IV: Tworzenie baz danych, czyli instrukcje CREATE, ALTER i DROP (217)

Rozdział 10. Bazy danych i tabele (219)

  • Tworzenie i usuwanie baz danych (219)
  • Tworzenie i usuwanie tabel (222)
    • Schematy (223)
  • Zmiana struktury tabeli (223)
  • Ograniczenia (224)
    • NOT NULL (224)
    • Klucz podstawowy (225)
    • Niepowtarzalność (227)
    • Wartość domyślna (227)
    • Warunek logiczny (228)
    • Klucz obcy (228)
    • Ograniczenia a wydajność instrukcji modyfikujących i odczytujących dane (231)
  • Podsumowanie (232)
  • Zadania (233)

Rozdział 11. Widoki i indeksy (235)

  • Widoki (235)
    • Tworzenie i usuwanie widoków (235)
    • Modyfikowanie widoków (238)
    • Korzystanie z widoków (238)
    • Zalety widoków (243)
  • Indeksy (243)
    • Tworzenie, modyfikowanie i usuwanie indeksów (245)
    • Porządkowanie indeksów (247)
  • Podsumowanie (248)
  • Zadania (249)

Część V: Uprawnienia użytkowników, czyli instrukcje GRANT i REVOKE (251)

Rozdział 12. Nadawanie i odbieranie uprawnień (253)

  • Konta użytkowników (253)
    • Zakładanie i usuwanie kont użytkowników (254)
  • Role (255)
    • Tworzenie i usuwanie ról (255)
    • Przypisywanie ról do użytkowników (255)
    • Specjalna rola Public (256)
  • Uprawnienia (256)
    • Nadawanie i odbieranie uprawnień (257)
    • Dziedziczenie uprawnień (258)
    • Przekazywanie uprawnień (260)
    • Zasada minimalnych uprawnień (261)
  • Podsumowanie (261)
  • Zadania (262)
    • Zadanie dodatkowe, do wykonania w bazie AdventureWorks (262)

Dodatek A: Rozwiązania zadań (263)

Skorowidz (297)

  • Tytuł: Praktyczny kurs SQL. Wydanie II
  • Autor: Danuta Mendrala, Marcin Szeliga
  • ISBN: 978-83-246-3726-3, 9788324637263
  • Data wydania: 2011-09-21
  • Format: Ebook
  • Identyfikator pozycji: pksql2
  • Wydawca: Helion