Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
экзамен / database.pdf
Скачиваний:
43
Добавлен:
06.02.2018
Размер:
583.8 Кб
Скачать

Теория баз данных

Зыкин С. В.

29 мая 2005 г.

Содержание

1

Основные определения и требования к базам данных

4

 

1.1

Определения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

 

1.2

Категории баз данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4

 

1.3

Требования к базе данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

 

 

1.3.1

Неизбыточность и непротиворечивость данных . . . . . . . . . . . . . . .

6

 

 

1.3.2

Защита данных от программных и аппаратных сбоев . . . . . . . . . . . .

7

 

 

1.3.3

Мобильность прикладного программного обеспечения . . . . . . . . . . .

7

 

 

1.3.4

Секретность данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

 

1.4

Представление и описание информации . . . . . . . . . . . . . . . . . . . . . . . .

8

 

 

1.4.1

Плоские (двойные) файлы . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

 

 

1.4.2

Ключи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

 

1.5

Системы управления базами данных (СУБД) . . . . . . . . . . . . . . . . . . . .

11

 

1.6

Языковые средства для работы с базами данных . . . . . . . . . . . . . . . . . .

12

2

Глобальное логическое описание

14

2.1Компоненты описания схемы данных . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2Классификация моделей данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2.1Иерархические модели данных . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.2.2Сетевые модели данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.2.3Классификация структурированных моделей данных . . . . . . . . . . . . 21

2.3Реляционные модели данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.3.1Преобразование структурированных моделей к реляционному виду . . . . 22

2.3.2Ключи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.3.3Операции реляционной алгебры . . . . . . . . . . . . . . . . . . . . . . . . 24

2.4Декомпозиция отношений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

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

2.4.2Правила логического следования . . . . . . . . . . . . . . . . . . . . . . . . 27

2.4.3Аксиомы функциональных зависимостей . . . . . . . . . . . . . . . . . . . 27

2.4.4Ключи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.5Вторая нормальная форма . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.5.1Правило построение второй нормальной формы: . . . . . . . . . . . . . . . 28

2.5.2 Преимущества второй нормальной формы перед первой . . . . . . . . . . 29

2.6Третья нормальная форма . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.6.1 Правило построения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

1

http://slava.fateback.com

2

2.6.2Преимущества третьей нормальной формы . . . . . . . . . . . . . . . . . . 30

2.7Построение канонической модели общего вида . . . . . . . . . . . . . . . . . . . . 30

2.8Построение канонической модели реляционного типа . . . . . . . . . . . . . . . . 31

2.8.1Построение замыканий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.8.2Построение минимального покрытия множества функциональных зависи-

мостей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

2.8.3 Декомпозиция схем отношений . . . . . . . . . . . . . . . . . . . . . . . .

33

2.8.4Многозначные зависимости . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.8.5 Построение канонической модели . . . . . . . . . . . . . . . . . . . . . . .

37

3 Физическая организация базы данных. Алгоритмы работы СУБД

38

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

38

3.1.1Архитектуры современных ЭВМ . . . . . . . . . . . . . . . . . . . . . . . . 41

3.1.2Факторы, влияющие на выбор физической организации БД (технология,

представление, алгоритмы и прочее) . . . . . . . . . . . . . . . . . . . . . 42

3.1.3Схема временных затрат при реализации запросов . . . . . . . . . . . . . 42

3.2Классификация методов доступа . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.2.1Последовательный метод доступа . . . . . . . . . . . . . . . . . . . . . . . 44

3.2.2Индексно-последовательная организация . . . . . . . . . . . . . . . . . . . 46

3.2.3Индексно-произвольный метод доступа . . . . . . . . . . . . . . . . . . . . 48

3.2.4 Прямой метод доступа . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.2.5Методы хеширования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3.2.6Списки и инвертированные файлы . . . . . . . . . . . . . . . . . . . . . . . 52

Список литературы

[1]Мартин Дж. Организация БД в вычислительных системах. — М.: Мир, 1980. — 662 с.

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

[2]Дейт К. Введение в системы БД. — М.: Диалектика, 1998. Переработанное 7-е издание посвящено языкам работы с БД. Книга пережила множество переизданий, но оригинал — ровесник книги Мартина. Качественная критика объектно-ориентированного подхода к БД. Также как обходить некоторые углы СУБД.

[3]Ульман Дж. Основы систем БД. — М.: Финансы и статистика, 1983. Как и первая книга, посвящена основам. Вышла позднее, и более принципиальна, посвящена современным методам. Работа пионерская, поэтому с неизбежными ошибками.

[4]Тиори Т., Фрай Дж. Программирование структур БД. — М.: Мир, 1985. Том 2. Первый том посвящен логике БД (и его лучше не смотреть вообще. . . ), второй — физике.

[5]Калиниченко Л. А. Методы и средства интеграции неоднородных баз данных. — М.: Наука, 1987. Пионерская книга о межмодельных отношениях в БД. Примеры.

[6]Замулин А. В. Типы данных в языках программирования и БД. — Новосибирск: Наука, 1987. Пионерская книга теории типообразования. Сейчас идет внедрение абстрактных

http://slava.fateback.com

3

типов данных — а теория уже есть. . . Кроме типов нужны еще и корректные операции с ними.

[7]Разработка САПРов: том 4. Проектирование БД САПРом. / Вейнеров О.В., Самохвалов Н. М., М.: Высшая школа, 1990. Книга сотрудников ВЦ РАН. В ней практически нет САПР, теория — на уровне Ульмана и Мартина. Полезна, хотя и конспективна. Рассмотрены аномалии нормальных форм.

[8]Мейер Д. Теория реляционных БД. — М.: Мир, 1987. Автор — ведущий специалист в области БД. Полезная книга.

[9]Цаленко М. Ш. Моделирование семантики в БД. — М.: Наука, 1989. Алгебраическая теория баз данных.

[10]СУБД. - Открытые системы, www.osp.ru.

Введение

История и перспективы развития БД

Первые опыты по организации информационных массивов в учете производства, сотрудников и зарплат были проведены на производственных предприятиях. Первые БД были бумажными, на перфокартах и перфолентах. Это было слишком медленно, и механические приспособления позволяли ускорить в 2-3 раза; главный минус такого подхода — последовательный доступ к данным. Появление магнитных дисков емкостью порядка 20 Мб решило многие проблемы, и только когда устройства хранения информации стали достаточно компактными, стало можно говорить о рождении баз данных. То, что было до этого, требовало особого финансирования — как сама информация, так и механические части (на заводах постоянно выходили из строя детали АСУ).

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

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

В настоящее время развитие средств работы с БД идет по пути инструментов создания приложений, что означает переход на «программирование мышью» (различные визуальные среды вроде Microsoft Visual Studio, Borland Delphi и Borland C++ Builder).

http://slava.fateback.com

4

1Основные определения и требования к базам данных

1.1Определения

Определение 1.1 Базой данных1 зовется специальным образом организованные данные, которые:

1.подлежат долговременному хранению на внешних запоминающих устройствах ЭВМ;

2.содержат информацию о сравнительно небольшом (фиксированном) количестве классов объектов, однако количество экземпляров в каждом классе может быть огромным;

3.относятся к одной прикладной области, содержащей множество приложений (задач).

Атеперь комментарии к пунктам определения.

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

2.Это требование отделяет БД от других информационных систем. Альтернативная ситуация — большое количество классов, в каждом из которых небольшое число экземпляров, — наблюдается для информационно-поисковых систем (ИПС). Примером ИПС является WWW.

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

1.2Категории баз данных

В БД имеется два различных уровня описания и представления данных: физический и логический.

На физическом уровне принята следующая терминология:

1.Поле — наименьшая единица памяти, обрабатываемая СУБД.

2.Физическая запись — упорядоченная совокупность фиксированного количества полей. Две физические записи однотипны, если совпадают по составу полей.

3.Файл — совокупность однотипных записей.

4.Блок — размер памяти, передаваемой из внешнего запоминающего устройства в ОЗУ и обратно за одну операцию чтения-записи. И хотя термин избит, значение его весьма существенно. От его величины зависит скорость поиска и скорость доступа (на Б-дереве), иногда учитывается количество головок диска.

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

http://slava.fateback.com

5

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

На логическом уровне принята следующая терминология:

1.Атрибут (элемент данных) — наименьшая поименованная единица информации, с определенным типом, идентифицируемая СУБД. Обычно соответствует полю на физическом уровне.

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

3.Отношение — совокупность всех однотипных логических записей. Обычно (для простых СУБД) соответствует файлу.

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

Пример: Логический уровень:

С отрудники

 

 

 

Табельны й ном ер

Ф И О сотрудника

Д ата рож дения

Д олж ность

О борудование

 

 

 

И нвентарны й

Н аим енование

Д ата

 

ном ер

оборудования

изготовления

 

Р абочее м есто

Р асполож ение

Табельны й ном ер И нвентарны й ном ер

м еста

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

1.Не может быть двух сотрудников с одним и тем же табельным номером.

2.Не может быть так, чтобы один и тот же инвентарный номер соответствовал различному оборудованию.

Эти поля являются первичными ключами. Запись из отношения «Сотрудники» нельзя удалить, если с ней связана запись из отношения «Рабочее место». То же самое справедливо и для отношения «Оборудование».

Физический уровень:

Соседние файлы в папке экзамен