Facebook - konwersja

  • promocja

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

Wydawnictwo:
Format:
MOBI
Data wydania:
19 lutego 2019
15215 pkt
punktów Virtualo

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

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!

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...
Kategoria: Bazy danych
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-283-4696-3
Rozmiar pliku: 14 MB

BESTSELLERY

Menu

Zamknij