Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курс лекций БД.rtf
Скачиваний:
28
Добавлен:
10.07.2019
Размер:
4.48 Mб
Скачать
      1. Семантические преобразования

Рассмотрим следующее выражение:

(Students JOIN Groups) [StName]

Данное соединение относится к соединениям типа внешниий-к-согласованному-потенциалъному-ключу. В этом соединении внешнему ключу в отношении Students ставится в соответствие потенциальный ключ отношения Groups. Следовательно, кортеж в отношении Students связан с определенным кортежем в отношении Groups. Таким образом, из каждого кортежа в отношении Students в общий результат поступает только значение атрибута StName. Другими словами, соединение можно не выполнять! Рассматриваемое выражение можно заменить выражением

Students [StName]

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

Важно понимать, что в принципе любое условие целостности может быть использовано для семантической оптимизации (если это условие не отсрочено и в данный момент действует на базу данных).

      1. Статистики базы данных

На стадиях 3 и 4 общего процесса оптимизации (они называются стадиями "выбора пути доступа") используются так называемые статистики базы данных, которые хранятся в каталоге.

Литература:

  1. Дейт К.Дж. Введение в системы баз данных. –Пер. с англ. –6-е изд. –К. Диалектика, 1998. Стр. 474–516.

  2. Восстановление после сбоев

ЛЕКЦИЯ 1. Содержание 3

ЛЕКЦИЯ 2. Понятие СУБД. Функции СУБД 6

2.1 Понятие БД и СУБД 9

2.2 Уровни абстракции в СУБД. Функции абстрактных данных 13

2.3 Представления 13

2.4 Функции СУБД 15

2.5 Экспертные системы и базы знаний 16

2. Модели БД 18

2.6 Обзор ранних (дореляционных) СУБД 20

2.7 Системы, основанные на инвертированных списках 21

2.8 Иерархическая модель 23

2.9 Сетевая модель 25

2.10 Основные достоинства и недостатки ранних СУБД 28

2. Реляционная модель и ее характеристики. Целостность в реляционной модели 29

2.11 Представление информации в реляционных БД 31

2.12 Домены 33

2.13 Отношения. Свойства и виды отношений 34

2.14 Целостность реляционных данных 38

2.15 Потенциальные и первичные ключи 38

2.16 Внешние ключи 40

2.17 Ссылочная целостность 41

2.18 Значения NULL и поддержка ссылочной целостности 42

2. Реляционная алгебра 44

2.19 Понятие реляционной алгебры 46

2.20 Замкнутость в реляционной алгебре 46

2.21 Традиционные операции над множествами 47

2.22 Свойства основных операций реляционной алгебры 50

2.23 Специальные реляционные операции 51

2. Вопросы проектирования БД 61

2.24 Понятие проектирования БД 63

2.25 Функциональные зависимости 65

2.26 Тривиальные и нетривиальные зависимости 68

2.27 Замыкание множества зависимостей и правила вывода Армстронга 68

2.28 Неприводимое множество зависимостей 71

2.29 Нормальные формы – основные понятия 72

2.30 Декомпозиция без потерь и функциональные зависимости 73

2.31 Диаграммы функциональных зависимостей 75

2. Проектирование БД. Нормальные формы отношений 77

2.32 Первая нормальная форма. Возможные недостатки отношения в 1НФ 79

2.33 Вторая нормальная форма. Возможные недостатки отношения во 2НФ 82

2.34 Третья нормальная форма. Возможные недостатки отношения в 3НФ 85

2.35 Нормальная форма Бойса-Кодда 87

2. Проектирование БД. Нормальные формы отношений (продолжение) 91

2.36 Многозначные зависимости 93

2.37 Четвертая нормальная форма 97

2.38 Зависимости соединения 97

2.39 Пятая нормальная форма 101

2.40 Итоговая схема процедуры нормализации 102

2. Проектирование БД методом сущность-связь. ER-диаграммы 103

2.41 Возникновение семантического моделирования 105

2.42 Основные понятия метода 105

2.43 Диаграммы ER-экземпляров и ER-типа 107

2.44 Правила формирования отношений 112

2.45 Методология IDEF1 (самостоятельное изучение) 117

3. Язык SQL 122

2.46 История создания и развития SQL 124

a. Основные понятия SQL 125

2.47 Запросы на чтение данных. Оператор SELECT 132

2.48 Многотабличные запросы на чтение (объединения). 138

2. Язык SQL (продолжение) 142

2.49 Объединения и стандарт SQL2 144

2.50 Итоговые запросы на чтение. Агрегатные функции 149

2.51 Запросы с группировкой (предложение GROUP BY) 151

2.52 Вложенные запросы 153

2. Язык SQL. (продолжение) 161

2.53 Внесение изменений в базу данных. 163

2.54 Удаление существующих данных (Оператор DELETE) 165

2.55 Обновление существующих данных (Оператор UPDATE) 165

2.56 Определение структуры данных в SQL 166

2.57 Понятие представления. 172

2.58 Представления в SQL. 174

2.60 Системный каталог (самостоятельное изучение) 176

2. Обеспечение безопасности БД 184

2.61 Общие положения 186

2.62 Методы обеспечения безопасности 187

2.63 Избирательное управление доступом 191

2.64 Обязательное управление доступом 192

2.65 Шифрование данных 193

2.66 Контрольный след выполняемых операций 193

2.68 Поддержка мер обеспечения безопасности в языке SQL 195

2.69 Директивы GRANT и REVOKE 195

2.71 Представления и безопасность 198

3. Физическая организация БД: структуры хранения и методы доступа 199

2.72 Доступ к базе данных 201

2.74 Кластеризация 204

2.75 Индексирование 205

2.76 Структуры типа Б-дерева 209

2.77 Хеширование 213

2. Оптимизация запросов 216

2.78 Пример оптимизации реляционного выражения 219

2.79 Обзор процесса оптимизации 221

2.80 Преобразование выражений 224

2. Восстановление после сбоев 231

2.81 Транзакции 233

2.82 Алгоритм восстановления после сбоя системы 238

2.83 Параллелизм. Проблемы параллелизма 240

2.84 Понятие блокировки 244

2.85 Решение проблем параллелизма 246

2.86 Тупиковые ситуации 250

2.87 Способность к упорядочению 251

2.89 Уровни изоляции транзакции 255

2.90 Поддержка в языке SQL 255

2. Технологии СУБД 257

2.91 Распределенные базы данных 259

2.93 Принципы функционирования распределенной БД 261

2.94 Системы типа клиент/сервер 265

2.95 Серверы баз данных 267

2. Современные постреляционные модели БД 269

2.96 Системы управления базами данных следующего поколения 271

2.97 Ориентация на расширенную реляционную модель 272

2.98 Объектно-ориентированные СУБД 275

ЛЕКЦИЯ 3. Приложение А. Структура учебной базы данных. (БД деканата ВУЗа). 286

ЛЕКЦИЯ 4. Приложение Б.Описание структуры учебной базы данных. 287

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