- •Глава 1. Базы данных и системы управления 9
- •Глава 2. Организация доступа к данным 45
- •Глава 3. Реляционная алгебра 60
- •Глава 4. Основы sql 67
- •Глава 5. Проектирование реляционных баз данных 89
- •Глава 6. Взаимодействие sql с приложениями 116
- •Глава 7. Некоторые проблемы администрирования баз данных 154
- •Базы данных и системы управления
- •Файловые системы
- •Концепция баз данных
- •Основные функции субд
- •Непосредственное управление данными во внешней памяти
- •Управление буферами оперативной памяти
- •Управление транзакциями
- •Журнализация
- •Поддержка языков баз данных
- •Трехуровневая модель архитектуры систем баз данных
- •Модели данных
- •Характеристика связей
- •Компьютерно-ориентированные модели данных
- •Реляционный подход
- •Ключи и целостность реляционных данных
- •Моделирование концептуальной схемы базы данных
- •Организация доступа к данным
- •Страницы и файлы
- •Индексирование
- •Структуры типа б-дерева
- •Хеширование
- •Методы сжатия
- •Метод дифференциального сжатия
- •Иерархические методы сжатия
- •Кодирование по методу Хаффмена
- •Реляционная алгебра
- •Традиционные реляционные операции
- •Специальные реляционные операции
- •Дополнительные реляционные операции
- •Примеры использования реляционной алгебры для выражения словесных запросов в виде формул
- •Основы sql
- •Типы данных
- •Строковые типы данных
- •Битовые типы данных
- •Точные числовые типы данных
- •Вещественные числовые типы данных
- •Календарные типы данных
- •Значения null
- •Создание и обслуживание таблиц
- •Запрос на выборку
- •Статистические функции
- •Создание соединений
- •Вложенные запросы
- •Запрос на объединение
- •Запросы, выполняющие реляционные операции вычитания, пересечения и деления
- •Запросы на изменение
- •Перекрестные запросы
- •Проектирование реляционных баз данных
- •Нормализация отношений
- •Функциональные зависимости
- •Н ормальные формы, обоснованные функциональными зависимостями
- •Нормальная форма Бойса–Кодда
- •Нормальные формы, обоснованные более сложными зависимостями
- •Процедура нормализации и проектирования
- •Пример проектирования базы данных
- •Назначение и предметная область
- •Проектирование базы данных
- •Взаимодействие sql с приложениями
- •Встраивание sql-операторов в программный код
- •Тип курсора
- •Триггеры
- •Хранимые процедуры
- •Стандартные интерфейсы для доступа к данным
- •Информационное окружение веб-сервера
- •Стандарт odbc
- •Уровни соответствия
- •Уровень соответствия odbc
- •Задание имени источника данных odbc
- •Расширяемый язык разметки xml
- •Xml как язык разметки
- •Материализация хмl-документов с помощью xslt
- •Создание хмl-документов на основе информации из базы данных
- •Некоторые проблемы администрирования баз данных
- •Оптимизация запросов
- •Параллельная обработка данных
- •Потеря обновления
- •Зависимость от незафиксированных обновлений
- •Несогласованный анализ
- •Блокировки транзакций
- •Согласованность и уровень изоляции транзакций
- •Распределенные системы баз данных
- •Фрагментация
- •Репликация
- •Распространение обновлений
- •Управление каталогом
- •Распределенная обработка запросов
- •Типы распределенных систем баз данных
- •Нераспределенные мультибазовые субд
- •Клиент-серверные системы
- •Системы с общими ресурсами
- •Технические аспекты администрирования базы данных
- •Восстановление базы данных
- •Безопасность баз данных
- •Шифрование данных
- •Производительность баз данных
- •Администрирование данных
- •Литература
В.А. Иванюкович
СИСТЕМЫ БАЗ ДАННЫХ
Вводный курс
Минск 2010
Министерство образования Республики Беларусь
Международный государственный экологический университет им. А.Д. Сахарова
В.А. Иванюкович
Системы баз данных Вводный курс
Рекомендовано Советом университета в качестве учебного пособия для студентов специальности 1-40 01 02-06 «Информационные системы и технологии в экологии»
Минск 2010
УДК…
Рецензент: доцент кафедры информационных технологий управления Академии управления при Президенте Республики Беларусь, кандидат физико-математических наук, доцент Шешолко В.К.
Иванюкович В.А.
В.А. Иванюкович. Системы баз данных. Вводный курс
Учебное пособие / -Мн.: Международный государственный экологический университет им. А.Д. Сахарова, 2008. – 1XX с.
ISBN…
Предназначено для студентов специальности «Информационные системы и технологии в экологии», а также специальностей «Ядерная и радиационная безопасность», «Радиоэкология», «Экологический мониторинг, менеджмент и аудит» и магистрантов университета, изучающих основы и правила проектирования реляционных баз данных, методы работы с системами управления базами данных и язык структурированных запросов SQL.
Рис.40. Библиогр. 10 наим.
УДК…
В.А. Иванюкович
Международный государственный экологический университет им. А.Д. Сахарова
Содержание
Глава 1. Базы данных и системы управления 9
1.1 Файловые системы 10
1.2 Данные 11
1.3 Концепция баз данных 13
1.4 Основные функции СУБД 15
Непосредственное управление данными во внешней памяти 15
Управление буферами оперативной памяти 16
Управление транзакциями 16
Журнализация 18
Поддержка языков баз данных 19
1.5 Трехуровневая модель архитектуры систем баз данных 20
1.6 Модели данных 22
Характеристика связей 24
Компьютерно-ориентированные модели данных 26
1.7 Реляционный подход 31
Ключи и целостность реляционных данных 34
1.8 Моделирование концептуальной схемы базы данных 38
Глава 2. Организация доступа к данным 45
2.1 Страницы и файлы 45
2.2 Индексирование 48
Структуры типа Б-дерева 51
2.3 Хеширование 52
2.4 Методы сжатия 55
Метод дифференциального сжатия 55
Иерархические методы сжатия 57
Кодирование по методу Хаффмена 58
Глава 3. Реляционная алгебра 60
3.1 Традиционные реляционные операции 61
3.2 Специальные реляционные операции 61
3.3 Дополнительные реляционные операции 63
Примеры использования реляционной алгебры для выражения словесных запросов в виде формул 66
Глава 4. Основы sql 67
4.1 Типы данных 69
Строковые типы данных 69
Битовые типы данных 70
Точные числовые типы данных 70
Вещественные числовые типы данных 71
Календарные типы данных 71
Значения NULL 72
4.2 Создание и обслуживание таблиц 72
4.3 Запрос на выборку 75
4.4 Статистические функции 76
4.5 Создание соединений 78
4.6 Вложенные запросы 80
4.7 Запрос на объединение 82
4.8 Запросы, выполняющие реляционные операции вычитания, пересечения и деления 83
4.9 Запросы на изменение 86
4.10 Перекрестные запросы 86
Глава 5. Проектирование реляционных баз данных 89
5.1 Нормализация отношений 89
5.2 Функциональные зависимости 91
5.3 Нормальные формы, обоснованные функциональными зависимостями 93
5.4 Нормальная форма Бойса–Кодда 99
5.5 Нормальные формы, обоснованные более сложными зависимостями 101
5.6 Процедура нормализации и проектирования 108
5.7 Пример проектирования базы данных 111
Назначение и предметная область 111
Проектирование базы данных 113
Глава 6. Взаимодействие sql с приложениями 116
6.1 Встраивание SQL-операторов в программный код 116
6.2 Тип курсора 117
6.3 Триггеры 122
6.4 Хранимые процедуры 125
6.5 Стандартные интерфейсы для доступа к данным 129
Информационное окружение веб-сервера 129
Стандарт ODBC 130
Уровни соответствия 134
Уровень соответствия ODBC 134
Задание имени источника данных ODBC 136
OLE DB и ADO 139
6.6 Расширяемый язык разметки XML 143
XML как язык разметки 144
XML-документ и DTD 145
Материализация ХМL-документов с помощью XSLT 147
XML Schema 148
Создание ХМL-документов на основе информации из базы данных 149
Глава 7. Некоторые проблемы администрирования баз данных 154
7.1 Оптимизация запросов 154
7.2 Параллельная обработка данных 160
Потеря обновления 161
Зависимость от незафиксированных обновлений 162
Несогласованный анализ 162
Блокировки транзакций 163
Согласованность и уровень изоляции транзакций 167
7.3 Распределенные системы баз данных 169
Фрагментация 171
Репликация 172
Распространение обновлений 173
Управление каталогом 175
Распределенная обработка запросов 177
Типы распределенных систем баз данных 179
7.4 Нераспределенные мультибазовые СУБД 182
Клиент-серверные системы 182
Системы с общими ресурсами 184
7.5 Технические аспекты администрирования базы данных 184
Восстановление базы данных 185
Безопасность баз данных 186
Шифрование данных 189
Производительность баз данных 190
Администрирование данных 192
ЛИТЕРАТУРА 193
Предметом курса являются системы баз данных. Без знания этой темы в настоящее время невозможно быть не только квалифицированным программистом, но даже и грамотным пользователем компьютеров.
Назначение данного курса – знакомство с основами современных реляционных систем баз данных. В курсе не рассматривается какая-либо конкретная система управления базами данных (СУБД). Предлагаемый материал в равной степени относится к любой современной системе. Как показывает опыт, без знания основ баз данных трудно на серьезном уровне работать с конкретными системами управления, как бы хорошо они не были документированы.
В то же время практическая часть курса предполагает использование СУБД MS Access – одной из наиболее популярных и наглядных систем.