Введение в системы управления базами данных

         

Введение в системы управления базами данных

Введение
Таблица 1

Декартово произведение множеств

Декартово произведение множеств
Множества
n-арные отношения (отношения степени n)

Операции над множествами
двух множеств называется новое


двух множеств называется новое
Если класс объектов, на которых
произведением множеств
Если все множества
Определение 6"
Понятие отношения является очень важным
Обычно отношение эквивалентности обозначают знаком
Обычно отношение порядка обозначают знаком
Предикат функционального отношения есть просто
Определение 11.

Рассмотрим на множестве вещественных чисел
Рассмотрим более сложное отношение эквивалентности.
Простым примером отношения порядка является
быть начальником" является отношением порядка.
о взаимоотношения данных молодых людей
В некотором университете на математическом
и конструкций могут использоваться при

Примеры отношений Бинарные отношения (отношения степени 2)
Матрица взаимоотношений
Таблица фактовС точки зрения
Для того чтобы отразить факты
показывает текущее состояние учебного процесса.
Отношение RТранзитивное замыкание
Транзитивное замыкание отношения

Транзитивное замыкание отношений
это неопределяемое понятие, представляющее некоторую

Общая характеристика реляционной модели данных

Домены
Общая характеристика реляционной модели данных

Определение 1.
содержит множество кортежей отношения. Каждый
Реляционной базой
данных называется набор заголовков отношений,

Определения и примеры
Первая нормальная форма
все домены различны, то имена
Простые типы данных
Ссылочные типы данных
Структурированные типы данных
Свойства отношений

Отношение "Сотрудники"
Схема базы
Типы данных
Типы данных, используемые в реляционной модели
Реляционная модель данных состоит из

Целостность сущностей

Целостность сущностей
Целостность внешних ключей
Для дочернего отношения
Для родительского отношения
Целостность реляционных данных
Null-значения

Операции, могущие нарушить ссылочную целостность
в отношении не может быть
и потенциальный, может быть простым

Потенциальные ключи
При обновлении кортежа в дочернем отношении
При обновлении кортежа в родительском отношении
При удалении кортежа в родительском отношении
При вставке кортежа в дочернее отношение
Применение стратегий поддержания ссылочной целостности
Стратегии поддержания ссылочной целостности

Таблица истинности
Таблица истинности
Таблица истинности NOTИмеется несколько
При первом взгляде на таблицу,
и не сообщим смысл наименований
Потенциальным ключом этого отношения может
Отношение "Поставщики"
Отношение "Детали"
Номер детали" являются ссылками на

Трехзначная логика (3VL)
Внешние ключи
данные часто бывают неполными или
Замечания к правилам целостности сущностей и внешних ключей

Кросс-таблицы

Экви-соединение
Кросс-таблицы
Невыразимость транзитивного замыкания реляционными операторами
Обзор реляционной алгебры
Оператор декартового произведения
Оператор деления

Оператор переименования атрибутов
Оператор пересечения
Оператор проекции
Оператор соединения
Оператор выборки
Операторы объединения и вычитания

если они имеют идентичные заголовки,
двух совместимых по типу отношений
двух совместимых по типу отношений
двух совместимых по типу отношений

называется отношение, заголовок которого является
с тем же заголовком, что
где каждый из атрибутов принадлежит
Таким образом, операция соединения есть
Это частный случай операции общего
Естественное соединение настолько важно, что
Деление отношений аналогично делению чисел

Отношения, совместимые по типу
Плохая нормализация отношений

Следующий оператор возвращает неименованное отношение,
Пусть даны два отношения
в предыдущем примере пересечение имеет
в предыдущем примере вычитание имеет
Пусть даны два отношения
Пусть дано отношение
Пусть дано отношение
и поставляемых деталях. Пусть поставщикам
Пусть имеются отношения
В предыдущем примере ответ на
и поставками ответим на вопрос,
Получить имена поставщиков, поставляющих по
Получить имена поставщиков, поставляющих все
Получить имена поставщиков, не поставляющих
являются наименования химических веществ, значениями
Рассмотрим отношение, описывающее сотрудников некоего

Примером такого отношения могут быть
Получить имена поставщиков, поставляющих деталь
Примитивные реляционные операторы
Соединение
Отношение A
Отношение BОбъединение отношений
Как видно из приведенного примера,
в отличие от операции объединения,
Отношение A MINUS B
Отношение A (Поставщики)
Декартово произведение отношений
Сама по себе операция декартового
Результат выборки

выбрать кортежи отношения, удовлетворяющие некоторому
center> Таблица
center> Таблица
center> Таблица
какие поставщики имеют право поставлять
Какие поставщики поставляют какие
center> Таблица
center> Таблица
Ответ на вопрос, какие детали
соединения является то, что если
P JOIN PD JOIN
В качестве делителя возьмем проекцию
center> Таблица
center> Таблица
ХИМИЧЕСКИЙ СОСТАВ ВЕЩЕСТВ
center> Таблица

center> Таблица
НОМЕР ВЕЩЕСТВА
Ответом на запрос может быть
Таблица 29 Товар Месяц Количество Компьютеры Январь 100 Принтеры Январь 200 Сканеры Январь 300 Компьютеры Февраль 150 Принтеры Февраль 250 Сканеры Февраль 350 … … … Таблица 29 Данные о продажах
Построение кросс- таблицы средствами

к реляционным данным возможен при
Замкнутость реляционной алгебры
Запросы, невыразимые средствами реляционной алгебры
Зависимые реляционные операторы

BNF-нотация

BNF-нотация
DELETE - удаление строк в таблице
Элементы языка SQL
Использование имен корреляции (алиасов, псевдонимов)
Использование подзапросов
Как на самом деле выполняется оператор SELECT
Оператор декартового произведения
Оператор деления

Оператор объединения
Оператор пересечения
Оператор проекции
Оператор соединения
Оператор выборки
Оператор вычитания
Операторы DDL (Data Definition Language) - операторы определения объектов базы данных
Операторы DML (Data Manipulation Language) - операторы манипулирования данными
Операторы SQL

Операторы защиты и управления данными
Порядок выполнения оператора SELECT
в таблицу нескольких строк, выбранных
Обновление нескольких строк
Удаление нескольких строк
Удаление всех строк
Выбрать все строки из таблицы
Выбрать некоторые колонки из исходной
Выбрать некоторые колонки из исходной
с колонками, которых не было

В результате получим следующую таблицу,
Упорядочение результатов запроса по нескольким
В результате получим новую таблицу,
Ключевое слово USING позволяет явно
В разделе FROM не указано,
P NATURAL JOIN PD NATURAL
В результате получим следующую
Соединение таблиц по произвольному условию.

Пример 19. Отобрать все пары поставщиков...
Рассмотрим ситуацию, когда некоторые поставщики
и одной строкой, содержащей количество
и среднее количества поставляемых деталей
Для каждой детали получить суммарное
Получить номера деталей, суммарное поставляемое
Получить список поставщиков, статус которых
Использование предиката IN. Получить список
Использование предиката EXIST. Получить список
Использование предиката NOT EXIST. Получить

Получить имена поставщиков, поставляющих все
Получить имена поставщиков, имеющих статус,
Получить имена поставщиков, имеющих статус,
Получить имена поставщиков, имеющих статус,
Сравнение поля таблицы
Конструктор значений строки AND Конструктор

VOLUME BETWEEN 10 AND 100Предикат
PNUM FROM PD WHERE
шаблоне разрешается использовать два трафаретных
Предикат EXIST возвращает значение TRUE,
Отбор данных
вставка строк
Реализация реляционной алгебры средствами оператора SELECT (Реляционная полнота SQL)
FROM)
Синтаксический анализ)
Преобразование в каноническую форму)
WHERE)
Генерация планов выполнения запроса и выбор оптимального плана)
GROUP BY)
HAVING)

Выполнение плана запроса)
SELECT)
Синтаксис оператора выборки
Синтаксис соединенных таблиц
Синтаксис условных выражений раздела WHERE
Стадия 1. Выполнение одиночного оператора SELECT
Стадия 2. Выполнение операций UNION, EXCEPT, INTERSECT
Стадия 3. Упорядочение результата
TNAME KOL PRICE
PNUM DNUM

Если явно не указаны ключевые
в разделе FROM оператора, условие
Таблица 5
не указано условие соединения таблиц,
Отношение P (Поставщики)
какие поставщики имеют право поставлять
Таблица 9
Отношение CONTRAGENTS
Отношение DETAILS
и CNUM являются внешними ключами,
Этот же запрос может быть

Таблица 15
Таблица 16
В списке отбираемых полей оператора
В одном запросе могут встретиться
UPDATE - обновление строк в таблице
в настоящее время стал язык

Адекватность базы данных предметной области

НФ (Первая Нормальная Форма)
Адекватность базы данных предметной области
Алгоритм нормализации (приведение к 3НФ)
Анализ декомпозированных отношений
Аномалии обновления

Аномалии обновления (UPDATE)
Аномалии удаления (DELETE)
Аномалии вставки (INSERT)
Этапы разработки базы данных
Функциональные зависимости
Функциональные зависимости отношений и математическое понятие функциональной зависимости
Критерии оценки качества логической модели данных
Легкость разработки и сопровождения базы данных
OLTP и OLAP-системы

то любой атрибут отношения
Функциональная зависимость обычно обозначается как
и только тогда, когда отношение
если ни один из них
и только тогда, когда отношение
на множество атрибутов
Рассмотрим пример, показывающий, что декомпозиция

Определение функциональной зависимости Для устранения указанных аномалий (а на самом деле для правильного проектирования модели данных
Определение функциональной зависимости в отношении гарантирует, что найденное значение не зависит от выбора кортежа
Основной пример
Оставшиеся аномалии обновления (UPDATE)
Оставшиеся аномалии удаления (DELETE)
Оставшиеся аномалии вставки (INSERT)
В отношении СОТРУДНИКИ_ОТДЕЛЫ_ПРОЕКТЫ можно привести
Примеры понятий - "сотрудник"...

Приведение к 1НФ)
Приведение к 2НФ)
Приведение к 3НФ)

Скорость операций обновления данных (вставка, обновление, удаление)
Скорость операций выборки данных
Сравнение нормализованных и ненормализованных моделей

Отношение Сотрудники отделы проекты
Отношение ПРОЕКТЫ
Отношение ЗАДАНИЯ
Отношения Задания
Зависимость номера телефона от номера
Отношение ОТДЕЛЫОбратим внимание на
Как видно из таблицы, более
Рассмотрим первый вариант декомпозиции отношения
Отношение
Естественное соединение этих проекций, имеющих
данная декомпозиция не является декомпозицией
center> Таблица

По данным проекциям, имеющие общий
что этого не может быть,
center> Таблица
Естественное соединение этих проекций будет
Таким образом, без дополнительных ограничений
Теорема доказана

Теорема (Хеза)
Теорема Хеза Как было показано...
При разработке базы данных можно

Нормальные формы более высоких порядков

НФ (Четвертая Нормальная Форма)
НФ (Пятая Нормальная Форма)
Нормальные формы более высоких порядков
НФБК (Нормальная Форма Бойса-Кодда)
и только тогда, когда детерминанты
и только тогда, когда из
если не существует функциональных зависимостей
и только тогда, когда отношение

возможно пересекающимися) подмножествами множества атрибутов
Ни одно из множеств атрибутов
Либо одно из множеств атрибутов
и только тогда, когда любая
в отношении найдется нетривиальная зависимость
о поставках деталей некоторыми поставщиками.
прежнему необходимо учитывать поставки, но
Рассмотрим следующее отношение
Продолжение алгоритма нормализации (приведение к 5НФ)

Приведение к НФБК)
Приведение к 4НФ)
Приведение к 5НФ)

Данное отношение содержит два потенциальных
Отношение "Поставщики"
Отношение "Поставки-2"
Отношение "Поставщики"

На первый взгляд, такая декомпозиция
Одним потенциальным ключом данного отношения
о том, что абитуриент Иванов
Модифицированное отношение
Отношение "Абитуриенты"
center> Таблица
Теперь каждое наименование встречается только
center> Таблица
В полученных отношениях устранены аномалии

center> Таблица
center> Таблица
center> Таблица
Как легко заметить, отношение
Серым цветом выделен лишний кортеж,
Теорема (Фейджина)
Теорема Фейджина (другая формулировка)
Обобщением 3НФ на случай, когда

Элементы модели "сущность-связь"

Элементы модели "сущность-связь"

Концептуальные и физические ER-модели
это класс однотипных объектов, информация
Экземпляры сущностей должны быть различимы,
это именованная характеристика, являющаяся некоторым
это неизбыточный набор атрибутов, значения
это некоторая ассоциация между двумя

Пример разработки простой ER-модели...
Примерами атрибутов сущности "Сотрудник"...
Примерами сущностей могут быть...
Реальным средством моделирования данных является

Транзакции и целостность баз данных

Транзакции и целостность баз данных
Классификация ограничений целостности
Классификация ограничений целостности...
Классификация ограничений целостности по способам реализации
Общие принципы реализации ограничений средствами SQL
Ограничения целостности
это некоторое утверждение, которое может

Определение 3. База данных находится в согласованном (целостном) состоянии
в определении ограничений средствами языка
Не все ограничения целостности можно
в момент фиксации транзакции оператором
представляют собой ограничения, накладываемые только
представляют собой ограничения, накладываемые на
представляют собой ограничения, накладываемые на
представляют ограничения, накладываемые только на
представляют ограничения, накладываемые на значения

Определение столбца
Определение столбца
это последовательность операторов манипулирования данными,
Каждый сотрудник имеет уникальный табельный
Пример 3 представляет ограничение...
Сотрудник обязан числиться
Сумма накладной обязана равняться сумме

Возраст сотрудника не менее 25
можно сформулировать следующее ограничение: если
В накладной можно установить следующую
задаваемое потенциальным ключом отношения, является
Ограничение целостности, определяемые наличием функциональных,
в отношении PERSON
Ограничение целостности, определяемое требованием, что
задаваемое внешним ключом отношения, является
является отношением базы данных,

Приведенный ниже оператор создает домен
City_Id INTEGER REFERENCES City ON
Commission IS NOT NULL) DEFERRABLE
в них сотрудниках. Список подразделений
Пример ограничения типа CHECK...
Примерами ограничений целостности могут служить
Примером ограничения, которое...

Примером такого ограничения может...
Примеры предикатов различного...
Вставить сотрудника в таблицу...
Синтаксис ограничений стандарта SQL
Синтаксис операторов SQL, использующих ограничения
DEPART
PERSONОграничение целостности этой базы
требующими ввода данных являются всего

таблица A (Родительская)
B имеет первичный ключ Z,
Предложение MATCH игнорируется, если все
с точки зрения воздействия на

Блокировки

Блокировки
Фиктивные элементы (фантомы)
Фиктивные элементы (фантомы)
Транзакции и параллелизм
Конфликты между транзакциями
Механизм выделения версий данных

Метод временных меток
Неповторяемое считывание
Неповторяемое считывание
Набор из нескольких транзакций, элементарные
в которой выполняются элементарные операции

если они пересекаются по времени
График запуска набора транзакций называется
Если график запуска набора транзакций
если при их выполнении будет
При выполнении двух различных последовательных
Предикатные блокировки
Преднамеренные блокировки

Проблема несовместимого анализа
Проблема незафиксированной зависимости (чтение "грязных" данных, неаккуратное считывание)
Проблема незафиксированной зависимости (чтение "грязных" данных, неаккуратное считывание)
Проблема потери результатов обновления
Проблема потери результатов обновления
Проблемы параллельной работы транзакций

Работа транзакций в смеси
Разрешение тупиковых ситуаций
Решение проблем параллелизма при помощи блокировок
Синтаксис операторов SQL, определяющих уровни изоляции
Собственно несовместимый анализ
Собственно несовместимый анализ
После окончания обеих транзакций, строка

С чем же работала транзакция
о существовании транзакции B, и,
Вставка новой строки, удовлетворяющей условию
по всем счетам неправильная
B не может блокировать объект,
Обе транзакции ожидают друг друга

транзакции B. После этого транзакция
B притормозилась до окончания транзакции
Вставка новой строки, удовлетворяющей условию
Обе транзакции ожидают друг друга
Как видно, ситуация тупика может
B пытается наложить на таблицу

с целью потом блокировать строки)
Транзакция A, начавшаяся первой не
Уровни изоляции стандарта
Теорема Есварана
Теорема Есварана о сериализуемости...
Уровни изоляции
Современные многопользовательские системы допускают одновременную

Транзакции и восстановление данных

Транзакции и восстановление данных
Индивидуальный откат транзакции
Виды восстановления данных
Восстановление данных и стандарт SQL
Восстановление после жесткого сбоя

Восстановление после мягкого сбоя
Главное требование долговечности данных транзакций

Содержание