ВУЗ: Томский государственный университет систем управления и радиоэлектроники
Категория: Учебное пособие
Дисциплина: Базы данных
Добавлен: 28.11.2018
Просмотров: 10858
Скачиваний: 43
Министерство образования и науки Российской Федерации
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
ФАКУЛЬТЕТ ДИСТАНЦИОННОГО ОБУЧЕНИЯ (ФДО)
П. В. Сенченко
ОРГАНИЗАЦИЯ БАЗ ДАННЫХ
Учебное пособие
Томск
2015
УДК
004.65(075.8)
ББК
32.973.233-018.2я73
С 316
Рецензенты:
Тарасенко В. Ф., докт. техн. наук, профессор кафедры теоретической кибернетики
Национального исследовательского Томского государственного университета;
Перемитина Т. О. канд. техн. наук, доцент кафедры автоматизации обработки
информации ТУСУР.
Сенченко П. В.
С 316
Организация баз данных : учебное пособие / П. В. Сенченко. — Томск :
ФДО, ТУСУР, 2015. — 170 с.
Рассматриваются вопросы организации баз данных. Изложены прин-
ципы проектирования реляционных баз данных, нормализации отноше-
ний. Подробно рассматриваются операции реляционной алгебры, синтак-
сис и применение языка SQL. Даются характеристики баз данных различ-
ных поколений. Материал подготовлен на основе учебного курса, который
читается автором в Томском государственном университете систем управ-
ления и радиоэлектроники.
Ориентировано на студентов направлений подготовки бакалавров
«Государственное и муниципальное управление», «Бизнес-информатика»,
«Программная инженерия», а также студентов родственных специально-
стей и разработчиков баз данных.
УДК
004.65(075.8)
ББК
32.973.233-018.2я73
©
Сенченко П. В., 2015
©
Оформление.
ФДО, ТУСУР, 2015
ОГЛАВЛЕНИЕ
Введение
6
1
Обоснование концепции баз данных
8
1.1
История и направления развития вычислительной техники . . . . . .
8
1.2
Файл и области применения файлов . . . . . . . . . . . . . . . . . . . .
11
1.3
Основные понятия СУБД . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
1.4
Функции СУБД . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
2
Модели данных
24
2.1
Архитектура представления информации в концепции баз данных .
24
2.2
Развитие моделей данных . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
2.3
Иерархическая модель данных . . . . . . . . . . . . . . . . . . . . . . . .
30
2.4
Сетевая модель данных . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
3
Реляционная модель
35
3.1
Основные понятия реляционной модели . . . . . . . . . . . . . . . . . .
35
3.1.1
Общие сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
3.1.2
Смысл понятий реляционной модели . . . . . . . . . . . . . . .
36
3.2
Свойства отношений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
3.2.1
Уникальность кортежей отношения . . . . . . . . . . . . . . . .
39
3.2.2
Отсутствие упорядоченности кортежей и атрибутов . . . . . .
40
3.2.3
Атомарность значений атрибутов, первая нормальная форма .
40
3.2.4
Состав реляционной модели данных . . . . . . . . . . . . . . .
42
3.3
Целостная часть реляционной модели данных . . . . . . . . . . . . . .
44
3.3.1
Целостность сущности . . . . . . . . . . . . . . . . . . . . . . . .
44
3.3.2
Ссылочная целостность . . . . . . . . . . . . . . . . . . . . . . .
44
3.3.3
Целостность доменов . . . . . . . . . . . . . . . . . . . . . . . . .
46
3.3.4
Целостность, определяемая пользователем . . . . . . . . . . . .
47
3.4
Технология манипулирования данными в реляционной модели . . . .
48
3.4.1
Основные принципы технологии манипулирования
реляционными данными . . . . . . . . . . . . . . . . . . . . . . .
48
3.4.2
Операции реляционной алгебры . . . . . . . . . . . . . . . . . .
49
3.4.3
Реляционное исчисление . . . . . . . . . . . . . . . . . . . . . . .
56
4
Технология проектирования реляционных баз данных
60
4.1
Нормализация отношений . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
4.1.1
Термины и определения . . . . . . . . . . . . . . . . . . . . . . .
60
4.1.2
Вторая нормальная форма . . . . . . . . . . . . . . . . . . . . . .
62
4.1.3
Третья нормальная форма . . . . . . . . . . . . . . . . . . . . . .
64
4.1.4
Нормальная форма Бойса—Кодда . . . . . . . . . . . . . . . . . .
66
4
Оглавление
4.1.5
Четвертая нормальная форма . . . . . . . . . . . . . . . . . . . .
68
4.1.6
Пятая нормальная форма . . . . . . . . . . . . . . . . . . . . . . .
70
4.1.7
Денормалилизация отношений . . . . . . . . . . . . . . . . . . .
72
4.2
Моделирование данных с помощью диаграмм «сущность-связь» . . .
74
4.2.1
Основные понятия модели «сущность-связь» . . . . . . . . . .
74
4.2.2
Принцип нормализации ER-диаграмм . . . . . . . . . . . . . . .
77
4.2.3
Дополнительные элементы ER-модели . . . . . . . . . . . . . .
78
4.2.4
Получение схемы реляционной базы данных из
ER-диаграммы . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
4.3
CASE-средства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
80
4.3.1
Назначение и классификация CASE-средств . . . . . . . . . . .
80
4.3.2
Обзор CASE-средств . . . . . . . . . . . . . . . . . . . . . . . . .
80
5
Языки управления и манипулирования данными
86
5.1
Язык SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
86
5.1.1
История развития языка . . . . . . . . . . . . . . . . . . . . . . .
86
5.1.2
Стандарты языка SQL . . . . . . . . . . . . . . . . . . . . . . . . .
87
5.1.3
Описание основных команд SQL . . . . . . . . . . . . . . . . . .
90
5.1.4
Особые возможности и основные различия языка Microsoft
Jet и ANSI SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
5.2
Язык Query-by-Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.2.1
Основы языка QBE . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.2.2
Запрос по образцу (идеология MS Access) . . . . . . . . . . . . 113
6
Физическая организация баз данных
116
6.1
Структуры внешней памяти, методы организации индексов . . . . . . 116
6.1.1
Организация внешней памяти . . . . . . . . . . . . . . . . . . . . 116
6.1.2
Хранение таблиц в базе данных . . . . . . . . . . . . . . . . . . 118
6.1.3
Организация индексов, методы хранения и доступа
к данным . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
6.1.4
Словарь данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
6.1.5
Прочие объекты базы данных . . . . . . . . . . . . . . . . . . . . 126
6.2
Оптимизация работы с базами данных . . . . . . . . . . . . . . . . . . . 129
6.3
Экстенсиональная и интенсиональная части базы данных . . . . . . . 131
7
Системы управления базами данных
133
7.1
СУБД первого поколения . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
7.2
СУБД второго поколения — реляционные СУБД . . . . . . . . . . . . . 134
7.2.1
Архитектура СУБД второго поколения . . . . . . . . . . . . . . 134
7.2.2
СУБД FoxPro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
7.2.3
СУБД MS Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
7.3
СУБД третьего поколения и объектно-ориентированные СУБД . . . . 141
7.3.1
Манифесты СУБД третьего поколения
и объектно-ориентированных СУБД . . . . . . . . . . . . . . . . 141
7.3.2
Общие понятия объектно-ориентированного подхода
к базам данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Оглавление
5
7.3.3
Реализация объектно-ориентированного подхода в СУБД
Oracle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
7.3.4
СУБД Cach´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
7.3.5
Перспективы развития СУБД . . . . . . . . . . . . . . . . . . . . 160
Заключение
162
Литература
163
Список условных обозначений и сокращений
165
Глоссарий
167