Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Организация баз данных

Покупка
Артикул: 769612.01.99
Доступ онлайн
130 ₽
В корзину
Рассматриваются вопросы организации баз данных. Изложены принципы проектирования реляционных баз данных, нормализации отношений. Подробно рассматриваются операции реляционной алгебры, синтаксис и применение языка SQL. Даются характеристики баз данных различных поколений. Материал подготовлен на основе учебного курса, который читается автором в Томском государственном университете систем управления и радиоэлектроники. Ориентировано на студентов направлений подготовки бакалавров «Государственное и муниципальное управление», «Бизнес-информатика», «Программная инженерия», а также студентов родственных специальностей и разработчиков баз данных.
Сенченко, П. В. Организация баз данных : учебное пособие / П. В. Сенченко. - Томск : ФДО, ТУСУР, 2015. - 170 с. - Текст : электронный. - URL: https://znanium.com/catalog/product/1845891 (дата обращения: 24.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Министерство образования и науки Российской Федерации

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

ФАКУЛЬТЕТ ДИСТАНЦИОННОГО ОБУЧЕНИЯ (ФДО)

П. В. Сенченко

ОРГАНИЗАЦИЯ БАЗ ДАННЫХ

Учебное пособие

Томск
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.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

ВВЕДЕНИЕ

Учебное пособие составлено в соответствии с требованиями основных образовательных программ Федеральных государственных образовательных стандартов подготовки бакалавров по направлениям «Программная инженерия», «Бизнесинформатика», «Государственное и муниципальное управление» по дисциплине
«Базы данных».

Изучение материала, изложенного в данном пособии, должно не только помочь
в освоении новых знаний будущим специалистам в области разработки информационных технологий, но и сформировать общий базис по организации баз данных
(БД) квалифицированным специалистам в различных областях деятельности, связанных с использованием прикладных программных продуктов.

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

Учебное пособие содержит следующие основные разделы дисциплины:
• положения концепции баз данных, теория структуризации данных, принципы построения баз данных и методы доступа к ним;

• современные системы управления базами данных и их место в системах
обработки информации;

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

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

Знание организации БД позволит на профессиональном уровне овладеть навыками работы в конкретных прикладных системах по ведению и обработке информации.

Соглашения, принятые в книге
7

Соглашения, принятые в книге

Для улучшения восприятия материала в данной книге используются пиктограммы и специальное выделение важной информации.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Этот блок означает определение или новое понятие.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Этот блок означает внимание. Здесь выделена важная информация, требующая акцента на ней. Автор здесь может поделиться
с читателем опытом, чтобы помочь избежать некоторых ошибок.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Эта пиктограмма означает совет. В данном блоке можно указать
более простые или иные способы выполнения определенной задачи. Совет может касаться практического применения только что
изученного или содержать указания на то, как немного повысить
эффективность и значительно упростить выполнение некоторых
задач.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Этот блок означает теорему.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . .. . . . . . . . . . . . . . . . . . . . . .
Пример
. . .. . . . . . . . . . . . . . . . . . . . . .

Этот блок означает пример. В данном блоке автор может привести практический пример для пояснения и разбора основных моментов, отраженных в теоретическом материале.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Контрольные вопросы по главе
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Глава 1

ОБОСНОВАНИЕ КОНЦЕПЦИИ БАЗ
ДАННЫХ

1.1 История и направления развития
вычислительной техники

История развития технических средств, способных облегчить умственный труд
человека, насчитывает несколько сотен лет. Так, одним из первых устройств для
выполнения арифметических вычислений принято считать счетную доску абак,
которую использовали еще в Древнем Вавилоне в третьем тысячелетии до нашей
эры. В России абак или более известные деревянные русские счеты появились
намного позже, в XV веке нашей эры. В XVII веке немецкий ученый Вильгельм
Шиккард разработал первый механический калькулятор «Считающие часы», с помощью которого можно было выполнить четыре основных арифметических действия. Немного позднее были изобретены счетные машины Блеза Паскаля и Готфрида Вильгельма Лейбница.

Первый серийный арифмометр был создан Шарлем Ксавье Томасом де Кольмаром в 1820 году. Подобные механические калькуляторы применялись вплоть до
70-х годов XX века. В начале XIX века Жозеф Мари Жаккар разработал работающей с использованием перфокарт ткацкий станок. Для того чтобы изменить узор на
ткани, необходимо было просто заменить набор перфокарт. Подобная технология
в дальнейшем использовалась в разработке аналитических машинах Чарльза Бэббиджа. Вычислительные устройства, созданные на основе применения перфокарт,
а позднее и перфолент, использовались повсеместно до 80-х годов прошлого века.

В 1904 году в Российской империи русским инженером Алексеем Николаевичем Крыловым была изобретена вычислительная машина, способная решать дифференциальные уравнения. В первой половине XX века уже стало обыденным использование механических вычислителей в труде математиков, бухгалтеров и финансовых работников. Так, в Советском Союзе был создан арифмометр «Феликс»,
выпускавшийся с 1929 по 1978 годы, фактически это был первый отечественный
механический калькулятор.

1.1 История и направления развития вычислительной техники
9

С началом эпохи электричества начинался новый виток в развитии вычислительных машин. В 1890 году Германом Холлеритом была создана электромеханическая машина, способная выполнять различные математические расчеты, оперируя информацией, зафиксированной на перфокартах, обеспечивая вывод данных на бумажные носители. Такая машина, получившая название «табулятор»,
использовалась в обработке переписи населения США в 1890 году. Холлеритом
была организована фирма, основной задачей которой являлось производство табуляторов для различных сфер деятельности (партия таких машин была закуплена
правительством Российской империи). Фирма Холлерита динамично развивалась,
а с 1924 года получила широко известное название IBM.

В 1935 году в СССР на Первом Государственном заводе счетных и счетноаналитических машин была создана первая в нашей стране электродинамическая
счетно-аналитическая машина «Табулятор Т1». В 1941 году немецким инженером
Конрадом Цузе была спроектирована и воплощена в жизнь Z3 — первая полноценная вычислительная машина, созданная на основе обыкновенных телефонных
реле. Для этой разработки были характерны основные свойства современных компьютеров — существовали возможности по программному управлению и программированию в двоичном коде с плавающей запятой.

В середине XX века в процессе развития и совершенствования вычислительной техники сформировалось два основных направления ее использования. Первое
направление (40-е–50-е годы) характеризовалось широкомасштабным применением электронно-вычислительной техники для выполнения сложных математических
расчетов, которые трудоемко или вообще невозможно производить вручную.

Так, в 1943 году в США была создана первая за океаном вычислительная машина Марк I, основное назначение которой заключалось в возможности проведения баллистических расчетов для Министерства обороны США. Становление
этого направления способствовало интенсификации методов численного решения
сложных математических задач; развитию класса языков программирования, предназначенных для записи в программном коде численных алгоритмов; возникновению обратной связи с разработчиками новых архитектур ЭВМ. При этом объем
исходных данных был соизмерим с объемом оперативной памяти. Одним из недостатков первого направления являлась невозможность повторного использования
исходных данных.

Дополнительным толчком в развитии вычислительной техники явилось изобретение в 1960 году интегральной схемы. Для этого периода характерно второе
направление (60-е годы), непосредственно касающееся темы нашего курса, — это
использование средств вычислительной техники для разработки и функционирования автоматизированных информационных систем.

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

Глава 1. Обоснование концепции баз данных

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

Естественно, что второе направление возникло несколько позже первого. Это
связано с тем, что на начальном этапе развития вычислительной техники компьютеры обладали ограниченными возможностями в области памяти. Говорить
о надежном и долговременном хранении информации можно только при наличии энергонезависимых запоминающих устройств, т. е. сохраняющих информацию
после выключения электрического питания. Оперативная память этим свойством
обычно не обладает.

Для первоначального периода создания средств вычислительной техники характерно использование нескольких типов носителей информации во внешней памяти: магнитных лент, перфолент, перфокарт и барабанов. При этом перфоленты
и перфокарты были способны обеспечить только хранение информации без возможности ее перезаписи, емкость магнитных лент была достаточно велика, но
по своей физической природе они обеспечивали лишь последовательный доступ
к данным. Магнитные же барабаны, отдаленно напоминающие современные магнитные диски, давали возможность произвольного доступа к данным, но были
ограниченного размера.

Легко заметить, что указанные ограничения не существенны для чисто численных расчетов. Даже если программа должна обработать (или произвести) большой
объем информации, при программировании можно продумать расположение этой
информации во внешней памяти таким образом, чтобы программа работала как
можно быстрее и сохраняла данные после окончательных вычислений на любом
из вышеперечисленных носителей. Однако для информационных систем, в которых потребность в текущих данных определяется пользователем, наличия только
магнитных лент и барабанов и, тем более, перфокарт и перфолент недостаточно.
Одним из естественных требований к таким системам является средняя скорость
выполнения операций.

Требования к вычислительной технике со стороны нечисленных приложений
вызвали появление съемных магнитных дисков с подвижными (плавающими) головками, что явилось революцией в истории ее развития. Эти устройства внешней памяти обладали существенно большей емкостью, чем магнитные барабаны,
обеспечивая удовлетворительную скорость доступа к данным в режиме произвольной выборки, а возможность смены дискового пакета на устройстве позволяла иметь практически неограниченный архив данных, перфокарты и перфоленты
ушли в прошлое.

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

1.2 Файл и области применения файлов
11

Кроме того, каждой прикладной программе приходилось решать проблемы
именования частей данных и структуризации данных во внешней памяти [1].

1.2 Файл и области применения файлов

Историческим шагом в развитии информационных систем явился переход к использованию файлов.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
С точки зрения прикладной программы файл — это именованная
область внешней памяти, в которую можно записывать и из которой можно считывать данные.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Работа с файлами невозможна без наличия операционной системы.

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

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

Область применения файлов достаточно обширна. Прежде всего, файлы применяются для хранения различной текстовой информации: документов, текстов
программ, электронных таблиц и т. д. Такие файлы обычно образуются и модифицируются с помощью различных текстовых редакторов или текстовых процессоров. Структура текстовых файлов представляется в виде либо последовательности
записей, содержащих строки текста, либо последовательности байтов, среди которых встречаются специальные служебные символы.

Файлы, содержащие тексты программ, используются как входные тексты компиляторов и интерпретаторов языков программирования, которые, в свою очередь,
формируют файлы, содержащие объектные модули и подпрограммы. С точки зрения системы управления файлами объектные файлы и библиотеки дополнительных
функций файловой системы обладают очень простой структурой, представляющей
собой последовательность записей или байтов [1]. Система программирования накладывает на эту структуру более сложную и специфичную для данной системы
структуру объектного модуля. Логическая структура объектного модуля неизвестна
файловой системе и поддерживается средствами конкретного языка программирования.

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

формационные системы создавались на основе и при помощи простейших систем
управления файлами.

1.3 Основные понятия СУБД

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

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

Структура информации в информационных системах может быть очень сложна
для интерпретации, и хотя структуры данных различны в разных информационных
системах, между ними часто бывает много общего. На первом этапе использования
вычислительной техники для обработки информации проблемы структуризации
данных решались индивидуально в каждой информационной системе.

Таким образом, в начале 60-х годов преобладал так называемый позадачный
подход в использовании исходной информации, который характеризуется тем, что
для каждой программы обработки используются собственные («свои») файлы исходных данных.

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

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

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

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Стремление выделить и обобщить составную часть информационных систем, ответственную за управление сложно структурированными данными, явилось первой побудительной причиной создания систем управления базами данных (СУБД).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3 Основные понятия СУБД
13

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

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

• выдачу по запросу пользователя списка студентов по группам;

• поддержку возможности перевода студента из одной группы в другую;

• прием абитуриентов;

• отчисление студентов.
При этом для каждой группы должна поддерживаться возможность получения
информации о кураторе группы, численности студентов, среднем размере стипендии студентов группы за определенный временной интервал и т. д.

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

Поскольку в качестве минимальной информационной единицы в данной предметной области можно выбрать студента, в этом файле содержится одна структурная единица (запись) для каждого студента, которая может быть представлена в следующей последовательности, отражающей основные сведения о студентах: ФИО студента (ФИО); номер студенческого билета (№_СТУД_БИЛЕТА);
дата рождения (ДАТА_РОЖД); номер группы (№_ГРУППЫ); размер стипендии
(СТИП); балл ЕГЭ (ЕГЭ). Используя один файл для хранения информации, необходимо учитывать, что эта же запись должна содержать сведения и по группе, в которой обучается студент, — ФИО куратора (КУРАТОР); средний балл ЕГЭ (СР_ЕГЭ);
количество студентов (КОЛ_СТУД).

Поскольку в исходном файле хранится информация по разным студентам, то
для решения поставленных функциональных задач в такой системе необходимо
обеспечить доступ к конкретной записи по заранее заданным указателям (ключам) — уникальным в разных записях. В нашем случае в качестве такого ключа
может выступать №_СТУД_БИЛЕТА. Кроме того, должна обеспечиваться возможность выбора всех записей с общим значением №_ГРУППЫ, то есть доступ по
неуникальному ключу. Для того чтобы получить общее число студентов группы
или средний размер стипендии, каждый раз при выполнении такой функции система должна будет выбрать все записи о студентах группы и посчитать соответствующие общие значения.

Реализация такой информационной системы требует создания достаточно сложной функциональной надстройки для организации доступа к файлу. Кроме этого, прослеживается явная избыточность хранения данных — для каждого студента
группы повторяется ФИО куратора, средний балл ЕГЭ, количество студентов.

Одним из способов реструктуризации хранения информации в такой системе является возможность поддерживать два информационных файла: СТУДЕНТЫ и ГРУППЫ. Первый файл должен содержать сведения, касающиеся непосредственно студентов: ФИО, №_СТУД_БИЛЕТА, СТИП, №_ГРУППЫ, а второй —
НОМЕР_ГРУППЫ, КУРАТОР, СР_ЕГЭ, КОЛ_СТУД. В этом случае мы ликвиди
Доступ онлайн
130 ₽
В корзину