E-book details

Praktyczny kurs SQL

Praktyczny kurs SQL

Danuta Mendrala, Marcin Szeliga

Ebook
Wykorzystaj pełnię możliwości baz danych
  • Na czym polega model relacyjny?
  • W jaki sposób pobierać dane z bazy?
  • Jak projektować bazy danych i tabele?

Systemy zarządzania bazami danych to aplikacje, które spotkać można praktycznie w każdej firmie.

Na rynku dostępnych jest wiele takich narzędzi, różniących się od siebie wydajnością, wymaganiami sprzętowymi, potencjalnymi zastosowaniami i - przede wszystkim -- ceną. Użytkownicy mogą wybierać zarówno wśród rozwiązań komercyjnych, jak i nieustępujących im rozwiązań bezpłatnych. Cechą łączącą wszystkie systemy zarządzania bazami danych jest język, na którym opiera się praca z nimi - SQL. To ustandaryzowany zbiór poleceń pozwalających na niemal dowolne manipulacje danymi zgromadzonymi w bazach, tworzenie nowych baz oraz administrowanie serwerami baz danych. Bez jego znajomości wykorzystanie pełni możliwości bazy danych jest praktycznie niemożliwe.

"Praktyczny kurs SQL" to książka, dzięki której poznasz ten język. Czytając ją, dowiesz się, czym jest relacyjność w bazach danych, jak skonstruowane są takie bazy i czym są postaci normalne. Nauczysz się pobierać dane w oparciu o różne kryteria, przetwarzać uzyskane wyniki i wyświetlać je na ekranie w odpowiedni sposób. Poznasz funkcje pozwalające na modyfikację istniejących i dodawanie nowych danych, zastosujesz zapytania złożone i podzapytania oraz wykorzystasz mechanizmy transakcji. Przeczytasz także o projektowaniu baz danych oraz definiowaniu i nadawaniu uprawnień do korzystania z nich.

  • Modele baz danych
  • Postaci normalne w modelu relacyjnym
  • Historia języka SQL
  • Pobieranie danych za pomocą instrukcji SELECT
  • Dobór kryteriów wybierania
  • Przetwarzanie wyników zapytań
  • Zapytania złożone i podzapytania
  • Transakcje
  • Modyfikowanie i dodawanie danych
  • Projektowanie baz danych
  • Uprawnienia
Uzupełnieniem do książki jest udostępniona tutaj baza danych.

Poznaj w praktyce język będący podstawą wszystkich nowoczesnych systemów zarządzania bazami danych.

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 (25)
  • 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 (28)
    • Normalizacja (29)
  • Podsumowanie (30)
  • 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 (36)
    • 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 (53)
    • 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 (64)
  • 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)
  • Wydajne wyszukiwanie danych (80)
    • W jaki sposób serwery bazodanowe odczytują dane? (80)
    • W jakiej kolejności serwery bazodanowe wykonują poszczególne klauzule zapytań? (83)
    • Argumenty SARG (84)
  • Podsumowanie (86)
  • 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 (95)
    • Złączenie lewostronne (96)
    • Złączenie prawostronne (97)
    • Złączenie obustronne (97)
  • Złączenie krzyżowe (iloczyn kartezjański) (98)
  • Złączenia wielokrotne (99)
    • Określanie kolejności złączeń (102)
  • Złączenie tabeli z nią samą (103)
    • Eliminacja duplikatów (105)
    • Klucze obce w obrębie jednej tabeli (106)
  • Łączenie wyników zapytań (107)
    • Suma (107)
    • Część wspólna (110)
    • Różnica (110)
  • Łączenie wierszy i wyników funkcji tabelarycznych (111)
    • Operator APPLY (112)
  • Podsumowanie (114)
  • Zadania (114)

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 (121)
    • 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 (131)
  • Niestandardowa klauzula OVER (132)
    • Partycje (134)
    • Funkcje rankingu (135)
  • Niestandardowe operatory PIVOT i UNPIVOT (137)
    • PIVOT (137)
    • UNPIVOT (139)
  • Klauzula HAVING (140)
  • Podsumowanie (142)
  • Zadania (143)

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 (157)
    • Tabele pochodne (157)
    • CTE (160)
    • Wyznaczanie trendów (165)
  • Operatory (169)
    • Operator EXISTS (170)
    • Operator ANY lub SOME (173)
    • Operator ALL (176)
  • Podsumowanie (178)
  • Zadania (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 (185)
    • Konstruktor wierszy (186)
    • Wstawianie wyników zapytań (186)
  • Usuwanie danych (188)
    • Instrukcja DELETE (189)
    • Instrukcja TRUNCATE TABLE (191)
  • Aktualizowanie danych (191)
    • Jednoczesne aktualizowanie wielu kolumn (192)
    • Wyrażenia (192)
    • Aktualizowanie danych wybranych na podstawie danych z innych tabel (193)
    • Aktualizowanie danych za pomocą wyrażeń odwołujących się do innych tabel (193)
  • Instrukcja MERGE (194)
  • Podsumowanie (196)
  • Zadania (196)

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

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

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

Rozdział 10. Bazy danych i tabele (217)

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

Rozdział 11. Widoki i indeksy (233)

  • Widoki (233)
    • Tworzenie i usuwanie widoków (234)
    • Modyfikowanie widoków (236)
    • Korzystanie z widoków (236)
    • Zalety widoków (241)
  • Indeksy (241)
    • Tworzenie, modyfikowanie i usuwanie indeksów (243)
    • Porządkowanie indeksów (245)
  • Podsumowanie (246)
  • Zadania (247)

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

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

  • Konta użytkowników (251)
    • Zakładanie i usuwanie kont użytkowników (252)
  • Role (253)
    • Tworzenie i usuwanie ról (253)
    • Przypisywanie ról do użytkowników (254)
    • Specjalna rola Public (254)
  • Uprawnienia (254)
    • Nadawanie i odbieranie uprawnień (255)
    • Dziedziczenie uprawnień (256)
    • Przekazywanie uprawnień (258)
    • Zasada minimalnych uprawnień (259)
  • Podsumowanie (259)
  • Zadania (260)

Dodatki (261)

Dodatek A Rozwiązania zadań (263)

Skorowidz (295)

  • Title: Praktyczny kurs SQL
  • Author: Danuta Mendrala, Marcin Szeliga
  • ISBN: 978-83-246-5458-1, 9788324654581
  • Date of issue: 2012-06-13
  • Format: Ebook
  • Item ID: pksql
  • Publisher: Helion