Введение в системы баз данных Эльмасри Рамез, Шамкант Б. Навате
Товар
- 0 раз купили
- 4.95 оценка
- 1 осталось
- 40 отзывов
Доставка
Характеристики
Описание
Wprowadzenie do systemów baz danych. Wydanie VII
Ramez Elmasri, Shamkant B. Navathe
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!
O autorach
Ramez Elmasri jest profesorem na Uniwersytecie Teksańskim. Posiada znaczący dorobek naukowy w dziedzinie baz danych, a jego książki stały się standardowymi podręcznikami na wielu uczelniach świata. Wypromował kilkunastu doktorów i ponad dwustu magistrów.
Shamkant Navathe jest profesorem w Instytucie Technologii w Georgii. Zajęcia dydaktyczne z wiedzy o bazach danych prowadzi od 1975 roku. Interesuje się również bioinformatyką. Ponadto jest niezależnym konsultantem, doradzającym wielu znaczącym przedsiębiorstwom.
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...
Гарантии
Гарантии
Мы работаем по договору оферты и предоставляем все необходимые документы.
Лёгкий возврат
Если товар не подошёл или не соответсвует описанию, мы поможем вернуть его.
Безопасная оплата
Банковской картой, электронными деньгами, наличными в офисе или на расчётный счёт.