reklama - zainteresowany?

Wprowadzenie do systemów baz danych. Wydanie VII - Helion

Wprowadzenie do systemów baz danych. Wydanie VII
Autor: Ramez Elmasri, Shamkant B. Navathe
Tytuł oryginału: Fundamentals of Database Systems (7th Edition)
Tłumaczenie: Radosław Lesisz, Tomasz Walczak
ISBN: 978-83-283-4695-6
stron: 1227, Format: 164x239, okładka: twarda
Data wydania: 2018-10-01
Księgarnia: Helion

Cena książki: 134,25 zł (poprzednio: 179,00 zł)
Oszczędzasz: 25% (-44,75 zł)

Dodaj do koszyka Wprowadzenie do systemów baz danych. Wydanie VII

Tagi: Analiza danych | Inne | NoSQL | SQL - Programowanie

Mijają lata, a bazy danych wciąż stanowią serce większości systemów informatycznych. Rozwój technologii sprawia jednak, że zaprojektowanie systemu baz danych, jego wdrożenie i administrowanie nim wymaga biegłości w wielu dziedzinach. Niezbędne są solidne podstawy modelowania i projektowania baz danych, umiejętność posłużenia się językami i modelami udostępnianymi przez systemy zarządzania bazami danych, a także znajomość technik implementacji samych systemów. Od profesjonalisty wymaga się także wiedzy o najnowszych technologiach, takich jak NoSQL i oczywiście big data. Ważnym uzupełnieniem tego szerokiego wachlarza jest też znajomość technologii powiązanych z systemami bazodanowymi.

Ta książka jest siódmym, zaktualizowanym wydaniem klasycznego podręcznika do nauki baz danych. Jest to szczegółowa prezentacja najważniejszych aspektów systemów i aplikacji bazodanowych oraz powiązanych technologii. To znakomity podręcznik dla studentów i świetne kompendium dla praktyków. Sporo miejsca poświęcono w nim systemom rozproszonym oraz technologiom opartym na systemie Hadoop i modelu MapReduce. Nie zabrakło opisu takich zagadnień, jak model IR, wyszukiwanie z użyciem słów kluczowych, porównanie baz danych z modelem IR, modele wyszukiwania, ocena wyszukiwania i algorytmy rankingowe. Wykładowcom przyda się szereg ułatwiających pracę dydaktyczną diagramów, prezentacji i rysunków.

W książce między innymi:

  • wprowadzenie do modeli, systemów i języków z obszaru baz danych;
  • model związków encji i programowanie baz danych;
  • bazy relacyjne, obiektowo-relacyjne, obiektowe i XML w bazach danych;
  • algorytmy przetwarzania zapytań i techniki optymalizacji;
  • bezpieczeństwo baz danych.

Baza danych? Stosuj tylko najskuteczniejsze rozwiązania!

Dodaj do koszyka Wprowadzenie do systemów baz danych. Wydanie VII

 

Osoby które kupowały "Wprowadzenie do systemów baz danych. Wydanie VII", wybierały także:

  • NLP. Kurs video. Analiza danych tekstowych w j
  • Web scraping. Kurs video. Zautomatyzowane pozyskiwanie danych z sieci
  • Data Science w Pythonie. Kurs video. Algorytmy uczenia maszynowego
  • Microsoft Excel. Kurs video. Wykresy i wizualizacja danych
  • Data Science w Pythonie. Kurs video. Przetwarzanie i analiza danych

Dodaj do koszyka Wprowadzenie do systemów baz danych. Wydanie VII

Spis treści

Wprowadzenie do systemów baz danych. Wydanie VII -- spis treści

  • Przedmowa
    • Nowości w tym wydaniu
    • Układ i zawartość siódmego wydania
    • Wskazówki dotyczące jak najlepszego wykorzystywania tej książki
    • Podziękowania
  • O autorach
  • I Wprowadzenie do baz danych
  • 1. Bazy danych i ich użytkownicy
    • 1.1. Wprowadzenie
    • 1.2. Przykład
    • 1.3. Właściwości rozwiązań opartych na bazach danych
      • 1.3.1. Samoopisująca natura systemów baz danych
      • 1.3.2. Oddzielenie programów od danych oraz abstrakcja danych
      • 1.3.3. Obsługa wielu perspektyw dla tych samych danych
      • 1.3.4. Współdzielenie danych oraz wielodostępne przetwarzanie transakcji
    • 1.4. Aktorzy na scenie
      • 1.4.1. Administratorzy bazy danych
      • 1.4.2. Projektanci bazy danych
      • 1.4.3. Użytkownicy końcowi
      • 1.4.4. Analitycy systemowi i programiści aplikacji (inżynierowie oprogramowania)
    • 1.5. Pracownicy poza sceną
    • 1.6. Zalety stosowania rozwiązań opartych na systemach zarządzania bazami danych
      • 1.6.1. Kontrola nadmiarowości
      • 1.6.2. Ograniczanie możliwości uzyskania nieautoryzowanego dostępu
      • 1.6.3. Zapewnianie miejsca trwałego przechowywania dla obiektów stosowanych w programach
      • 1.6.4. Zapewnianie struktur przechowywania dla efektywnego przetwarzania zapytań
      • 1.6.5. Zapewnianie możliwości tworzenia kopii bezpieczeństwa i odzyskiwania danych
      • 1.6.6. Zapewnianie interfejsów dla wielu użytkowników
      • 1.6.7. Reprezentowanie skomplikowanych relacji pomiędzy danymi
      • 1.6.8. Wymuszanie więzów integralności
      • 1.6.9. Zezwalanie na wnioskowanie i podejmowanie działań w oparciu o zdefiniowane reguły
      • 1.6.10. Dodatkowe własności wynikające ze stosowania rozwiązań opartych na bazach danych
    • 1.7. Krótka historia praktycznych zastosowań baz danych
      • 1.7.1. Wczesne zastosowania baz danych oparte na systemach hierarchicznych i sieciowych
      • 1.7.2. Zapewnianie elastyczności w rozwiązaniach opartych na relacyjnych bazach danych
      • 1.7.3. Aplikacje obiektowe i konieczność wprowadzenia bardziej skomplikowanych baz danych
      • 1.7.4. Wykorzystywana w handlu elektronicznym wymiana danych za pośrednictwem internetu z użyciem XML-a
      • 1.7.5. Rozszerzanie możliwości współczesnych systemów baz danych z myślą o nowych zastosowaniach
      • 1.7.6. Powstanie systemów przechowywania big data i baz NOSQL
    • 1.8. Kiedy nie należy używać systemów zarządzania bazami danych
    • 1.9. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • 2. Architektura systemów baz danych i związane z nimi pojęcia
    • 2.1. Modele danych, schematy i egzemplarze
      • 2.1.1. Kategorie modeli danych
      • 2.1.2. Schematy, egzemplarze i stany baz danych
    • 2.2. Trójwarstwowa architektura i niezależność danych
      • 2.2.1. Architektura trójwarstwowa
      • 2.2.2. Niezależność danych
    • 2.3. Języki i interfejsy baz danych
      • 2.3.1. Języki systemów zarządzania bazami danych
      • 2.3.2. Interfejsy systemów zarządzania bazami danych
    • 2.4. Środowisko systemu bazy danych
      • 2.4.1. Moduły składające się na system zarządzania bazą danych
      • 2.4.2. Narzędzia systemu bazy danych
      • 2.4.3. Narzędzia, środowiska aplikacji oraz mechanizmy komunikacji
    • 2.5. Architektury systemów zarządzania bazami danych scentralizowane i typu klient-serwer
      • 2.5.1. Scentralizowane architektury systemów zarządzania bazami danych
      • 2.5.2. Podstawowe architektury typu klient-serwer
      • 2.5.3. Dwuwarstwowe architektury typu klient-serwer dla systemów zarządzania bazami danych
      • 2.5.4. Trójwarstwowe i n-warstwowe architektury typu klient-serwer dla aplikacji internetowych
    • 2.6. Klasyfikacja systemów zarządzania bazami danych
    • 2.7. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • II Koncepcyjne modelowanie danych i projektowanie baz danych
  • 3. Modelowanie danych zgodnie z modelem związków encji
    • 3.1. Stosowanie wysokopoziomowych, koncepcyjnych modelów danych podczas projektowania bazy danych
    • 3.2. Przykładowa aplikacja bazy danych
    • 3.3. Typy encji, zbiory encji, atrybuty i klucze
      • 3.3.1. Encje i atrybuty
      • 3.3.2. Typy encji, zbiory encji, klucze i zbiory wartości
      • 3.3.3. Początkowy projekt koncepcyjny bazy danych FIRMA
    • 3.4. Typy związków, zbiory związków, role i ograniczenia strukturalne
      • 3.4.1. Typy, zbiory i egzemplarze związków
      • 3.4.2. Stopień związku, nazwy ról oraz związki rekurencyjne
      • 3.4.3. Ograniczenia dla typów związków
      • 3.4.4. Atrybuty typów związków
    • 3.5. Słabe typy encji
    • 3.6. Udoskonalanie projektu ER dla bazy danych FIRMA
    • 3.7. Diagramy ER, konwencje nazewnictwa oraz zagadnienia związane z projektowaniem
      • 3.7.1. Podsumowanie notacji diagramów związków encji (ER)
      • 3.7.2. Prawidłowe nazewnictwo konstrukcji schematu
      • 3.7.3. Decyzje projektowe związane z tworzeniem schematu koncepcyjnego ER
      • 3.7.4. Notacje alternatywne względem tradycyjnych diagramów związków encji (ER)
    • 3.8. Przykładowa inna notacja: diagramy klas UML
    • 3.9. Typy związków stopnia wyższego niż drugi
      • 3.9.1. Wybór pomiędzy związkami binarnymi a trójskładnikowymi (lub wyższych stopni)
      • 3.9.2. Ograniczenia związków trójskładnikowych (i wyższych stopni)
    • 3.10. Inny przykład baza danych UNIWERSYTET
    • 3.11. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Ćwiczenia laboratoryjne
      • Wybrane publikacje
  • 4. Rozszerzony model związków encji
    • 4.1. Podklasy, nadklasy i dziedziczenie
    • 4.2. Specjalizacja i generalizacja
      • 4.2.1. Specjalizacja
      • 4.2.2. Generalizacja
    • 4.3. Ograniczenia i właściwości hierarchii specjalizacji i generalizacji
      • 4.3.1. Ograniczenia dotyczące specjalizacji i generalizacji
      • 4.3.2. Hierarchie i kraty specjalizacji i generalizacji
      • 4.3.3. Stosowanie procesów specjalizacji i generalizacji podczas udoskonalania schematów koncepcyjnych
    • 4.4. Modelowanie typów UNII w oparciu o kategorie
    • 4.5. Przykład schematu EER dla bazy danych UNIWERSYTET oraz formalne definicje dla modelu EER
      • 4.5.1. Inny przykład bazy danych UNIWERSYTET
      • 4.5.2. Wybory projektowe związane ze specjalizacją i generalizacją
      • 4.5.3. Formalne definicje pojęć stosowanych w modelu EER
    • 4.6. Przykładowa inna notacja: reprezentowanie specjalizacji-generalizacji na diagramach klas języka UML
    • 4.7. Abstrakcja danych, reprezentacja wiedzy oraz zagadnienia związane z ontologią
      • 4.7.1. Klasyfikacja i tworzenie egzemplarzy
      • 4.7.2. Identyfikacja
      • 4.7.3. Specjalizacja i generalizacja
      • 4.7.4. Agregacja i asocjacja
      • 4.7.5. Ontologia i sieć semantyczna
    • 4.8. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Ćwiczenia laboratoryjne
      • Wybrane publikacje
  • III Relacyjny model danych i SQL
  • 5. Relacyjny model danych i ograniczenia relacyjnych baz danych
    • 5.1. Pojęcia z modelu relacyjnego
      • 5.1.1. Dziedziny, atrybuty, krotki i relacje
      • 5.1.2. Właściwości relacji
      • 5.1.3. Notacja modelu relacyjnego
    • 5.2. Ograniczenia modelu relacyjnego i schematy relacyjnych baz danych
      • 5.2.1. Ograniczenia dziedziny
      • 5.2.2. Ograniczenia klucza i ograniczenia wartości pustych
      • 5.2.3. Relacyjne bazy danych i schematy relacyjnych baz danych
      • 5.2.4. Integralność encji, integralność odwołań i klucze obce
      • 5.2.5. Pozostałe typy ograniczeń
    • 5.3. Operacje aktualizacji, transakcje i obsługa naruszeń więzów integralności
      • 5.3.1. Operacja wstawiania
      • 5.3.2. Operacja usuwania
      • 5.3.3. Operacja aktualizacji
      • 5.3.4. Transakcje
    • 5.4. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • 6. Podstawy języka SQL
    • 6.1. Definicje danych i typy danych języka SQL
      • 6.1.1. Stosowane w języku SQL pojęcia schematu i katalogu
      • 6.1.2. Polecenie CREATE TABLE języka SQL
      • 6.1.3. Typy danych atrybutów oraz dziedziny wartości w standardzie SQL
    • 6.2. Określanie ograniczeń w języku SQL
      • 6.2.1. Definiowanie ograniczeń i wartości domyślnych dla atrybutów
      • 6.2.2. Definiowanie ograniczeń klucza i więzów integralności odwołań
      • 6.2.3. Nadawanie nazw definiowanym ograniczeniom
      • 6.2.4. Stosowanie klauzuli CHECK do określania ograniczeń dla krotek
    • 6.3. Podstawowe zapytania języka SQL
      • 6.3.1. Struktura podstawowych zapytań języka SQL: SELECT-FROM-WHERE
      • 6.3.2. Niejednoznaczne nazwy atrybutów, mechanizm nazw zastępczych (aliasów) oraz zmienne krotek
      • 6.3.3. Nieokreślona klauzula WHERE i zastosowania symbolu gwiazdki
      • 6.3.4. Tabele i zbiory w języku SQL
      • 6.3.5. Dopasowywanie podciągów znaków do wzorca oraz operacje arytmetyczne
      • 6.3.6. Sortowanie wyników zapytań
      • 6.3.7. Omówienie i podsumowanie prostych zapytań języka SQL
    • 6.4. Dostępne w języku SQL polecenia INSERT, DELETE i UPDATE
      • 6.4.1. Polecenie INSERT
      • 6.4.2. Polecenie DELETE
      • 6.4.3. Polecenie UPDATE
    • 6.5. Dodatkowe własności języka SQL
    • 6.6. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • 7. Jeszcze o języku SQL złożone zapytania, wyzwalacze, perspektywy i modyfikowanie schematów
    • 7.1. Bardziej skomplikowane zapytania języka SQL pobierające dane
      • 7.1.1. Operacje porównania z wartością pustą (NULL) oraz logika trójwartościowa
      • 7.1.2. Zapytania zagnieżdżone, krotki oraz porównywanie zbiorów i wielozbiorów
      • 7.1.3. Zagnieżdżone zapytania skorelowane
      • 7.1.4. Dostępne w języku SQL funkcje EXISTS i UNIQUE
      • 7.1.5. Jawne deklarowanie zbiorów i zmienianie nazw atrybutów w języku SQL
      • 7.1.6. Tabele połączone w języku SQL
      • 7.1.7. Funkcje agregujące w języku SQL
      • 7.1.8. Grupowanie: klauzule GROUP BY i HAVING
      • 7.1.9. Inne konstrukcje języka SQL: WITH i CASE
      • 7.1.10. Zapytania rekurencyjne w języku SQL
      • 7.1.11. Omówienie i podsumowanie zapytań języka SQL
    • 7.2. Definiowanie ograniczeń w postaci asercji i działań w postaci wyzwalaczy
      • 7.2.1. Definiowanie ogólnych ograniczeń w postaci asercji w języku SQL
      • 7.2.2. Wprowadzenie do wyzwalaczy w języku SQL
    • 7.3. Perspektywy (tabele wirtualne) w języku SQL
      • 7.3.1. Pojęcie perspektywy w języku SQL
      • 7.3.2. Definiowanie perspektyw w języku SQL
      • 7.3.3. Implementacja perspektyw i mechanizm ich aktualizowania
      • 7.3.4. Perspektywy jako mechanizm uwierzytelniania
    • 7.4. Dostępne w języku SQL polecenia zmiany schematu
      • 7.4.1. Polecenie DROP
      • 7.4.2. Polecenie ALTER
    • 7.5. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • 8. Algebra relacyjna i rachunek relacji
    • 8.1. Relacyjne operacje unarne: selekcja i projekcja
      • 8.1.1. Operacja selekcji
      • 8.1.2. Operacja projekcji
      • 8.1.3. Sekwencje operacji i operacja ZMIANA NAZWY
    • 8.2. Operacje algebry relacyjnej pochodzące z teorii zbiorów
      • 8.2.1. Operacje sumy, części wspólnej i różnicy
      • 8.2.2. Operacja iloczynu (produktu) kartezjańskiego
    • 8.3. Binarne operacje na relacjach: złączenie i dzielenie
      • 8.3.1. Operacja złączenia
      • 8.3.2. Odmiany operacji złączenia: operacje równo-złączenia i złączenia naturalnego
      • 8.3.3. Kompletny zbiór operacji algebry relacyjnej
      • 8.3.4. Operacja dzielenia
      • 8.3.5. Notacja drzew zapytań
    • 8.4. Dodatkowe operacje relacyjne
      • 8.4.1. Uogólniona projekcja
      • 8.4.2. Funkcje agregujące i mechanizm grupowania
      • 8.4.3. Rekurencyjne operacje domknięcia
      • 8.4.4. Operacje złączenia zewnętrznego
      • 8.4.5. Operacja sumy zewnętrznej
    • 8.5. Przykłady zapytań w algebrze relacyjnej
    • 8.6. Relacyjny rachunek krotek
      • 8.6.1. Zmienne krotek i relacje zakresowe
      • 8.6.2. Wyrażenia i wzory w relacyjnym rachunku krotek
      • 8.6.3. Kwantyfikatory uniwersalne i egzystencjalne
      • 8.6.4. Przykładowe zapytania w relacyjnym rachunku krotek
      • 8.6.5. Notacja używana dla grafów zapytań
      • 6.6.5. Wzajemne przekształcanie kwantyfikatorów uniwersalnych i egzystencjalnych
      • 8.6.7. Stosowanie kwantyfikatorów uniwersalnych w zapytaniach
      • 8.6.8. Bezpieczne wyrażenia
    • 8.7. Relacyjny rachunek dziedzin
    • 8.8. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Ćwiczenia laboratoryjne
      • Wybrane publikacje
  • 9. Projektowanie relacyjnych baz danych przez odwzorowywanie modelu ER i EER w model relacyjny
    • 9.1. Projektowanie relacyjnych baz danych w oparciu o odwzorowywanie modelu ER w model relacyjny
      • 9.1.1. Algorytm odwzorowujący model ER w model relacyjny
      • 9.1.2. Omówienie i podsumowanie odwzorowania konstrukcji modelu ER w odpowiednie konstrukcje modelu relacyjnego
    • 9.2. Odwzorowania konstrukcji modelu EER w relacje
      • 9.2.1. Odwzorowywanie specjalizacji i generalizacji
      • 9.2.2. Odwzorowywanie współdzielonych podklas (konstrukcji dziedziczenia wielokrotnego)
      • 9.2.3. Odwzorowywanie kategorii (typów unii)
    • 9.3. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Ćwiczenia laboratoryjne
      • Wybrane publikacje
  • IV Techniki programowania baz danych
  • 10. Wprowadzenie do technik programowania w języku SQL
    • 10.1. Przegląd technik i zagadnień z obszaru programowania baz danych
      • 10.1.1. Strategie programowania baz danych
      • 10.1.2. Niezgodność impedancji
      • 10.1.3. Typowa sekwencja operacji składających się na interakcję w programowaniu baz danych
    • 10.2. Osadzony język SQL, dynamiczny język SQL oraz język SQLJ
      • 10.2.1. Wyszukiwanie pojedynczych krotek za pomocą poleceń osadzonego języka SQL
      • 10.2.2. Przetwarzanie wyników zapytań za pomocą kursorów
      • 10.2.3. Określanie zapytań w czasie wykonywania programu stosowanie dynamicznego języka SQL
      • 10.2.4. SQLJ: Osadzanie poleceń języka SQL w języku Java
      • 10.2.5. Używanie iteratorów do przetwarzania wyników zapytań w standardzie SQLJ
    • 10.3. Programowanie baz danych z wywołaniami funkcji i bibliotekami klas: SQL/CLI oraz JDBC
      • 10.3.1. Programowanie baz danych z wykorzystaniem interfejsu SQL/CLI oraz języka C w roli nadrzędnego języka programowania
      • 10.3.2. JDBC: biblioteka klas języka SQL służąca do programowania w języku Java
    • 10.4. Procedury składowane w bazie danych i technika SQL/PSM
      • 10.4.1. Procedury i funkcje składowane w bazie danych
      • 10.4.2. SQL/PSM: Rozszerzenie standardu SQL o możliwość określania trwale składowanych modułów
    • 10.5. Porównanie trzech opisanych podejść
    • 10.6. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • 11. Programowanie internetowych baz danych z użyciem języka PHP
    • 11.1. Prosty przykład zastosowania PHP
    • 11.2. Przegląd podstawowych mechanizmów języka PHP
      • 11.2.1. Zmienne, typy danych i konstrukcje programistyczne języka PHP
      • 11.2.2. Tablice w PHP
      • 11.2.3. Funkcje w języku PHP
      • 11.2.4. Zmienne i formularze serwera PHP
    • 11.3. Przegląd programowania baz danych za pomocą PHP
      • 11.3.1. Nawiązywanie połączenia z bazą danych
      • 11.3.2. Pobieranie danych z formularzy i wstawianie rekordów
      • 11.3.3. Zapytania pobierające dane z tabel bazy
    • 11.4. Krótki przegląd technologii programowania internetowych baz danych w Javie
    • 11.5. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • V Podejścia obiektowe, obiektowo-relacyjne i XML: zagadnienia, modele, języki i standardy
  • 12. Bazy obiektowe i obiektowo-relacyjne
    • 12.1. Przegląd pojęć obiektowych
      • 12.1.1. Wprowadzenie do pojęć i cech obiektowych
      • 12.1.2. Tożsamość obiektów i porównanie obiektów z literałami
      • 12.1.3. Złożone struktury typów obiektów i literałów
      • 12.1.4. Enkapsulacja operacji i trwałość obiektów
      • 12.1.5. Hierarchia typów i dziedziczenie
      • 12.1.6. Inne pojęcia obiektowe
      • 12.1.7. Podsumowanie zagadnień dotyczących obiektowych baz danych
    • 12.2. Rozszerzenia obiektowe w standardzie SQL
      • 12.2.1. Typy definiowane przez użytkownika za pomocą polecenia CREATE TYPE i obiekty złożone
      • 12.2.2. Identyfikatory obiektów oparte na odwołaniach
      • 12.2.3. Tworzenie tabel z wykorzystaniem UDT
      • 12.2.4. Enkapsulacja operacji
      • 12.2.5. Dziedziczenie i przeciążanie funkcji
      • 12.2.6. Określanie związków za pomocą odwołań
    • 12.3. Model obiektowy ODMG i język definiowania obiektów ODL
      • 12.3.1. Przegląd modelu obiektowego ODMG
      • 12.3.2. Dziedziczenie w modelu obiektowym ODMG
      • 12.3.3. Wbudowane interfejsy i klasy w modelu obiektowym
      • 12.3.4. Obiekty atomowe (definiowane przez użytkownika)
      • 12.3.5. Ekstensje, klucze i obiekty-fabryki
      • 12.3.6. Język definicji obiektów ODL
    • 12.4. Projektowanie koncepcyjne obiektowej bazy danych
      • 12.4.1. Różnice pomiędzy koncepcyjnym projektowaniem obiektowych i relacyjnych baz danych
      • 12.4.2. Odwzorowywanie schematu EER na schemat obiektowy
    • 12.5. Obiektowy język zapytań OQL
      • 12.5.1. Proste zapytania OQL, punkty wejścia bazy danych i zmienne iterujące
      • 12.5.2. Wyniki zapytań i wyrażenia ścieżkowe
      • 12.5.3. Inne cechy OQL
    • 12.6. Przegląd wiązania z językiem C++ w standardzie ODMG
    • 12.7. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • 13. XML rozszerzalny język znaczników
    • 13.1. Dane strukturalne, półstrukturalne i niestrukturalne
    • 13.2. Hierarchiczny (drzewiasty) model danych w dokumentach XML
    • 13.3. Dokumenty XML, DTD i schematy
      • 13.3.1. Dobrze uformowane i prawidłowe dokumenty XML oraz XML DTD
      • 13.3.2. Schematy XML
    • 13.4. Zapisywanie dokumentów XML w bazach i ich pobieranie
    • 13.5. Języki związane ze standardem XML
      • 13.5.1. XPath, czyli określanie ścieżek w dokumentach XML
      • 13.5.2. XQuery: definiowanie zapytań w XML
      • 13.5.3. Inne języki i protokoły związane ze standardem XML
    • 13.6. Pobieranie dokumentów XML z relacyjnych baz danych
      • 13.6.1. Tworzenie hierarchicznych perspektyw w formacie XML dla danych płaskich lub zapisanych w grafie
      • 13.6.2. Przerywanie cykli w celu zamiany grafów w drzewa
      • 13.6.3. Dodatkowe kroki związane z tworzeniem dokumentu XML na podstawie bazy danych
    • 13.7. XML/SQL: funkcje języka SQL generujące dane w formacie XML
    • 13.8. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • VI Teoria projektowania baz danych i normalizacja
  • 14. Podstawy zależności funkcyjnych i normalizacji w relacyjnych bazach danych
    • 14.1. Nieformalne wskazówki dotyczące projektowania schematów relacji
      • 14.1.1. Wymuszanie jednoznacznej semantyki atrybutów relacji
      • 14.1.2. Nadmiarowe informacje w krotkach oraz anomalie aktualizacji
      • 14.1.3. Wartości null w krotkach
      • 14.1.4. Generowanie fałszywych krotek
      • 14.1.5. Podsumowanie i omówienie wskazówek projektowych
    • 14.2. Zależności funkcyjne
      • 14.2.1. Definicja zależności funkcyjnej
    • 14.3. Postaci normalne oparte na kluczach głównych
      • 14.3.1. Normalizacja relacji
      • 14.3.2. Praktyczne zastosowania postaci normalnych
      • 14.3.3. Definicje kluczy i atrybutów należących do kluczy
      • 14.3.4. Pierwsza postać normalna
      • 14.3.5. Druga postać normalna
      • 14.3.6. Trzecia postać normalna
    • 14.4. Definicje ogólne drugiej i trzeciej postaci normalnej
      • 14.4.1. Definicja ogólna drugiej postaci normalnej
      • 14.4.2. Definicja ogólna trzeciej postaci normalnej
      • 14.4.3. Interpretacja definicji ogólnej trzeciej postaci normalnej
    • 14.5. Postać normalna Boycea-Codda
      • 14.5.1. Dekompozycja relacji niebędących w BCNF
    • 14.6. Zależności wielowartościowe i czwarta postać normalna
      • 14.6.1. Formalna definicja zależności wielowartościowej
    • 14.7. Zależności złączeniowe i piąta postać normalna
    • 14.8. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Ćwiczenia laboratoryjne
      • Wybrane publikacje
  • 15. Algorytmy projektowania relacyjnych baz danych i dodatkowe zależności
    • 15.1. Inne zagadnienia z obszaru zależności funkcyjnych: reguły wnioskowania, równoważności i pokrycie minimalne
      • 15.1.1. Reguły wnioskowania dla zależności funkcyjnych
      • 15.1.2. Równoważność zbiorów zależności funkcyjnych
      • 15.1.3. Zbiory minimalne zależności funkcyjnych
    • 15.2. Właściwości dekompozycji relacyjnych
      • 15.2.1. Dekompozycja relacji i niewystarczalność postaci normalnych
      • 15.2.2. Właściwość zachowania zależności dekompozycji
      • 15.2.3. Właściwość złączenia bezstratnego (nieaddytywnego) dekompozycji
      • 15.2.4. Testowanie dekompozycji binarnych pod względem występowania właściwości złączenia nieaddytywnego
      • 15.2.5. Kolejne dekompozycje o złączeniach nieaddytywnych
    • 15.3. Algorytmy projektowania schematów relacyjnych baz danych
      • 15.3.1. Dekompozycja na schematy w trzeciej postaci normalnej z zachowaniem zależności i właściwością złączenia nieaddytywnego (bezstratnego)
      • 15.3.2. Dekompozycja ze złączeniem nieaddytywnym na schematy w postaci normalnej Boycea-Codda
    • 15.4. Problemy związane z wartościami pustymi i krotkami zawieszonymi oraz inne projekty relacyjne
      • 15.4.1. Problemy związane z wartościami pustymi i krotkami zawieszonymi
      • 15.4.2. Omówienie algorytmów normalizacyjnych i innych projektów relacyjnych
    • 15.5. Dalsze omówienie zależności wielowartościowych i 4NF
      • 15.5.1. Reguły wnioskowania dla zależności funkcyjnych i wielowartościowych
      • 15.5.2. Jeszcze o czwartej postaci normalnej
      • 15.5.3. Dekompozycja ze złączeniem nieaddytywnym na relacje w czwartej postaci normalnej
    • 15.6. Inne zależności i postaci normalne
      • 15.6.1. Zależności złączeniowe i piąta postać normalna
      • 15.6.2. Zależności zawierania
      • 15.6.3. Zależności funkcyjne oparte na funkcjach i procedurach arytmetycznych
      • 15.6.4. Postać normalna klucza dziedziny
    • 15.7. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Ćwiczenia laboratoryjne
      • Wybrane publikacje
  • VII Struktury plikowe, funkcje mieszające, indeksowanie i projekty fizyczne baz danych
  • 16. Składowanie danych na dysku, podstawowe struktury plikowe, funkcje mieszające i nowoczesne struktury składowania
    • 16.1. Wprowadzenie
      • 16.1.1. Hierarchie pamięciowe i urządzenia składowania danych[1]
      • 16.1.2. Przechowywanie baz danych
    • 16.2. Drugorzędne urządzenia pamięciowe
      • 16.2.1. Opis sprzętowy napędów dyskowych
      • 16.2.2. Zwiększanie wydajności dostępu do danych na dysku
      • 16.2.3. Pamięć masowa SSD
      • 16.2.4. Taśmowe urządzenia pamięciowe
    • 16.3. Buforowanie bloków
      • 16.3.1. Zarządzanie buforem
      • 16.3.2. Strategie zastępowania danych w buforze
    • 16.4. Rozmieszczanie rekordów plików na dysku
      • 16.4.1. Rekordy i typy rekordów
      • 16.4.2. Pliki oraz rekordy o stałej i zmiennej długości
      • 16.4.3. Rozmieszczenie rekordów w blokach i rekordy segmentowane oraz niesegmentowane
      • 16.4.4. Alokowanie bloków pliku na dysku
      • 16.4.5. Nagłówki plików
    • 16.5. Operacje wykonywane na plikach
    • 16.6. Pliki nieuporządkowanych rekordów (pliki stertowe)
    • 16.7. Pliki uporządkowanych rekordów (pliki posortowane)
    • 16.8. Techniki mieszania
      • 16.8.1. Mieszanie wewnętrzne
      • 16.8.2. Mieszanie zewnętrzne dla plików na dysku
      • 16.8.3. Techniki mieszania umożliwiające dynamiczne rozszerzanie plików
    • 16.9. Inne podstawowe metody organizacji plików
      • 16.9.1. Pliki rekordów mieszanych
      • 16.9.2. B-drzewa i inne struktury danych służące jako podstawowe metody organizacji
    • 16.10. Zapewnianie równoległego dostępu do dysku przy użyciu architektury RAID
      • 16.10.1. Zwiększanie niezawodności przy użyciu architektury RAID
      • 16.10.2. Poprawianie wydajności przy użyciu architektury RAID
      • 16.10.3. Metody organizacji i poziomy architektury RAID
    • 16.11. Nowoczesne architektury składowania danych
      • 16.11.1. Sieci obszarów składowania danych
      • 16.11.2. Technologia NAS
      • 16.11.3. iSCSI i inne sieciowe protokoły składowania danych
      • 16.11.4. Technologia Automated Storage Tiering
      • 16.11.5. Obiektowa pamięć masowa
    • 16.12. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • 17. Struktury indeksowe dla plików i fizyczne projekty baz danych
    • 17.1. Rodzaje jednopoziomowych indeksów uporządkowanych
      • 17.1.1. Indeksy główne
      • 17.1.2. Indeksy klastrowania
      • 17.1.3. Indeksy drugorzędne
      • 17.1.4. Podsumowanie
    • 17.2. Indeksy wielopoziomowe
    • 17.3. Dynamiczne indeksy wielopoziomowe z użyciem B-drzew i B+-drzew
      • 17.3.1. Drzewa wyszukiwania i B-drzewa
      • 17.3.2. B+-drzewa
    • 17.4. Indeksy na wielu kluczach
      • 17.4.1. Indeks uporządkowany na wielu atrybutach
      • 17.4.2. Mieszanie partycjonowane
      • 17.4.3. Pliki matrycowe
    • 17.5. Inne rodzaje indeksów
      • 17.5.1. Indeksy oparte na mieszaniu
      • 17.5.2. Indeksy bitmapowe
      • 17.5.3. Indeksowanie oparte na funkcji
    • 17.6. Ogólne zagadnienia związane z indeksami
      • 17.6.1. Indeksy logiczne a fizyczne
      • 17.6.2. Tworzenie indeksu
      • 17.6.3. Dostrajanie indeksów
      • 17.6.4. Dodatkowe kwestie związane ze składowaniem relacji i indeksów
    • 17.7. Fizyczne projektowanie baz danych w przypadku baz relacyjnych
      • 17.7.1. Czynniki wpływające na fizyczny projekt bazy danych
      • 17.7.2. Decyzje dotyczące fizycznego projektu bazy danych
    • 17.8. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • VIII Przetwarzanie i optymalizacja zapytań
  • 18. Strategie przetwarzania zapytań[1]
    • 18.1. Translacja zapytań języka SQL do postaci wyrażeń algebry relacji i innych operacji
      • 18.1.1. Dodatkowe operatory złączeń częściowych i antyzłączeń
    • 18.2. Algorytmy sortowania zewnętrznego
    • 18.3. Algorytmy operacji selekcji
      • 18.3.1. Możliwości implementacji operacji SELECT
      • 18.3.2. Metody wyszukiwania dla selekcji na podstawie warunku koniunktywnego
      • 18.3.3. Metody wyszukiwania dla selekcji na podstawie alternatywy logicznej
      • 18.3.4. Szacowanie selektywności warunku
    • 18.4. Implementacja operacji JOIN
      • 18.4.1. Metody implementacji złączeń
      • 18.4.2. Wpływ dostępnej przestrzeni bufora i pliku używanego w pętli zewnętrznej na wydajność operacji złączenia w pętli zagnieżdżonej
      • 18.4.3. Wpływ współczynnika selekcji złączenia na wydajność tej operacji
      • 18.4.4. Ogólna postać partycjonowanego złączenia mieszającego
      • 18.4.5. Hybrydowe złączanie mieszające
    • 18.5. Algorytmy operacji projekcji i teoriomnogościowych
      • 18.5.1. Stosowanie antyzłączeń w operacji SET DIFFERENCE (EXCEPT lub MINUS w języku SQL)
    • 18.6. Implementacja operacji agregujących oraz złączeń różnego rodzaju
      • 18.6.1. Implementacja operacji agregujących
      • 18.6.2. Implementacja różnego rodzaju złączeń
    • 18.7. Łączenie operacji poprzez mechanizm potokowy
      • 18.7.1. Iteratory używane do implementowania operacji fizycznych
    • 18.8. Algorytmy równoległego przetwarzania zapytań
      • 18.8.1. Równoległość na poziomie operatorów
      • 18.8.2. Równoległość w jednym zapytaniu
      • 18.8.3. Równoległość w wielu zapytaniach
    • 18.9. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • 19. Optymalizacja zapytań
    • 19.1. Drzewa zapytań i heurystyki optymalizacji zapytań
      • 19.1.1. Notacja drzew zapytań i grafów zapytań
      • 19.1.2. Heurystyczna optymalizacja drzew zapytań
    • 19.2. Wybór planów wykonania zapytań
      • 19.2.1. Różne sposoby wykonywania zapytań
      • 19.2.2. Optymalizacja podzapytań zagnieżdżonych
      • 19.2.3. Scalanie podzapytań (perspektyw)
      • 19.2.4. Perspektywy zmaterializowane
    • 19.3. Wykorzystanie selektywności w optymalizacji kosztowej
      • 19.3.1. Składowe kosztu wykonywania zapytań
      • 19.3.2. Informacje z katalogu używane w funkcjach kosztu
      • 19.3.3. Histogramy
    • 19.4. Funkcje kosztu dla operacji SELECT
      • 19.4.1. Przykład optymalizacji selekcji na podstawie wzorów szacowania kosztów
    • 19.5. Przykłady funkcji kosztu dla operacji JOIN
      • 19.5.1. Selektywność i liczność złączeń częściowych i antyzłączeń
      • 19.5.2. Przykład optymalizacji złączenia na podstawie funkcji kosztu
      • 19.5.3. Zapytania dotyczące wielu relacji i porządkowanie złączeń
      • 19.5.4. Optymalizacja fizyczna
      • 19.5.5. Określanie kolejności złączeń za pomocą programowania dynamicznego
    • 19.6. Przykład ilustrujący kosztową optymalizację zapytań
    • 19.7. Dodatkowe zagadnienia związane z optymalizacją zapytań
      • 19.7.1. Wyświetlanie planu wykonania zapytania uzyskanego przez system
      • 19.7.2. Szacowanie wielkości wyników dla innych operacji
      • 19.7.3. Zapis planu w pamięci podręcznej
      • 19.7.4. Optymalizacja z wykorzystaniem pierwszych k wyników
    • 19.8. Przykład optymalizacji zapytań w hurtowniach danych
    • 19.9. Optymalizacja zapytań w bazach Oracle[18]
      • 19.9.1. Optymalizator fizyczny
      • 19.9.2. Globalny optymalizator zapytań
      • 19.9.3. Optymalizacja adaptacyjna
      • 19.9.4. Przetwarzanie tablicowe
      • 19.9.5. Wskazówki
      • 19.9.6. Zarysy
      • 19.9.7. Zarządzanie planami wykonywania instrukcji języka SQL
    • 19.10. Semantyczna optymalizacji zapytań
    • 19.11. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • IX Przetwarzanie transakcji, sterowanie współbieżne i odtwarzanie baz danych
  • 20. Wprowadzenie do problematyki i teorii przetwarzania transakcji
    • 20.1. Wprowadzenie do problematyki przetwarzania transakcji
      • 20.1.1. Systemy jedno- i wieloużytkownikowe
      • 20.1.2. Transakcje, elementy baz danych, operacje odczytu i zapisu oraz bufory SZBD
      • 20.1.3. Uzasadnienie potrzeby stosowania sterowania współbieżnego
      • 20.1.4. Uzasadnienie potrzeby odtwarzania
    • 20.2. Pojęcia dotyczące transakcji i systemu
      • 20.2.1. Stany transakcji i dodatkowe operacje
      • 20.2.2. Dziennik systemowy
      • 20.2.3. Punkt zatwierdzenia transakcji
      • 20.2.4. Strategie zastępowania bufora specyficzne dla SZBD
    • 20.3. Pożądane właściwości transakcji
    • 20.4. Charakteryzowanie harmonogramów na podstawie możliwości odtwarzania
      • 20.4.1. Harmonogramy (historie) transakcji
      • 20.4.2. Charakterystyka harmonogramów według możliwości odtwarzania
    • 20.5. Charakterystyka harmonogramów według ich szeregowalności
      • 20.5.1. Harmonogramy szeregowe, nieszeregowe oraz konfliktowo-szeregowalne
      • 20.5.2. Sprawdzanie występowania szeregowalności konfliktowej harmonogramu
      • 20.5.3. Wykorzystywanie szeregowalności do sterowania współbieżnego
      • 20.5.4. Równoważność perspektywiczna i szeregowalność perspektywiczna
      • 20.5.5. Inne rodzaje równoważności harmonogramów
    • 20.6. Obsługa transakcji w języku SQL
    • 20.7. Podsumowanie
    • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • 21. Techniki sterowania współbieżnego
    • 21.1. Techniki blokowania dwufazowego dla celów sterowania współbieżnego
      • 21.1.1. Rodzaje blokad i systemowe tabele blokad
      • 21.1.2. Gwarantowanie szeregowalności blokowania dwufazowego
      • 21.1.3. Problem zakleszczenia i zagłodzenia
    • 21.2. Sterowanie współbieżne w oparciu o uporządkowanie według znaczników czasu
      • 21.2.1. Znaczniki czasu
      • 21.2.2. Algorytm uporządkowania według znaczników czasu
    • 21.3. Techniki wielowersyjnego sterowania współbieżnego
      • 21.3.1. Technika wielowersyjna oparta na porządkowaniu według znaczników czasu
      • 21.3.2. Wielowersyjne blokowanie dwufazowe z użyciem blokad certyfikujących
    • 21.4. Sterowanie współbieżne z użyciem technik walidacyjnych (optymistycznych) i izolacji snapshotów
      • 21.4.1. Walidacyjne (optymistyczne) sterowanie współbieżne
      • 21.4.2. Sterowanie współbieżne oparte na izolacji snapshotów
    • 21.5. Ziarnistość elementów danych i blokowanie z wieloma poziomami ziarnistości
      • 21.5.1. Kwestie dotyczące poziomu ziarnistości w przypadku blokowania
      • 21.5.2. Blokowanie z wieloma poziomami ziarnistości
    • 21.6. Użycie blokad dla celów sterowania współbieżnego w przypadku indeksów
    • 21.7. Inne kwestie związane ze sterowaniem współbieżnym
      • 21.7.1. Wstawianie, usuwanie i rekordy fantomowe
      • 21.7.2. Transakcje interaktywne
      • 21.7.3. Zatrzaski
    • 21.8. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • 22. Techniki odtwarzania baz danych
    • 22.1. Pojęcia związane z odtwarzaniem
      • 22.1.1. Zarys problematyki odtwarzania i podział algorytmów odtwarzania na odrębne kategorie
      • 22.1.2. Zapisywanie w pamięci podręcznej (buforowanie) bloków dyskowych
      • 22.1.3. Rejestrowanie zapisów z wyprzedzeniem, technika zabierania oraz wymuszania
      • 22.1.4. Punkty kontrolne w dzienniku systemowym oraz tworzenie przybliżonych punktów kontrolnych
      • 22.1.5. Wycofywanie transakcji i wycofywanie kaskadowe
      • 22.1.6. Działania transakcji niewpływające na bazy danych
    • 22.2. Techniki odtwarzania NO-UNDO/REDO oparte na aktualizacjach odroczonych
    • 22.3. Techniki odtwarzania oparte na aktualizacjach natychmiastowych
    • 22.4. Stronicowanie z przesłanianiem
    • 22.5. Algorytm odtwarzania ARIES
    • 22.6. Odtwarzanie w systemach wielu baz danych
    • 22.7. Tworzenie kopii bezpieczeństwa bazy danych i odtwarzanie po awariach katastroficznych
    • 22.8. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • X Rozproszone bazy danych, systemy NOSQL i big data
  • 23. Zagadnienia z obszaru rozproszonych baz danych
    • 23.1. Zagadnienia z obszaru rozproszonych baz danych
      • 23.1.1. Co sprawia, że baza danych jest rozproszona?
      • 23.1.2. Przezroczystość
      • 23.1.3. Stabilność i dostępność
      • 23.1.4. Skalowalność i odporność na podział
      • 23.1.5. Autonomia
      • 23.1.6. Zalety rozproszonych baz danych
    • 23.2. Techniki fragmentacji, replikacji i alokacji danych w projekcie rozproszonej bazy danych
      • 23.2.1. Fragmentacja danych i sharding
      • 23.2.2. Replikacja i alokacja danych
      • 23.2.3. Przykłady fragmentacji, alokacji i replikacji danych
    • 23.3. Techniki sterowania współbieżnego i odtwarzania danych w rozproszonych bazach danych
      • 23.3.1. Rozproszone sterowanie współbieżne oparte na wyróżnionej kopii danych
      • 23.3.2. Rozproszone sterowanie współbieżne oparte na głosowaniu
      • 23.3.3. Rozproszone odtwarzanie danych
    • 23.4. Przegląd zarządzania transakcjami w rozproszonych bazach danych
      • 23.4.1. Protokół zatwierdzania dwufazowego
      • 23.4.2. Protokół zatwierdzania trójfazowego
      • 23.4.3. Obsługa zarządzania transakcjami w systemie operacyjnym
    • 23.5. Przetwarzanie zapytań i optymalizacja w rozproszonych bazach danych
      • 23.5.1. Przetwarzanie zapytań rozproszonych
      • 23.5.2. Koszty przesyłu danych w przetwarzaniu zapytań rozproszonych
      • 23.5.3. Rozproszone przetwarzanie zapytań z użyciem złączeń częściowych
      • 23.5.4. Dekompozycja zapytań i aktualizacji
    • 23.6. Rodzaje rozproszonych systemów baz danych
      • 23.6.1. Zarządzanie federacyjnymi systemami baz danych
    • 23.7. Architektury rozproszonych baz danych
      • 23.7.1. Architektura równoległa a rozproszona
      • 23.7.2. Ogólna architektura czystych baz rozproszonych
      • 23.7.3. Architektura federacyjnych baz danych
      • 23.7.4. Przegląd trójwarstwowej architektury klient-serwer
    • 23.8. Zarządzanie rozproszonym katalogiem
    • 23.9. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • 24. Bazy danych NOSQL i systemy składowania big data
    • 24.1. Wprowadzenie do systemów NOSQL
      • 24.1.1. Powstanie systemów NOSQL
      • 24.1.2. Cechy systemów NOSQL
      • 24.1.3. Kategorie systemów NOSQL
    • 24.2. Twierdzenie CAP
    • 24.3. Dokumentowe systemy NOSQL i baza MongoDB
      • 24.3.1. Model danych z systemu MongoDB
      • 24.3.2. Operacje CRUD w systemie MongoDB
      • 24.3.3. Cechy systemu rozproszonego MongoDB
    • 24.4. Magazyny NOSQL z parami klucz-wartość
      • 24.4.1. Przegląd systemu DynamoDB
      • 24.4.2. Rozproszony magazyn danych z parami klucz-wartość Voldemort
      • 24.4.3. Przykładowe inne magazyny z parami klucz-wartość
    • 24.5. Kolumnowe systemy NOSQL
      • 24.5.1. Model danych i wersjonowanie w systemie HBase
      • 24.5.2. Operacje CRUD w systemie HBase
      • 24.5.3. Zagadnienia związane ze składowaniem danych i systemem rozproszonym w HBase
    • 24.6. Grafowe bazy NOSQL i system Neo4j
      • 24.6.1. Model danych w systemie Neo4j
      • 24.6.2. Język zapytań Cypher w systemie Neo4j
      • 24.6.3. Cechy interfejsów i systemu rozproszonego w Neo4j
    • 24.7. Podsumowanie
      • Pytania powtórkowe
      • Wybrane publikacje
  • 25. Technologie z obszaru big data oparte na modelu MapReduce i systemie Hadoop[1]
    • 25.1. Czym jest big data?
    • 25.2. Wprowadzenie do technologii MapReduce i Hadoop
      • 25.2.1. Tło historyczne
      • 25.2.2. Model MapReduce
      • 25.2.3. Wersje Hadoopa
    • 25.3. System HDFS
      • 25.3.1. Wymagania wstępne związane z systemem HDFS
      • 25.3.2. Architektura systemu HDFS
      • 25.3.3. Operacje wejścia-wyjścia na plikach i zarządzanie replikami w systemie HDFS
      • 25.3.4. Skalowalność systemu HDFS
      • 25.3.5. Ekosystem Hadoopa
    • 25.4. Model MapReduce: dodatkowe szczegóły
      • 25.4.1. Środowisko uruchomieniowe MapReduce
      • 25.4.2. Przykład: złączenia w modelu MapReduce
      • 25.4.3. Apache Hive
      • 25.4.4. Zalety technologii Hadoop i MapReduce
    • 25.5. Hadoop 2 (nazywany też YARN)
      • 25.5.1. Uzasadnienie powstania platformy YARN
      • 25.5.2. Architektura platformy YARN
      • 25.5.3. Inne platformy w YARN
    • 25.6. Ogólne omówienie
      • 25.6.1. Hadoop i MapReduce a równoległe relacyjne SZBD
      • 25.6.2. Big data w chmurach obliczeniowych
      • 25.6.3. Problemy z lokalnością danych i optymalizacja zasobów w aplikacjach z obszaru big data działających w chmurze
      • 25.6.4. YARN jako platforma usług z obszaru danych
      • 25.6.5. Wyzwania związane z technologiami z obszaru big data
      • 25.6.6. Przyszłość
    • 25.7. Podsumowanie
      • Pytania powtórkowe
      • Wybrane publikacje
  • XI Zaawansowane modele, systemy i zastosowania baz danych
  • 26. Rozszerzone modele danych: wprowadzenie do aktywnych, czasowych, przestrzennych, multimedialnych i dedukcyjnych baz danych
    • 26.1. Wyzwalacze i inne pojęcia związane z aktywnymi bazami danych
      • 26.1.1. Uogólniony model aktywnych baz danych i wyzwalacze w Oracle
      • 26.1.2. Projektowanie i implementacja aktywnych baz danych
      • 26.1.3. Przykładowe aktywne reguły poziomu wyrażenia w systemie STARBURST
      • 26.1.4. Możliwe zastosowania aktywnych baz danych
      • 26.1.5. Wyzwalacze w SQL-99
    • 26.2. Koncepcja czasowych baz danych
      • 26.2.1. Reprezentacja czasu, kalendarze i wymiary czasu
      • 26.2.2. Wprowadzenie czasu do relacyjnych baz danych z obsługą wersji krotek
      • 26.2.3. Czas w obiektowych bazach danych z obsługą wersji atrybutów
      • 26.2.4. Konstruowanie zapytań czasowych i język TSQL2
      • 26.2.5. Szeregi czasowe
    • 26.3. Zagadnienia z obszaru przestrzennych baz danych[24]
      • 26.3.1. Wprowadzenie do przestrzennych baz danych
      • 26.3.2. Typy i modele danych przestrzennych
      • 26.3.3. Operatory i zapytania przestrzenne
      • 26.3.4. Indeksowanie danych przestrzennych
      • 26.3.5. Eksploracja danych przestrzennych
      • 26.3.6. Zastosowania danych przestrzennych
    • 26.4. Zagadnienia z obszaru multimedialnych baz danych
      • 26.4.1. Automatyczna analiza obrazów
      • 26.4.2. Wykrywanie obiektów na obrazach
      • 26.4.3. Semantyczne opisywanie obrazów
      • 26.4.4. Analizy danych audio
    • 26.5. Wprowadzenie do dedukcyjnych baz danych
      • 26.5.1. Przegląd dedukcyjnych baz danych
      • 26.5.2. Notacja języków Prolog i Datalog
      • 26.5.3. Notacja języka Datalog
      • 26.5.4. Forma klauzulowa i klauzule Horna
      • 26.5.5. Interpretacja reguł
      • 26.5.6. Programy w języku Datalog i ich bezpieczeństwo
      • 26.5.7. Zastosowanie operacji relacyjnych
      • 26.5.8. Wykonywanie zapytań nierekurencyjnych
    • 26.6. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • 27. Wprowadzenie do wyszukiwania informacji i danych w internecie
    • 27.1. Zagadnienia z obszaru wyszukiwania informacji (WI)
      • 27.1.1. Wprowadzenie do wyszukiwania informacji
      • 27.1.2. Porównanie baz danych i systemów WI
      • 27.1.3. Krótka historia WI
      • 27.1.4. Tryby interakcji w systemach WI
      • 27.1.5. Ogólny proces WI
    • 27.2. Modele wyszukiwania
      • 27.2.1. Model logiczny
      • 27.2.2. Model oparty na przestrzeni wektorowej
      • 27.2.3. Model probabilistyczny
      • 27.2.4. Model semantyczny
    • 27.3. Typy zapytań w systemach WI
      • 27.3.1. Zapytania oparte na słowach kluczowych
      • 27.3.2. Zapytania logiczne
      • 27.3.3. Zapytania do wyszukiwania fraz
      • 27.3.4. Zapytania z określaniem odległości słów
      • 27.3.5. Zapytania z symbolami wieloznacznymi
      • 27.3.6. Zapytania w języku naturalnym
    • 27.4. Wstępne przetwarzanie tekstu
      • 27.4.1. Usuwanie słów pomijanych
      • 27.4.2. Stemming
      • 27.4.3. Korzystanie z tezaurusa
      • 27.4.4. Inne etapy przetwarzania: cyfry, myślniki, znaki przestankowe, wielkość znaków
      • 27.4.5. Wydobywanie informacji
    • 27.5. Indeksy odwrócone
      • 27.5.1. Wprowadzenie do systemu Lucene
    • 27.6. Miary oceny adekwatności wyników wyszukiwania
      • 27.6.1. Czułość i precyzja
      • 27.6.2. Średnia precyzja
      • 27.6.3. Krzywa czułość/precyzja
      • 27.6.4. Miara F
    • 27.7. Wyszukiwanie i analizy w sieci WWW[25]
      • 27.7.1. Analizy danych internetowych i ich związki z WI
      • 27.7.2. Analizy struktury sieci WWW
      • 27.7.3. Analizowanie struktury odsyłaczy na stronach internetowych
      • 27.7.4. Analizy treści w sieci WWW
      • 27.7.5. Podejścia analizowania treści w sieci WWW
      • 27.7.6. Analizy użytkowania witryn
      • 27.7.7. Praktyczne zastosowania analiz użytkowania witryn
    • 27.8. Trendy w wyszukiwaniu informacji
      • 27.8.1. Wyszukiwanie fasetowe
      • 27.8.2. Wyszukiwanie społecznościowe
      • 27.8.3. Wyszukiwanie informacji w dialogach
      • 27.8.4. Probabilistyczne modelowanie tematu
      • 27.8.5. Systemy odpowiadania na pytania
    • 27.9. Podsumowanie
      • Pytania powtórkowe
      • Wybrane publikacje
  • 28. Elementy eksploracji danych
    • 28.1. Przegląd technologii eksploracji danych
      • 28.1.1. Eksploracja danych kontra hurtownie danych
      • 28.1.2. Eksploracja danych jako część procesu odkrywania wiedzy
      • 28.1.3. Cele eksploracji danych i odkrywania wiedzy
      • 28.1.4. Rodzaje wiedzy odkrywanej w procesie eksploracji danych
    • 28.2. Reguły asocjacyjne
      • 28.2.1. Model koszyka klienta supermarketu, poziom wsparcia i poziom ufności
      • 28.2.2. Algorytm Apriori
      • 28.2.3. Algorytm próbkujący
      • 28.2.4. Drzewa częstych wzorców i algorytm ich tworzenia
      • 28.2.5. Algorytm partycjonujący
      • 28.2.6. Pozostałe typy reguł asocjacyjnych
      • 28.2.7. Dodatkowe problemy związane z regułami asocjacyjnymi
    • 28.3. Klasyfikacja
    • 28.4. Grupowanie
    • 28.5. Strategie rozwiązywania pozostałych problemów związanych z eksploracją danych
      • 28.5.1. Odkrywanie wzorców sekwencyjnych
      • 28.5.2. Odkrywanie wzorców w szeregach czasowych
      • 28.5.3. Regresja
      • 28.5.4. Sieci neuronowe
      • 28.5.5. Algorytmy genetyczne
    • 28.6. Zastosowania technik eksploracji danych
    • 28.7. Komercyjne narzędzia eksploracji danych
      • 28.7.1. Interfejs użytkownika
      • 28.7.2. Interfejs programowy aplikacji
      • 28.7.3. Kierunki przyszłego rozwoju
    • 28.8. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • 29. Przegląd hurtowni danych i rozwiązań OLAP
    • 29.1. Wprowadzenie, definicje i terminologia
    • 29.2. Właściwości hurtowni danych
    • 29.3. Modelowanie danych dla hurtowni danych
    • 29.4. Budowanie hurtowni danych
    • 29.5. Typowe funkcje hurtowni danych
    • 29.6. Hurtownie danych kontra perspektywy
    • 29.7. Trudności z implementowaniem hurtowni danych
    • 29.8. Podsumowanie
      • Pytania powtórkowe
      • Wybrane publikacje
  • XII Dodatkowe zagadnienia z obszaru baz danych: bezpieczeństwo
  • 30. Bezpieczeństwo w bazach danych
    • 30.1. Wprowadzenie do bezpieczeństwa baz danych[1]
      • 30.1.1. Rodzaje zabezpieczeń
      • 30.1.2. Środki kontroli
      • 30.1.3. Bezpieczeństwo a administrator bazy danych
      • 30.1.4. Ochrona dostępu, konta użytkowników i audyty bazy danych
      • 30.1.5. Dane wrażliwe i typy ujawnień
      • 30.1.6. Związki między bezpieczeństwem a prywatnością informacji
    • 30.2. Dyspozycyjna kontrola dostępu polegająca na nadawaniu i odbieraniu uprawnień
      • 30.2.1. Typy uprawnień dyspozycyjnych
      • 30.2.2. Określanie uprawnień przy użyciu perspektyw
      • 30.2.3. Cofanie uprawnień
      • 30.2.4. Propagacja uprawnień poprzez opcję GRANT
      • 30.2.5. Przykład
      • 30.2.6. Określanie ograniczeń propagacji uprawnień
    • 30.3. Realizacja zabezpieczeń wielopoziomowych za pomocą obowiązkowej kontroli dostępu i zabezpieczeń opartych na rolach
      • 30.3.1. Porównanie dyspozycyjnego i obowiązkowego modelu bezpieczeństwa
      • 30.3.2. Kontrola dostępu oparta na rolach
      • 30.3.3. Zabezpieczenia oparte na etykietach i kontrola dostępu na poziomie wierszy
      • 30.3.4. Kontrola dostępu dla danych w formacie XML
      • 30.3.5. Polityki kontroli dostępu dla aplikacji sieciowych i mobilnych
    • 30.4. Wstrzykiwanie kodu w języku SQL
      • 30.4.1. Metody wstrzykiwania kodu w języku SQL
      • 30.4.2. Zagrożenia związane ze wstrzykiwaniem kodu w języku SQL
      • 30.4.3. Techniki ochrony przed wstrzykiwaniem kodu w języku SQL
    • 30.5. Wprowadzenie do bezpieczeństwa statystycznych baz danych
    • 30.6. Wprowadzenie do kontroli przepływu
      • 30.6.1. Ukryte kanały
    • 30.7. Szyfrowanie i infrastruktura klucza publicznego
      • 30.7.1. Szyfry DES i AES
      • 30.7.2. Algorytmy z kluczem symetrycznym
      • 30.7.3. Szyfrowanie kluczem publicznym (asymetrycznym)
      • 30.7.4. Podpis cyfrowy
      • 30.7.5. Certyfikaty cyfrowe
    • 30.8. Problemy z prywatnością i jej zachowywanie
    • 30.9. Wyzwania związane z utrzymaniem bezpieczeństwa baz danych
      • 30.9.1. Jakość danych
      • 30.9.2. Prawa własności intelektualnej
      • 30.9.3. Odporność baz danych
    • 30.10. Zabezpieczenia oparte na etykietach w bazach Oracle
      • 30.10.1. Technologia wirtualnych prywatnych baz danych
      • 30.10.2. Architektura zabezpieczeń opartych na etykietach
      • 30.10.3. Współdziałanie etykiet danych i etykiet użytkowników
    • 30.11. Podsumowanie
      • Pytania powtórkowe
      • Ćwiczenia
      • Wybrane publikacje
  • Dodatki
  • Dodatek A Alternatywne notacje modeli związków encji
  • Dodatek B Parametry dysków
  • Dodatek C Omówienie języka QBE
    • C.1. Podstawowe mechanizmy pobierania danych w języku QBE
    • C.2. Grupowanie, agregacje i modyfikacje bazy danych w języku QBE
  • Dodatek D Bibliografia
    • Skróty używane w bibliografii:
    • Format zapisu pozycji w bibliografii
    • Publikacje

Dodaj do koszyka Wprowadzenie do systemów baz danych. Wydanie VII

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.