Wprowadzenie do systemów baz danych - Helion
Tytuł oryginału: Fundamentals of Database Systems, 4th Edition
Tłumaczenie: Bartłomiej Garbacz, Bartłomiej Moczulski, Mikołaj Szczepaniak
ISBN: 83-7361-716-7
stron: 1056, Format: B5, okładka: twarda
Data wydania: 2005-07-05
Księgarnia: Helion
Cena książki: 99,00 zł
Bazy danych to podstawa większości złożonych systemów informatycznych. W oparciu o dane czerpane z tabel w bazie działają portale i sklepy internetowe, aplikacje biznesowe i informacyjne, a nawet multimedialne witryny, coraz częściej spotykane w urzędach, muzeach i innych budynkach użyteczności publicznej. Na rynku dostępnych jest wiele systemów zarządzania bazami danych, oferowanych przez różnych producentów i na różnych zasadach licencjonowania. Pomimo istotnych różnic, wszystkie opierają się na podobnych założeniach, a projektowanie wydajnych baz danych odbywa się w niemal identyczny sposób, niezależnie od docelowego systemu zarządzania nimi. Opanowanie wiadomości leżących u podstaw projektowania i wykorzystywania baz danych jest więc niezbędne do stworzenia efektywnego i bezpiecznego zaplecza bazodanowego dla systemu informatycznego.
Książka "Wprowadzenie do systemów baz danych" to szczegółowe omówienie wszystkich aspektów projektowania i stosowania baz danych. Szczególny nacisk położono w niej na podstawy modelowania danych i definiowania tabel. Opisano języki i mechanizmy udostępniane przez systemy zarządzania bazami danych oraz techniki implementacji samych systemów. Książka może pełnić rolę podręcznika pomocnego przy poznawaniu zagadnień związanych z bazami danych lub źródła informacji dla projektantów i administratorów systemów bazodanowych.
- Rozwiązania oparte na bazach danych
- Użytkownicy baz danych
- Architektury systemów zarządzania bazami danych
- Modelowanie danych oparte na związkach encji
- Zastosowanie języka UML w modelowaniu danych
- Relacyjny model danych
- Język SQL-99
- Normalizacja danych
- Składowanie danych na dysku
- Indeksy i klucze
- Algorytmy przetwarzania zapytań
- Mechanizmy transakcyjne
- Obiektowe bazy danych
- Bezpieczeństwo danych
- Język XML w bazach danych
- Technologie eksploracji danych
- Hurtownie danych, systemy GIS i bazy danych dla urządzeń mobilnych
Książka stanowi źródło wiedzy dla projektantów baz danych
i oprogramowania bazodanowego.
Osoby które kupowały "Wprowadzenie do systemów baz danych", wybierały także:
- Windows Media Center. Domowe centrum rozrywki 66,67 zł, (8,00 zł -88%)
- Przywództwo w świecie VUCA. Jak być skutecznym liderem w niepewnym środowisku 58,64 zł, (12,90 zł -78%)
- Mapa Agile & Scrum. Jak si 57,69 zł, (15,00 zł -74%)
- Sztuka podst 53,46 zł, (13,90 zł -74%)
- Lean dla bystrzaków. Wydanie II 49,62 zł, (12,90 zł -74%)
Spis treści
Wprowadzenie do systemów baz danych -- spis treści
Przedmowa (13)
Część I Wprowadzenie i modelowanie koncepcyjne (19)
1. Bazy danych i ich użytkownicy (21)
- 1.1. Wprowadzenie (22)
- 1.2. Przykład (23)
- 1.3. Właściwości rozwiązań opartych na bazach danych (26)
- 1.4. Aktorzy na scenie (31)
- 1.5. Pracownicy poza sceną (33)
- 1.6. Zalety stosowania rozwiązań opartych na systemach zarządzania bazami danych (34)
- 1.7. Krótka historia praktycznych zastosowań baz danych (40)
- 1.8. Kiedy nie należy używać systemów zarządzania bazami danych (43)
- 1.9. Podsumowanie (44)
2. Architektura systemów baz danych i związane z nimi pojęcia (47)
- 2.1. Modele danych, schematy i egzemplarze (48)
- 2.2. Trójwarstwowa architektura i niezależność danych (51)
- 2.3. Języki i interfejsy baz danych (54)
- 2.4. Środowisko systemu bazy danych (57)
- 2.5. Architektury systemów zarządzania bazami danych scentralizowane i typu klient-serwer (61)
- 2.6. Klasyfikacja systemów zarządzania bazami danych (66)
- 2.7. Podsumowanie (68)
3. Modelowanie danych zgodnie z modelem związków encji (71)
- 3.1. Stosowanie wysokopoziomowych, koncepcyjnych modelów danych podczas projektowania bazy danych (72)
- 3.2. Przykładowa aplikacja bazy danych (74)
- 3.3. Typy encji, zbiory encji, atrybuty i klucze (75)
- 3.4. Typy związków, zbiory związków, role i ograniczenia strukturalne (82)
- 3.5. Słabe typy encji (89)
- 3.6. Udoskonalanie projektu ER dla bazy danych FIRMA (90)
- 3.7. Diagramy ER, konwencje nazewnictwa oraz zagadnienia związane z projektowaniem (91)
- 3.8. Notacja dla diagramów klas UML (95)
- 3.9. Podsumowanie (97)
4. Rozszerzony model związków encji oraz modelowanie UML (105)
- 4.1. Podklasy, nadklasy i dziedziczenie (106)
- 4.2. Specjalizacja i generalizacja (108)
- 4.3. Ograniczenia i właściwości związków specjalizacji i generalizacji (111)
- 4.4. Modelowanie typów UNII w oparciu o kategorie (118)
- 4.5. Przykład schematu EER dla bazy danych UNIWERSYTET oraz formalne definicje dla modelu EER (120)
- 4.6. Reprezentowanie specjalizacji-generalizacji oraz dziedziczenia na diagramach klas metodologii UML (124)
- 4.7. Typy związków stopnia wyższego niż drugi (125)
- 4.8. Abstrakcja danych, reprezentacja wiedzy oraz zagadnienia związane z ontologią (129)
- 4.9. Podsumowanie (135)
Część II Model relacyjny: elementy składowe, ograniczenia, języki, projekty i programowanie (143)
5. Relacyjny model danych i ograniczenia relacyjnych baz danych (145)
- 5.1. Podstawowe pojęcia relacyjnego modelu danych (146)
- 5.2. Ograniczenia modelu relacyjnego i schematy relacyjnych baz danych (152)
- 5.3. Operacje aktualizacji i obsługa naruszeń więzów integralności (160)
- 5.4. Podsumowanie (163)
6. Algebra relacyjna i rachunek relacji (169)
- 6.1. Relacyjne operacje unarne: selekcja i projekcja (170)
- 6.2. Operacje algebry relacyjnej pochodzące z teorii zbiorów (175)
- 6.3. Binarne operacje na relacjach: złączenie i dzielenie (179)
- 6.4. Dodatkowe operacje relacyjne (186)
- 6.5. Przykłady zapytań w algebrze relacyjnej (192)
- 6.6. Relacyjny rachunek krotek (194)
- 6.7. Relacyjny rachunek dziedzin (203)
- 6.8. Podsumowanie (206)
7. Projektowanie relacyjnych baz danych przez odwzorowywanie modelu ER i EER w model relacyjny (213)
- 7.1. Projektowanie relacyjnych baz danych w oparciu o odwzorowywanie modelu ER w model relacyjny (213)
- 7.2. Odwzorowania konstrukcji modelu EER w relacje (221)
- 7.3. Podsumowanie (225)
8. SQL-99: Definicja schematu, podstawowe ograniczenia oraz zapytania (229)
- 8.1. Definicje danych i typy danych języka SQL (231)
- 8.2. Określanie podstawowych ograniczeń w języku SQL (236)
- 8.3. Dostępne w języku SQL polecenia zmiany schematu (240)
- 8.4. Podstawowe zapytania języka SQL (242)
- 8.5. Bardziej skomplikowane zapytania języka SQL (253)
- 8.6. Dostępne w języku SQL polecenia INSERT, DELETE i UPDATE (270)
- 8.7. Dodatkowe własności języka SQL (273)
- 8.8. Podsumowanie (274)
9. Więcej o języku SQL: asercje, perspektywy i techniki programowania (279)
- 9.1. Definiowanie ogólnych ograniczeń w postaci asercji (280)
- 9.2. Perspektywy (tabele wirtualne) w języku SQL (281)
- 9.3. Programowanie baz danych: najważniejsze zagadnienia i stosowane techniki (286)
- 9.4. Osadzony język SQL, dynamiczny język SQL oraz język SQLJ (289)
- 9.5. Programowanie baz danych z wywołaniami funkcji: SQL/CLI oraz JDBC (301)
- 9.6. Procedury składowane w bazie danych i technika SQL/PSM (311)
- 9.7. Podsumowanie (314)
Część III Teoria i metodologia projektowania baz danych (317)
10. Zależności funkcyjne i normalizacja w relacyjnych bazach danych (319)
- 10.1. Nieformalne wskazówki dotyczące projektowania schematów relacji (321)
- 10.2. Zależności funkcyjne (329)
- 10.3. Postaci normalne oparte na kluczach głównych (337)
- 10.4. Definicje ogólne drugiej i trzeciej postaci normalnej (345)
- 10.5. Postać normalna Boyce'a-Codda (349)
- 10.6. Podsumowanie (351)
11. Algorytmy projektowania relacyjnych baz danych i dodatkowe zależności (357)
- 11.1. Właściwości dekompozycji relacyjnych (358)
- 11.2. Algorytmy projektowania schematów relacyjnych baz danych (364)
- 11.3. Zależności wielowartościowe i czwarta postać normalna (370)
- 11.4. Zależności złączeniowe i piąta postać normalna (376)
- 11.5. Zależności zawierania (378)
- 11.6. Inne zależności i postaci normalne (379)
- 11.7. Podsumowanie (381)
12. Praktyczna metodologia projektowania baz danych i użycie diagramów UML (385)
- 12.1. Rola systemów informacyjnych w przedsiębiorstwach (386)
- 12.2. Projekt bazy danych i proces jej implementacji (390)
- 12.3. Użycie diagramów języka UML jako środka wspomagającego tworzenie specyfikacji... (408)
- 12.4. Rational Rose - narzędzie projektowe oparte na języku UML (417)
- 12.5. Narzędzia zautomatyzowanego projektowania baz danych (421)
- 12.6. Podsumowanie (425)
Część IV Przechowywanie danych, indeksowanie, przetwarzanie zapytań oraz projektowanie fizyczne (429)
13. Składowanie danych na dysku, podstawowe struktury plikowe i funkcje mieszające (431)
- 13.1. Wprowadzenie (432)
- 13.2. Drugorzędne urządzenia pamięciowe (435)
- 13.3. Buforowanie bloków (441)
- 13.4. Rozmieszczanie rekordów plików na dysku (442)
- 13.5. Operacje wykonywane na plikach (446)
- 13.6. Pliki nieuporządkowanych rekordów (pliki stertowe) (449)
- 13.7. Pliki uporządkowanych rekordów (pliki posortowane) (450)
- 13.8. Techniki mieszania (453)
- 13.9. Inne podstawowe metody organizacji plików (461)
- 13.10. Zapewnianie równoległego dostępu do dysku przy użyciu architektury RAID (462)
- 13.11. Sieci obszarów składowania danych (467)
- 13.12. Podsumowanie (468)
14. Struktury indeksowe dla plików (475)
- 14.1. Rodzaje jednopoziomowych indeksów uporządkowanych (476)
- 14.2. Indeksy wielopoziomowe (485)
- 14.3. Dynamiczne indeksy wielopoziomowe z użyciem B-drzew i B+-drzew (488)
- 14.4. Indeksy na wielu kluczach (501)
- 14.5. Inne rodzaje indeksów (505)
- 14.6. Podsumowanie (506)
15. Algorytmy przetwarzania i optymalizacji zapytań (513)
- 15.1. Translacja zapytań języka SQL do postaci wyrażeń algebry relacji (515)
- 15.2. Algorytmy sortowania zewnętrznego (516)
- 15.3. Algorytmy operacji wybierania i złączenia (518)
- 15.4. Algorytmy operacji rzutowania i teoriomnogościowych (528)
- 15.5. Implementacja operacji agregujących oraz złączeń zewnętrznych (529)
- 15.6. Łączenie operacji poprzez mechanizm potokowy (531)
- 15.7. Wykorzystanie metod heurystycznych do optymalizacji zapytań (532)
- 15.8. Wykorzystanie oszacowań selektywności i kosztu w optymalizacji zapytań (543)
- 15.9. Przegląd technik optymalizacji zapytań w systemie Oracle (552)
- 15.10. Semantyka optymalizacji zapytań (553)
- 15.11. Podsumowanie (554)
16. Praktyczne projektowanie i strojenie baz danych (557)
- 16.1. Fizyczne projektowanie baz danych w przypadku baz relacyjnych (557)
- 16.2. Przegląd technik strojenia baz danych w systemach relacyjnych (560)
- 16.3. Podsumowanie (567)
Część V Zagadnienia z zakresu przetwarzania transakcji (569)
17. Wprowadzenie do problematyki i teorii przetwarzania transakcji (571)
- 17.1. Wprowadzenie do problematyki przetwarzania transakcji (572)
- 17.2. Pojęcia dotyczące transakcji i systemu (578)
- 17.3. Pożądane właściwości transakcji (581)
- 17.4. Charakteryzowanie harmonogramów na podstawie możliwości odtwarzania (582)
- 17.5. Charakterystyka harmonogramów według ich szeregowalności (586)
- 17.6. Obsługa transakcji w języku SQL (596)
- 17.7. Podsumowanie (598)
18. Techniki sterowania współbieżnego (601)
- 18.1. Techniki blokowania dwufazowego dla celów sterowania współbieżnego (602)
- 18.2. Sterowanie współbieżne w oparciu o uporządkowanie według znaczników czasu (612)
- 18.3. Techniki wielowersyjnego sterowania współbieżnego (614)
- 18.4. Techniki walidacyjnego (optymistycznego) sterowania współbieżnego (617)
- 18.5. Ziarnistość elementów danych i blokowanie z wieloma poziomami ziarnistości (619)
- 18.6. Użycie blokad dla celów sterowania współbieżnego w przypadku indeksów (623)
- 18.7. Inne kwestie związane ze sterowaniem współbieżnym (624)
- 18.8. Podsumowanie (625)
19. Techniki odtwarzania baz danych (629)
- 19.1. Pojęcia związane z odtwarzaniem (630)
- 19.2. Techniki odtwarzania oparte na aktualizacjach odroczonych (636)
- 19.3. Techniki odtwarzania oparte na aktualizacjach natychmiastowych (641)
- 19.4. Stronicowanie z przesłanianiem (642)
- 19.5. Algorytm odtwarzania ARIES (644)
- 19.6. Odtwarzanie w systemach wielu baz danych (647)
- 19.7. Tworzenie kopii bezpieczeństwa bazy danych i odtwarzanie po awariach (648)
- 19.8. Podsumowanie (649)
Część VI Obiektowe i obiektowo-relacyjne bazy danych (655)
20. Idea obiektowych baz danych (657)
- 20.1. Przegląd pojęć zorientowanych obiektowo (658)
- 20.2. Tożsamość i struktura obiektów oraz konstruktory typów (661)
- 20.3. Enkapsulacja operacji, metody i trwałość obiektów (666)
- 20.4. Hierarchia typów i klas oraz dziedziczenie (670)
- 20.5. Obiekty złożone (674)
- 20.6. Inne pojęcia zorientowane obiektowo (676)
- 20.7. Podsumowanie (678)
21. Standardy, języki i projektowanie obiektowych baz danych (681)
- 21.1. Wstęp do modelu obiektowego ODMG (682)
- 21.2. Język definicji obiektów ODL (693)
- 21.3. Obiektowy język zapytań OQL (699)
- 21.4. Przegląd wiązania z językiem C++ (707)
- 21.5. Projektowanie pojęciowe obiektowej bazy danych (708)
- 21.6. Podsumowanie (711)
22. Systemy obiektowo-relacyjne i rozszerzone relacyjne (713)
- 22.1. Przegląd SQL i jego cech obiektowo-relacyjnych (714)
- 22.2. Obecne tendencje i ewolucja w technologiach baz danych (721)
- 22.3. Informix Universal Server (722)
- 22.4. Obiektowo-relacyjne cechy systemu Oracle 8 (732)
- 22.5. Problemy implementacyjne w rozszerzonych systemach typów (735)
- 22.6. Zagnieżdżony model relacyjny (736)
- 22.7. Podsumowanie (739)
Część VII Inne tematy (741)
23. Bezpieczeństwo baz danych i mechanizmy uwierzytelniania (743)
- 23.1. Wprowadzenie do bezpieczeństwa baz danych (743)
- 23.2. Dyspozycyjna kontrola dostępu polegająca na nadawaniu i odbieraniu uprawnień (747)
- 23.3. Realizacja zabezpieczeń wielopoziomowych za pomocą obowiązkowej kontroli dostępu i zabezpieczeń opartych na rolach (752)
- 23.4. Wprowadzenie do bezpieczeństwa statystycznych baz danych (756)
- 23.5. Wprowadzenie do kontroli przepływu (758)
- 23.6. Szyfrowanie i infrastruktura klucza publicznego (759)
- 23.7. Podsumowanie (761)
24. Rozszerzone modele danych stosowane w zaawansowanych aplikacjach (765)
- 24.1. Wyzwalacze i inne pojęcia związane z aktywnymi bazami danych (766)
- 24.2. Koncepcja czasowych baz danych (776)
- 24.3. Przestrzenne i multimedialne bazy danych (787)
- 24.4. Wprowadzenie do dedukcyjnych baz danych (790)
- 24.5. Podsumowanie (803)
25. Rozproszone bazy danych i architektury klient-serwer (809)
- 25.1. Koncepcja rozproszonej bazy danych (810)
- 25.2. Techniki fragmentacji, replikacji i alokacji danych w projekcie rozproszonej bazy danych (815)
- 25.3. Rodzaje rozproszonych systemów baz danych (820)
- 25.4. Przetwarzanie zapytań w rozproszonych bazach danych (823)
- 25.5. Techniki sterowania współbieżnego i odzyskiwania danych w rozproszonych bazach danych (828)
- 24.6. Przegląd trójwarstwowej architektury klient-serwer (831)
- 25.7. Rozproszone bazy danych w Oracle (833)
- 25.8. Podsumowanie (836)
Część VIII Nowe technologie (841)
26. XML i internetowe bazy danych (843)
- 26.1. Dane strukturalne, półstrukturalne i niestrukturalne (843)
- 26.2. Hierarchiczny (drzewiasty) model danych w dokumentach XML (846)
- 26.3. Dokumenty XML, DTD i schematy (848)
- 26.4. Dokumenty XML a bazy danych (855)
- 26.5. Zapytania XML (862)
- 26.6. Podsumowanie (864)
27. Elementy drążenia danych (867)
- 27.1. Przegląd technologii drążenia danych (868)
- 27.2. Reguły asocjacyjne (872)
- 27.3. Klasyfikacja (884)
- 27.4. Grupowanie (888)
- 27.5. Strategie rozwiązywania pozostałych problemów związanych z drążeniem danych (891)
- 27.6. Zastosowania technik drążenia danych (894)
- 27.7. Komercyjne narzędzia drążenia danych (894)
- 27.8. Podsumowanie (897)
28. Przegląd hurtowni danych i rozwiązań OLAP (901)
- 28.1. Wprowadzenie, definicje i terminologia (901)
- 28.2. Właściwości hurtowni danych (903)
- 28.3. Modelowanie danych dla hurtowni danych (904)
- 28.4. Budowanie hurtowni danych (910)
- 28.5. Typowa funkcjonalność hurtowni danych (913)
- 28.6. Hurtownie danych kontra perspektywy (914)
- 28.7. Problemy i nierozwiązane zagadnienia związane z hurtowniami danych (914)
- 28.8. Podsumowanie (916)
29. Przegląd najnowszych technologii i zastosowań baz danych (919)
- 29.1. Mobilne bazy danych (920)
- 29.2. Multimedialne bazy danych (928)
- 29.3. Systemy informacji geograficznej (936)
- 29.4. Zarządzanie danymi kodu genetycznego (943)
Dodatki (953)
A Alternatywne notacje modeli związków encji (955)
B Parametry dysków (959)
C Omówienie języka QBE (963)
Bibliografia (971)
Skorowidz (1007)