
- •Введение в бд
- •Файловые системы
- •Системы с базами данных
- •Модели данных
- •Альтернативная терминология Терминология, используемая в реляционной модели, порой может привести к путанице, поскольку помимо предложенных двух наборов терминов существует еще один – третий.
- •Сетевая модель данных
- •Иерархическая модель данных
- •Вопросы:
- •Упражнения:
- •Реляционная модель.
- •Реляционная алгебра. Реляционное исчисление.
- •Реляционная модель
- •Реляционные языки
- •Реляционная алгебра
- •Унарные операции реляционной алгебры
- •Операции с множествами
- •Операции соединения
- •Деление
- •Реляционное исчисление
- •Реляционное исчисление кортежей
- •Реляционное исчисление доменов
- •Другие языки
- •Тема 3 Моделирование данных Модель «сущность-связь»
- •Элементы модели «сущность-связь»
- •Сущность
- •Атрибуты
- •Идентификаторы
- •Три типа бинарных связей
- •Диаграммы «сущность-связь»
- •Изображение атрибутов в диаграммах «сущность-связь»
- •Слабые сущности
- •Подтипы сущностей
- •Пример er-диаграммы
- •Диаграммы «сущность-связь» в стиле uml
- •Сущности и связи в uml
- •Представление слабых сущностей
- •Представление подтипов
- •Конструкции ооп, введенные языком uml
- •Семантическая объектная модель
- •Семантические объекты
- •Определение семантических объектов
- •Атрибуты
- •Кардинальное число атрибута
- •Экземпляры объектов
- •Парные атрибуты
- •Объектные идентификаторы
- •Домены атрибутов
- •Представления семантических объектов
- •Создание семантических объектных моделей данных
- •Пример: база данных администрации нтуу «кпи»
- •Спецификация объектов
- •Типы объектов
- •Простые объекты
- •Составные объекты
- •Гибридные объекты
- •Ассоциативные объекты
- •Объекты вида родитель/подтип
- •Объекты вида архетип/версия
- •Переход от семантической объектной модели к модели «сущность-связь»
- •Вопросы:
- •Упражнения:
- •Тема 4 Нормализация
- •Классы отношений
- •Нормальные формы от первой до пятой
- •Тема 5 Методология проектирования баз данных Введение в методологию проектирования баз данных
- •Методология концептуального проектирования базы данных
- •Методология логического проектирования реляционных баз данных
- •Суть состоит в том, что при устранении избыточности очень важно исследовать значение каждой из связей, существующих между сущностями.
- •Методология физического проектирования базы данных
- •Трехуровневая архитектура ansi-sparc
- •Система управления Базами Данных
- •1. Хранение, извлечение и обновление данных
- •2. Каталог доступный конечным пользователям
- •Поддержка транзакций
- •Сервисы управления параллельностью
- •Сервисы восстановления
- •6. Сервисы контроля доступа к данным
- •Поддержка обмена данными
- •8. Вспомогательные службы
- •Преимущества:
- •Недостатки:
- •Вопросы:
- •Упражнения:
- •История языка sql
- •Особая роль языка sql
- •Используемая терминология
- •Запись операторов sql
- •Манипулирование данными
- •Литералы
- •Простые запросы
- •Выборка строк (конструкция where)
- •Сортировка результатов (конструкция order by)
- •Использование агрегирующих функций языка sql
- •Группирование результатов (конструкция group by)
- •Ограничения на выполнение группирования (конструкция having)
- •Подзапросы
- •Ключевые слова any и all
- •Многотабличные запросы
- •Выполнение соединений
- •Внешние соединения
- •Ключевые слова exists и not exist
- •Комбинирование результирующих таблиц (операции union, intersect и except)
- •Изменение содержимого базы данных
- •Добавление новых данных в таблицу (оператор insert)
- •Модификация данных в базе (оператор update)
- •Удаление данных из базы (оператор delete)
- •Скалярные типы данных языка sql
- •Логические данные (тип boolean)
- •Символьные данные (тип character)
- •Битовые данные (тип bit)
- •Точные числовые данные (тип exact numeric)
- •Округленные числовые данные (тип approximate numeric)
- •Дата и время (тип datetime)
- •Интервальный тип данных interval
- •Скалярные операторы
- •Средства поддержки целостности данных
- •Обязательные данные
- •Ограничения для доменов
- •Целостность сущностей
- •Ссылочная целостность
- •Требования данного предприятия
- •Определение данных
- •Создание баз данных
- •Создание таблиц (оператор create table)
- •Модификация определения таблицы (оператор alter table)
- •Удаление таблиц (оператор drop table)
- •Создание индекса (оператор create index)
- •Удаление индекса (оператор drop index)
- •Представления
- •Создание представлений (оператор create view)
- •Удаление представлений (оператор drop view)
- •Замена представлений
- •Ограничения на использование представлений
- •Обновление данных в представлениях
- •Использование конструкции with check option
- •Преимущества и недостатки представлений
- •Преимущества
- •Недостатки
- •Материализация представлений
- •Использование транзакций
- •Немедленные и отложенные ограничения поддержки целостности данных
- •Управление доступом к данным
- •Идентификаторы пользователей и права владения
- •Привилегии
- •Предоставление привилегий другим пользователям (оператор grant)
- •Отмена предоставленных пользователям привилегий (оператор revoke)
- •Приложение
- •Тема 7.3 Хранимые процедуры и функции. Триггеры.
- •Создание хранимых процедур и функций
- •Простые формы выражений
- •Поддержка транзакций
- •Свойства транзакций
- •Архитектура базы данных
- •Управление параллельным доступом
- •Проблема потерянного обновления
- •Проблема зависимости от незафиксированных результатов (или "грязного" чтения)
- •Проблема анализа несогласованности
- •Упорядочиваемость и восстанавливаемость
- •Конфликтная упорядочиваемость
- •Упорядочиваемость по просмотру
- •Восстанавливаемость
- •Методы управления параллельным доступом
- •Методы блокировки
- •Двухфазная блокировка
- •Управление параллельным выполнением при использовании индексных структур
- •Защелки
- •Взаимоблокировка
- •Тайм-ауты
- •Предотвращение взаимоблокировок
- •Обнаружение взаимоблокировок
- •Частота выполнения операции обнаружения взаимоблокировок
- •Возобновление нормальной работы после обнаружения взаимоблокировки
- •Использование временных отметок
- •Правило записи Томаса
- •Сравнение методов
- •Упорядочение временных отметок в случае многих версий
- •Оптимистические методы упорядочения
- •Степень детализации блокируемых элементов данных
- •Иерархия степеней детализации
- •Блокировка с учетом нескольких степеней детализации
- •Восстановление базы данных
- •Необходимость восстановления
- •Транзакции и восстановление
- •Управление буферами базы данных
- •Функции восстановления
- •Механизм резервного копирования
- •Файл журнала
- •Создание контрольных точек
- •Методы восстановления
- •Метод восстановления с использованием отложенного обновления
- •Метод восстановления с использованием немедленного обновления
- •Метод теневого страничного обмена
- •Улучшенные модели транзакций
- •Модель вложенных транзакций
- •Эмуляция механизма вложенных транзакций с помощью точек сохранения
- •Хроники
- •Модель многоуровневых транзакций
- •Динамическая реструктуризация
- •Модели рабочих потоков
- •Общий обзор методов обработки запросов
- •Основные этапы обработки запросов
- •Динамическая и статическая оптимизация запросов
- •Декомпозиция запросов
- •Нормализация
- •Семантический анализ
- •Упрощение
- •Реструктуризация запросов
- •Эвристический подход к оптимизации запросов
- •Правила преобразования операций реляционной алгебры
- •Оценка стоимости операций реляционной алгебры
- •Статистические показатели базы данных
- •Вариант 6. Поиск по равенству значению кластеризующего (вторичного) индекса
- •Вариант 7. Поиск по равенству значению некластеризующего (вторичного) индекса
- •Составные предикаты
- •Конъюнктивная выборка без дизъюнкций
- •Выборки с дизъюнкциями
- •Конвейерная обработка данных
- •Тема 10
- •Основные типы угроз
- •Контрмеры – компьютерные средства контроля
- •Авторизация пользователей
- •Привилегии
- •Права владения и привилегии
- •Представления (подсхемы)
- •Резервное копирование и восстановление
- •Поддержка целостности
- •Шифрование
- •Raid (массив независимых дисковых накопителей с избыточностью)
- •Средства защиты субд Microsoft Access
- •Установка пароля
- •Защита на уровне пользователя
Реляционное исчисление доменов
В реляционном исчислении доменов используются переменные, значения которых берутся из доменов, а не из кортежей отношений.
Если Р(d1, d2,…, dn) обозначает предикат с переменными d1, d2,…, dn , то множество всех переменных домена d1, d2,…, dn , для которых предикат или формула Р(d1, d2,…, dn) истинны, обозначается следующим выражением: { d1, d2,…, dn |Р(d1, d2,…, dn)}
В реляционном исчислении доменов зачастую требуется проверить условие принадлежности, чтобы определить, принадлежат ли значения указанному отношению.
Выражение R(х,у) считается истинным тогда и только тогда, когда в отношении R имеется кортеж со значениями х и у в двух его атрибутах.
Пример. Найдите имена всех преподавателей, зарплата которых превышает 2500 гривен.
{Имя, Фамилия | должность, зарплата ((фамилия, должность, зарплата) должность= ‘преподаватель’ зарплата>2500)}
Для каждого выражения реляционной алгебры существует эквивалентное выражение реляционного исчисления, а для каждого выражения реляционного исчисления доменов или кортежей существует эквивалентное выражение реляционной алгебры.
Другие языки
Несмотря на то, что реляционное исчисление является достаточно сложным с точки зрения освоения и использования, тем не менее, его непроцедурная природа считается весьма перспективной и это стимулирует поиск других, более простых в употреблении непроцедурных методов.
Подобные исследования вызвали появление двух других категорий реляционных языков:
на основе преобразований,
графических языков.
Языки на основе преобразований являются классом непроцедурных языков, которые используют отношения для преобразования исходных данных к требуемому виду.
Примерами являются SQUARE , SEQUEL и его версии, а также язык SQL.
Графические языки предоставляют пользователю рисунок или другое графическое отображение структуры отношения; пользователь создает некий образец желаемого результата, и система возвращает затребованные данные в указанном формате.
Примером подобного языка является язык QBE.
Еще одной категорией языков являются языки четвертого
поколения, которые позволяют создавать полностью готовое и соответствующее требованиям заказчика прикладное приложение с помощью ограниченного набора команд и в то же время предоставляют дружественную по отношению к пользователю среду разработки.
Вопросы:
2.1. Как структурированы данные в реляционной модели?
2.2. Раскройте понятие представления.
2.3. Опишите основные положения реляционной целостности. Что такое
целостность сущностей и ссылочная целостность?
2.4. Опишите разницу между процедурным и непроцедурным
языками? К каким из них относятся реляционная алгебра и
реляционное исчисление?
2.5. Объясните смысл следующих терминов: реляционно-полный;
замыкание реляционных операций.
2.5. Какие операции называются унарными и бинарными?
2.6. Дайте определение пяти основных операций реляционной алгебры.
Определите с помощью этих пяти операций операции соединения,
пересечения и деления.
2.7. Объясните, в чем состоят различия между пятью операциями
соединения (тета-соединение, соединение по эквивалентности,
естественное соединение, внешнее соединение и полусоединение).
Приведите примеры, иллюстрирующие ваш ответ.
2.8. Покажите, в чем состоят сходство и различие реляционного
исчисления кортежей и реляционного исчисления доменов. Подробно
опишите различие между переменными кортежа и домена.
2.9. Определите структуру (правильно построенной) формулы в
реляционном исчислении кортежей и реляционном исчислении
доменов.
2.10. Дайте определение: языки на основе преобразований и графических
языки.
Упражнения:
2.1. Задано отношение R
-
Код
Номер семинара
Дата семинара
ФИО отвечающего
1
183
23.01.2006
Иванов К.А.
2
457
11.04.2006
Петров Л.И
3
754
10.08.2006
Сидоров М.А.
Используйте операцию выборки для отношения S, при условии, что семинар проходит не раньше 18.05.2006.
2.2. Задано отношение
-
Код
Дата
Название запчасти
Стоимость
1
25.11.2005
Передний бампер
145
2
17.02.2005
Заднее крыло
175
3
18.11.2005
Передний бампер
145
4
03.12.2005
Передняя правая фара
87
Используйте операцию проекции для отношения R по атрибутам Название запчасти.
2.3. Задано два отношения.
Отношение R
-
Наименование товара
Стиомость
Номер склада
Tide
5.7 грн
5
Ariel
6.4 грн
7
Ace
5.3 грн
4
Отношение S
-
Название банка
Плата за перечисление денег (%)
ФИО касира
Аваль
0.4
Фролов Н.И.
УкрСоцБанк
0.5
Иванов М.О.
Постройте отношение P, равное декартовому произведению отношений R и S.
2.4. Заданы два отношения.
Отношение R
-
Номер рейса
Время вылета
Маршрут
1245
15.20
Киев-Одесса
7894
20.45
Киев-Лондон
4589
9.00
Киев-Москва
Отношение S
-
Номер рейса
Время вылета
Маршрут
7814
21.15
Киев-Милан
7894
20.45
Киев-Лондон
Постройте отношение P, объединяющее отношения R и S.
2.5. Заданы два отношения.
Отношение R
-
Код
Номер выставки
Дата выставки
ФИО ответственного
1
183
23.01.2006
Степаненко А.А.
2
457
10.04.2006
Рудников В.И.
3
754
10.08.2006
Гордиенко А.М.
Отношение S
-
Код
Номер выставки
Дата выставки
ФИО ответственного
1
183
23.01.2006
Степаненко А.А.
4
597
21.05.2006
Василенко И.А.
Постройте отношение Р, являющееся разностью отношений R и S.
2.6. Заданы два отношения.
Отношение R
Номер выставки |
Дата выставки |
101 |
22.01.2006 |
165 |
25.02.2006 |
358 |
10.05.2006 |
Отношение S
-
Код картины
Название картины
Номер выставки
ФИО ответственного
1001
Цветы
101
Степаненко А.А.
1002
Река
101
Степаненко А.А.
1003
Ночь
365
Рудников В.И.
1004
Море
358
Гордиенко А.М.
Постройте отношение P, являющееся естественным соединением отношений R и S.
2.7. Задано два отношения.
Отношение R
Номер группы |
Количество студентов |
ФИО куратора |
ТМ-31 |
20 |
Иванов |
ТМ-32 |
22 |
Петров |
ТИ-31 |
13 |
Сидоров |
Отношение S
Номер группы |
Количество студентов |
ФИО куратора |
ТМ-31 |
20 |
Иванов |
ТЗ-32 |
25 |
Круглов |
ТИ-31 |
13 |
Сидоров |
Постройте отношение P, равное пересечению отношений R и S.
2.8. Заданы два отношения.
Отношение R
№ склада |
Адрес |
Зав.склада |
Идент.код |
Количество |
Дата |
ФИО заказчика |
5 |
Воровского 1 |
Зыков |
140770 |
78 |
15.09 |
Петров |
7 |
Воровского 10 |
Сидоров |
140765 |
56 |
14.11 |
Иванов |
7 |
Воровского 10 |
Сидоров |
140765 |
78 |
15.09 |
Петров |
Отношение S
-
Идент.код
Количество
Дата
ФИО заказчика
140770
78
15.09
Петров
140765
56
14.11
Иванов
Постройте отношение P, равное частному от деления отношений R и S.