Автор: Пушников А.Ю.
1999.
Основное назначение данного учебного пособия - дать систематическое введение в основы реляционной модели данных и принципы функционирования реляционных баз данных.
Оглавление
ВВЕДЕНИЕ
ГЛАВА 1. ЭЛЕМЕНТЫ ТЕОРИИ МНОЖЕСТВ
Множества
Операции над множествами
Декартово произведение множеств
Отношение
Примеры отношений
Бинарные отношения (отношения степени 2)
Отношение эквивалентности
Отношения порядка
Функциональное отношение
Еще пример бинарного отношения n-арные отношения (отношения степени n)
Транзитивное замыкание отношений
Выводы
ГЛАВА 2. БАЗОВЫЕ ПОНЯТИЯ РЕЛЯЦИОННОЙ МОДЕЛИ ДАННЫХ
Общая характеристика реляционной модели данных
Типы данных
Простые типы данных
Структурированные типы данных
Ссылочные типы данных
Типы данных, используемые в реляционной модели
Домены
Отношения, атрибуты, кортежи отношения
Определения и примеры
Свойства отношений
Первая нормальная форма
Выводы
ГЛАВА 3. ЦЕЛОСТНОСТЬ РЕЛЯЦИОННЫХ ДАННЫХ
Null-значения
Трехзначная логика (3VL)
Потенциальные ключи
Целостность сущностей
Внешние ключи
Целостность внешних ключей
Замечания к правилам целостности сущностей и внешних ключей
Операции, могущие нарушить ссылочную целостность
Для родительского отношения
Для дочернего отношения
Стратегии поддержания ссылочной целостности
Применение стратегий поддержания ссылочной целостности
При обновлении кортежа в родительском отношении
При удалении кортежа в родительском отношении
При вставке кортежа в дочернее отношение
При обновлении кортежа в дочернем отношении
Выводы
ГЛАВА 4. РЕЛЯЦИОННАЯ АЛГЕБРА.
Обзор реляционной алгебры
Замкнутость реляционной алгебры
Отношения, совместимые по типу
Оператор переименования атрибутов
Теоретико-множественные операторы
Объединение
Пересечение
Вычитание
Декартово произведение
Специальные реляционные операторы
Выборка (ограничение, селекция)
Проекция
Соединение
Общая операция соединения
Тэта-соединение
Экви-соединение
Естественное соединение
Деление
Примеры использования реляционных операторов
Зависимые реляционные операторы
Оператор соединения
Оператор пересечения
Оператор деления
Примитивные реляционные операторы
Оператор декартового произведения
Оператор проекции
Оператор выборки
Операторы объединения и вычитания
Запросы, невыразимые средствами реляционной алгебры
Плохая нормализация отношений
Невыразимость транзитивного замыкания реляционными операторами
Кросс-таблицы
Выводы
ГЛАВА 5. ЭЛЕМЕНТЫ ЯЗЫКА SQL.
Операторы SQL
Операторы DDL (Data Definition Language) - операторы определения объектов базы данных
Операторы DML (Data Manipulation Language) - операторы манипулирования данными
Операторы защиты и управления данными
Примеры использования операторов манипулирования данными
INSERT - вставка строк в таблицу
UPDATE - обновление строк в таблице
DELETE - удаление строк в таблице
Примеры использования оператора SELECT
Отбор данных из одной таблицы
Отбор данных из нескольких таблиц
Использование имен корреляции (алиасов, псевдонимов)
Использование агрегатных функций в запросах
Использование агрегатных функций с группировками
Использование подзапросов
Использование объединения, пересечения и разности
Синтаксис оператора выборки данных (SELECT)
BNF-нотация
Синтаксис оператора выборки
Синтаксис соединенных таблиц
Синтаксис условных выражений раздела WHERE
Порядок выполнения оператора SELECT
Стадия 1. Выполнение одиночного оператора SELECT
Стадия 2. Выполнение операций UNION, EXCEPT, INTERSECT
Стадия 3. Упорядочение результата
Как на самом деле выполняется оператор SELECT
Реализация реляционной алгебры средствами оператора
SELECT (Реляционная полнота SQL)
Оператор декартового произведения
Оператор проекции
Оператор выборки
Оператор объединения
Оператор вычитания
Оператор соединения
Оператор пересечения
Оператор деления
Выводы
ГЛАВА 6. НОРМАЛЬНЫЕ ФОРМЫ ОТНОШЕНИЙ
Этапы разработки базы данных
Критерии оценки качества логической модели данных
Адекватность базы данных предметной области
Легкость разработки и сопровождения базы данных
Скорость операций обновления данных (вставка, обновление, удаление)
Скорость операций выборки данных
Основной пример
1НФ (Первая Нормальная Форма)
Аномалии обновления
Аномалии вставки (INSERT)
Аномалии обновления (UPDATE)
Аномалии удаления (DELETE)
Функциональные зависимости
Определение функциональной зависимости
Функциональные зависимости отношений и математическое понятие функциональной зависимости
2НФ (Вторая Нормальная Форма)
Анализ декомпозированных отношений
Оставшиеся аномалии вставки (INSERT)
Оставшиеся аномалии обновления (UPDATE)
Оставшиеся аномалии удаления (DELETE)
3НФ (Третья Нормальная Форма)
Алгоритм нормализации (приведение к 3НФ)
Анализ критериев для нормализованных и ненормализованных моделей данных
Сравнение нормализованных и ненормализованных моделей
OLTP и OLAP-системы
Корректность процедуры нормализации - декомпозиция без потерь. Теорема Хеза
Выводы
ГЛАВА 7. НОРМАЛЬНЫЕ ФОРМЫ БОЛЕЕ ВЫСОКИХ ПОРЯДКОВ
НФБК (Нормальная Форма Бойса-Кодда)
4НФ (Четвертая Нормальная Форма)
5НФ (Пятая Нормальная Форма)
Продолжение алгоритма нормализации (приведение к 5НФ)
Выводы
ГЛАВА 8. ЭЛЕМЕНТЫ МОДЕЛИ "СУЩНОСТЬ-СВЯЗЬ"
Основные понятия ER-диаграмм
Пример разработки простой ER-модели
Концептуальные и физические ER-модели
Выводы
ГЛАВА 9. ТРАНЗАКЦИИ И ЦЕЛОСТНОСТЬ БАЗ ДАННЫХ
Пример нарушения целостности базы
Понятие транзакции
Ограничения целостности
Классификация ограничений целостности
Классификация ограничений целостности по способам реализации
Классификация ограничений целостности по времени проверки
Классификация ограничений целостности по области действия
Ограничения домена
Ограничения атрибута
Ограничения кортежа
Ограничения отношения
Ограничения базы данных
Реализация декларативных ограничений целостности средствами SQL
Общие принципы реализации ограничений средствами SQL
Синтаксис ограничений стандарта SQL
Синтаксис операторов SQL, использующих ограничения
Выводы
ГЛАВА 10. ТРАНЗАКЦИИ И ПАРАЛЛЕЛИЗМ
Работа транзакций в смеси
Проблемы параллельной работы транзакций
Проблема потери результатов обновления
Проблема незафиксированной зависимости (чтение "грязных" данных, неаккуратное считывание)
Проблема несовместимого анализа
Неповторяемое считывание
Фиктивные элементы (фантомы)
Собственно несовместимый анализ
Конфликты между транзакциями
Блокировки
Решение проблем параллелизма при помощи блокировок
Проблема потери результатов обновления
Проблема незафиксированной зависимости (чтение "грязных" данных, неаккуратное считывание)
Проблема несовместимого анализа
Неповторяемое считывание
Фиктивные элементы (фантомы)
Собственно несовместимый анализ
Разрешение тупиковых ситуаций
Преднамеренные блокировки
Предикатные блокировки
Метод временных меток
Механизм выделения версий данных
Теорема Есварана о сериализуемости
Реализация изолированности транзакций средствами SQL
Уровни изоляции
Синтаксис операторов SQL, определяющих уровни изоляции
Выводы
ГЛАВА 11. ТРАНЗАКЦИИ И ВОССТАНОВЛЕНИЕ ДАННЫХ
Виды восстановления данных
Индивидуальный откат транзакции
Восстановление после мягкого сбоя
Восстановление после жесткого сбоя
Восстановление данных и стандарт SQL
Выводы
СПИСОК ЛИТЕРАТУРЫ.
Null-значения.
Основное назначение баз данных состоит в том. чтобы хранить и предоставлять информацию о реальном мире. Для представления этой информации в базе данных используются привычные для программистов типы данных - строковые, численные, логические и т.п. Однако в реальном мире часто встречается ситуация, когда данные неизвестны или не полны.
Например, место жительства или дата рождения человека могут быть неизвестны (база данных разыскиваемых преступников). Если вместо неизвестного адреса уместно было бы вводить пустую строку, то что вводить вместо неизвестной даты? Ответ - пустую дату - не вполне удовлетворителен, т.к. простейший запрос "выдать список людей в порядке возрастания дат рождения" даст заведомо неправильных ответ.
Для того чтобы обойти проблему неполных или неизвестных данных, в базах данных могут использоваться типы данных, пополненные так называемым null-значением, Null-значение - это. собственно, не значение, а некий маркер, показывающий, что значение неизвестно.
Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Введение в системы управления базами данных - Пушников А.Ю. - fileskachat.com, быстрое и бесплатное скачивание.
Скачать pdf
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России.Купить эту книгу
Скачать книгу - Введение в системы управления базами данных - Пушников А.Ю. - depositfiles
Скачать книгу - Введение в системы управления базами данных - Пушников А.Ю. - letitbit
Дата публикации:
Хештеги: #книга по программированию :: #введение :: #база данных :: #SQL :: #Пушников
Смотрите также учебники, книги и учебные материалы:
Следующие учебники и книги:
- XML - XSLT - Java and JSP - A Case Study in Developing a Web Application - Welly Rockwell
- XHTML - Учебный курс - Наварро Э.
- Алгоритмы + структуры данных = программы, Вирт Н.
- Мифический человеко - месяц или как создаются программные системы - Брукс Ф.
Предыдущие статьи:
- Язык программирования С++ - Бьерн Страуструп
- Delphi 2005 для .NET - Евгений Марков, Владимир Никифоров
- Программирование для Microsoft Windows на С# - В 2 томах, том 2, Петцольд Ч.
- Программирование для Microsoft Windows на С# - В 2 томах, том 1, Петцольд Ч.