Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БДЗиЭС / Базы данных, знаний и экспертные системы. Часть 2 (теория).pdf
Скачиваний:
108
Добавлен:
11.05.2015
Размер:
1.78 Mб
Скачать

1

Базы данных, знаний и экспертные системы

Методическое пособие для студентов 3-4 курсов специальности 40 01 01 «Программное обеспечение информационных технологий»

ЧАСТЬ 2 Автор к.т.н., доцент кафедры ПОИТ БГУИР

Копачев Алексей Геннадьевич

Базы данных, знаний и экспертные системы....................................................................

1

1

. Элементы реляционной алгебры...............................................................................

5

 

1.1

. Обзор реляционной алгебры.......................................................................

5

 

1.2

. Замкнутость реляционной алгебры............................................................

5

 

1.3

. Отношения, совместимые по типу.............................................................

6

 

1.3.1

Оператор переименования атрибутов............................................

6

 

1.4

. Теоретико-множественные операторы......................................................

7

 

1.4.1

Объединение.........................................................................................

7

 

1.4.2

Пересечение..........................................................................................

8

 

1.4.3

Вычитание..............................................................................................

9

 

1.4.4

Декартово произведение....................................................................

9

 

1.5

. Специальные реляционные операторы....................................................

10

 

1.5.1

Выборка (ограничение, селекция)..................................................

10

 

1.5.2

Проекция...............................................................................................

11

 

1.5.3

Соединение..........................................................................................

12

 

1.6

. Примеры использования реляционных операторов...............................

17

 

1.6.1

Зависимые реляционные операторы............................................

18

 

1.6.2

Оператор соединения.......................................................................

18

 

1.6.3

Оператор пересечения.....................................................................

18

 

1.6.4

Оператор деления..............................................................................

19

 

1.6.5

Примитивные реляционные операторы.......................................

19

 

1.6.6

Оператор декартового произведения...........................................

19

 

1.6.7

Оператор проекции............................................................................

19

 

1.6.8

Оператор выборки..............................................................................

19

 

1.6.9

Операторы объединения и вычитания.........................................

19

 

1.6.10

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

19

 

1.7

. Выводы........................................................................................................

20

2

Нормальные формы отношений................................................................................

20

 

2.1

Этапы разработки базы данных..................................................................

20

 

2.2

. Критерии оценки качества логической модели данных........................

23

 

2.2.1

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

24

 

2.2.2

Легкость разработки и сопровождения базы данных .......................

24

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

удаление)..............................................................................................................

25

2.2.4 Скорость операций выборки данных..................................................

26

2.3 . Основной пример.......................................................................................

26

2.3.1 . 1НФ (Первая Нормальная Форма) ....................................................

27

 

2

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

30

2.4.1 Определение функциональной зависимости......................................

30

2.4.2Функциональные зависимости отношений и математическое

понятие функциональной зависимости............................................................

32

2.4.3

2НФ (Вторая Нормальная Форма).......................................................

33

2.5

. Анализ декомпозированных отношений.................................................

34

2.5.1 Оставшиеся аномалии вставки (INSERT) ..........................................

35

2.5.2 Оставшиеся аномалии обновления (UPDATE)..................................

35

2.5.3 Оставшиеся аномалии удаления (DELETE).......................................

36

2.5.4

3НФ (Третья Нормальная Форма) .......................................................

36

2.6

. Алгоритм нормализации (приведение к 3НФ)........................................

37

2.7. Анализ критериев для нормализованных и ненормализованных

моделей данных......................................................................................................

39

2.7.1

Сравнение нормализованных и ненормализованных моделей........

39

2.7.2

OLTP и OLAP-системы........................................................................

39

2.8. Корректность процедуры нормализации - декомпозиция без потерь.

Теорема Хеза...........................................................................................................

41

2.9

. Выводы........................................................................................................

45

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

46

3.1

. НФБК (Нормальная Форма Бойса-Кодда)...............................................

46

3.2

. 4НФ (Четвертая Нормальная Форма) ......................................................

50

3.3

. 5НФ (Пятая Нормальная Форма) .............................................................

55

3.4

. Продолжение алгоритма нормализации (приведение к 5НФ) ..............

59

3.5

. Выводы........................................................................................................

60

4 . ПОДЪЯЗЫК ДАННЫХ, ОСНОВАННЫЙ НА РЕЛЯЦИОННОЙ АЛГЕБРЕ....61

4.1

1. Введение ...................................................................................................

61

4.2

. Традиционный набор операций................................................................

62

4.2.1 Специальные операции над отношениями.........................................

63

4.2.2

4. Примеры выборки.............................................................................

66

4.2.3

Примеры операций запоминания........................................................

67

4.2.4

Заключение............................................................................................

67

5 . ПОДЪЯЗЫК ДАННЫХ, ОСНОВАННЫЙ НА РЕЛЯЦИОННОМ

 

ИСЧИСЛЕНИИ..................................................................................................................

68

5.1

. Введение .....................................................................................................

68

5.2

. Допущения и определения........................................................................

69

5.3

. Операции выборки.....................................................................................

70

5.4

. Операции запоминания.............................................................................

77

5.5

. Библиотечные функции............................................................................

80

5.6

. Заключение.................................................................................................

83

6 . Query-by-Example: язык запросов по образцу.......................................................

84

6.1

. Выборка.......................................................................................................

85

6.2

. Вставки, удаления, модификации............................................................

96

6.3

. Создание таблицы......................................................................................

98

6.4

. Заключение...............................................................................................

101

6.5

. Приложение..............................................................................................

102

 

 

 

3

7 . Элементы языка SQL..............................................................................................

102

7.1

. Операторы SQL ........................................................................................

103

7.2

. Примеры использования операторов манипулирования данными ....

104

7.3

. Примеры использования оператора SELECT .......................................

104

7.3.1 Отбор данных из одной таблицы.......................................................

105

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

107

7.3.3

Использование имен корреляции (алиасов, псевдонимов).............

110

7.3.4 Использование агрегатных функций в запросах.............................

113

7.3.5 Использование агрегатных функций с группировками..................

113

7.3.6

Использование подзапросов..............................................................

114

7.3.7 Использование объединения, пересечения и разности...................

117

7.3.8Синтаксис оператора выборки данных (SELECT). BNF-нотация.118

7.3.9

Синтаксис оператора выборки...........................................................

118

7.3.10

. Синтаксис соединенных таблиц......................................................

120

7.3.11

. Синтаксис условных выражений раздела WHERE .......................

122

7.4 . Порядок выполнения оператора SELECT .............................................

124

7.4.1

Стадия 1. Выполнение одиночного оператора SELECT.................

124

7.4.2Стадия 2. Выполнение операций UNION, EXCEPT, INTERSECT 125

7.4.3 Стадия 3. Упорядочение результата .................................................

125

7.5 . Как на самом деле выполняется оператор SELECT.............................

125

7.6. Реализация реляционной алгебры средствами оператора SELECT

(Реляционная полнота SQL)................................................................................

126

7.6.1

Оператор декартового произведения................................................

126

7.6.2

Оператор проекции.............................................................................

127

7.6.3

Оператор выборки...............................................................................

127

7.6.4

Оператор объединения.......................................................................

127

7.6.5

Оператор вычитания...........................................................................

127

7.6.6

Оператор соединения..........................................................................

127

7.6.7

Оператор пересечения........................................................................

128

7.6.8

Оператор деления................................................................................

128

7.7

. Выводы......................................................................................................

129

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

130

8.1

. Пример нарушения целостности базы...................................................

130

8.2

. Понятие транзакции.................................................................................

131

8.2.1

Ограничения целостности..................................................................

133

8.2.2

Классификация ограничений целостности.......................................

134

8.3. Реализация декларативных ограничений целостности средствами SQL 144

8.3.1 Общие принципы реализации ограничений средствами SQL .......

144

8.3.2 Синтаксис ограничений стандарта SQL ...........................................

145

8.3.3 Синтаксис операторов SQL, использующих ограничения.............

150

8.4

. Выводы......................................................................................................

153

9 . Транзакции и параллелизм.....................................................................................

155

9.1

. Работа транзакций в смеси......................................................................

155

9.2

. Проблемы параллельной работы транзакций.......................................

156

 

4

9.2.1 Проблема потери результатов обновления ......................................

156

9.2.2Проблема незафиксированной зависимости (чтение "грязных"

данных, неаккуратное считывание) ................................................................

157

9.2.3

Проблема несовместимого анализа...................................................

158

9.3

. Конфликты между транзакциями...........................................................

160

9.4

. Блокировки...............................................................................................

163

9.4.1

Решение проблем параллелизма при помощи блокировок ............

164

9.5

. Разрешение тупиковых ситуаций...........................................................

168

9.5.1

Преднамеренные блокировки............................................................

169

9.5.2

Предикатные блокировки...................................................................

173

9.5.3

Метод временных меток.....................................................................

174

9.5.4

Механизм выделения версий данных...............................................

174

9.6 . Теорема Есварана о сериализуемости ...................................................

176

9.7 . Реализация изолированности транзакций средствами SQL ................

178

9.7.1

Уровни изоляции.................................................................................

178

9.7.2

Синтаксис операторов SQL, определяющих уровни изоляции.....

179

9.8

. Выводы......................................................................................................

180

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

181

10.1

 

. Виды восстановления данных.............................................................

182

10.1.1

Индивидуальный откат транзакции..................................................

184

10.1.2

Восстановление после мягкого сбоя.................................................

184

10.1.3

Восстановление после жесткого сбоя...............................................

186

10.2

 

. Восстановление данных и стандарт SQL...........................................

187

10.3

 

. Выводы..................................................................................................

187

11 . Представление знаний в интеллектуальных системах .......................................

188

11.1

 

. Введение................................................................................................

188

11.2

 

. Данные и знания. Основные определения.........................................

188

11.3

 

. Особенности знаний. Переход от Базы Данных к Базе Знаний.......

190

11.3.1

Особенности знаний: ..........................................................................

190

11.4

 

. Модели представления знаний. Неформальные (семантические)

 

модели.192

 

11.5

 

. Формальные модели представления знаний......................................

195

11.6

 

. Продукционные системы.....................................................................

196

11.6.1

Компоненты продукционных систем................................................

196

11.6.2

Классификация ядер продукции........................................................

197

11.6.3

Стратегии решений организации поиска..........................................

199

11.7. Логический подход. Представление простых фактов в логических

системах.................................................................................................................

200

11.8 . Примеры применения логики для представления знаний. ..............

202