Московский государственный университет печати

Чертовской В.Д.


         

Базы и банки данных

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


Чертовской В.Д.
Базы и банки данных
Начало
Печатный оригинал
Об электронном издании
Оглавление

Введение

Часть 1. ОСНОВНЫЕ ПОЛОЖЕНИЯ

Раздел 1. Основные понятия

1.

Глава 1. Общие сведения

1.1.

Данные, информация, знания

1.2.

Основные понятия и определения

1.3.

Классификация БД и СУБД

1.4.

Состав СУБД и работа БД

2.

Глава 2. Концепция баз данных

2.1.

Требования, предъявляемые к базам данных

2.2.

Концепция построения БД

2.3.

Методология проектирования баз данных

2.4.

Методология использования баз данных

Раздел 2. Теория баз данных

3.

Глава 3. Общая теория

3.1.

Модели представления данных

3.2.

CASE-технология

3.3.

CASE-средства

4.

Глава 4. Теория реляционных баз данных

4.1.

Математические основы теории

4.2.

Построение БД

4.3.

Использование БД

4.3.1.

Запросы к данным

4.3.2.

Синхронизация процессов доступа

Часть 2. Централизованные базы данных

Раздел 3. Реализация бд (модели БД)

5.

Глава 5. Реляционные БД SQL

5.1.

Логическая структура

5.2.

Создание БД

5.3.

Использование БД

5.3.1.

Язык SQL

5.3.2.

Язык QBE

6.

Глава 6. Сетевые БД

6.1.

Логическая структура

6.2.

Программная реализация

6.2.1.

Создание БД (ЯОД)

6.2.2.

Использование БД (ЯМД)

7.

Глава 7. Иерархические БД

7.1.

Логическая структура

7.2.

Программная реализация

7.2.1.

Создание БД (ЯОД)

7.2.2.

Использование БД (ЯМД)

8.

Глава 8. Взаимосвязь МД

8.1.

Сравнительная характеристика моделей данных

8.2.

Преобразование моделей данных

8.3.

Выбор моделей данных

9.

Глава 9. Физическая БД

9.1.

Вопросы программной реализации БД

9.2.

Организация хранения и доступ

9.3.

Доступ к данным и их обновление

Раздел 4. Современные направления развития БД

10.

Глава 10. Автоматизация проектирования

10.1.

Классический подход к проектированию

10.1.1.

Однопользовательский режим

10.1.2.

Многопользовательский режим

10.2.

Современный подход к проектированию

10.3.

Автоматизация проектирования

11.

Глава 11. Объектно-ориентированные базы данных

11.1.

Недостатки реляционных баз данных

11.2.

Состояние развития ООБД

11.3.

Сущность ООБД

11.4.

Недостатки и перспективы развития ООБД

Часть 3. Распределенные базы данных (РБД)

Раздел 5. Основы теории РБД

12.

Глава 12. Общая характеристика РБД

12.1.

Новые требования, предъявляемые к БД

12.2.

Состав и работа РБД

12.3.

Система клиент/сервер

Раздел 6. Основы теории РБД

13.

Глава 13. Создание РБД

13.1.

Обеспечение целостности

13.2.

Фрагментация и локализация

13.3.

Процесс интеграции

13.4.

Преобразование структуры и данных

13.5.

Однородные и неоднородные РБД

14.

Глава 14. Использование РБД

14.1.

Одновременный доступ

14.2.

Защита

14.3.

Восстановление РБД

14.4.

Запросы

Заключение

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

Литература

Указатели
11  именной указатель
360  предметный указатель
163  указатель иллюстраций
25  указатель компаний

8.
Глава 8. Взаимосвязь МД

8.1.
Сравнительная характеристика моделей данных

Описанные в главах 5-7 свойства реляционных, сетевых и иерархических моделей данных возможно систематизировать и сравнить, как это сделано в табл. 8.1.

Таблица 8.1.

Сравнительная характеристика моделей БД

Вид модели Достоинства Недостатки
Иерархическая - простота понимания

- простота оценки операционных характеристик

- отношения М:М могут быть реализованы только искусственно
- могут быть избыточные данные
- усложняются операции включения и удаления
- удаление исходных объектов ведет к удалению порожденных объектов
- процедурный характер манипулирования данными
- доступ к любому порожденному узлу возможен только через корневой узел
- сильная зависимость логической и физической БД
- сильно ограниченный набор структур запроса
Сетевая - сохранение информации при уничтожении владельца
- более богатая, чем в иерархической МД, структура запросов
- меньшая, чем у иерархических МД, зависимость логической и физической БД
- сложность структуры: прикладной программист должен детально знать логическую структуру БД (для навигации в наборах и записях)
- возможна потеря независимости данных при реорганизации БД
- представление в прикладной программе сложнее, чем в иерархической МД
Реляционная - простота работы и отражение представлений поль-зователя
- гибкость (соединение, разделение файлов)
- простота внедрения плоских файлов
- отделение от физической реализации (независимость)
- произвольная структура запросов
- хорошее теоретическое обоснование
- низкая производительность
- необходимость глубокого рассмотрения отношений (нормализация), в том числе отношений М:М
- возможность логических ошибок и необходимость осторожной работы с моделью
- линейность структуры таблиц

Из нее видно, что ни одна из моделей не удовлетворяет полностью требованиям, предъявляемым к современным БД.

В связи с этим возникает ряд проблем, основными из которых являются:

    1) преобразование моделей данных;

    2) выбор модели данных и СУБД.

Обсудим эти проблемы.

8.2.
Преобразование моделей данных

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

Возможные варианты преобразований ссылка на источники литературы МД (в себя и другие модели) показаны на рис. 8.1.Рис. 08.01. Виды преобразований: А - операции охвачены; Б - схемы изоморфны; В - модели одинаковы

В преобразовании выделяют трансформацию структур (схем и ограничений), определяемых Язык описания данныхЯОД (позиция А - операции не охвачены), операций, соответствующих ЯМД. Следует заметить, что при ручном реобразовании МД, как это сделано в главах 5 - 7, взаимнооднозначного соответствия может (из-за ограничений) и не быть, поэтому на рис. 8.1 введено понятие изоморфизма - конструктивности (позиция Б).

Считаем, что отображения конструктивны, если реализация БД, соответствующая одной исходной схеме Ss , отображается в другую реализацию, соответствующую другой, целевой схеме St :

Ss St .

В общем случае это отображение - гомоморфизм. Кратко опишем возможные формы преобразования.

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

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

РеорганизацияРеорганизация является частным случаем реструктуризации, когда схемы Ss и St изоморфны.

КонвертированиеКонвертирование определяется так: для данной схемы Ss , соответствующей модели Ms и ассоциированной с ней БД, получить схему St, соответствующую модели Mt и ассоциированной с ней БД.

Детализируем «операционные»понятия.

ВзглядВзгляд (View) представляет собой подсхемы различных пользователей в многопользовательском режиме.

ТрансформацияТрансформация: для данной схемы Ss модели Ms найти схему St , соответствующую модели Mt , которая может быть использована для операций над БД со схемой Ss . Это может быть отображение взгляда в иерархическую и сетевую модели.

База данных распределенная гомогеннаяГомогенная РБД - построение глобальной схемы из локальных (однотипных) схем, покрывающих все другие схемы.

База данных распределенная гетерогеннаяГетерогенная РБД - общий случай интеграции локальных БД в распределенную БД (РБД).

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

Наиболее общими являются преобразования интеграции: гомогенные и гетерогенные, подробно исследуемые позднее.

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

Так, любое отношение Rt степени n в схеме St есть результат функции f(Rs ) той же степени n отношения Ss .

Сложнее с ограничениями (функциональными зависимостями). Пусть имеются в схеме Ss отношения R(A, B), S(C, D) и ограничения A B, C D. Положим, что St : T = RA=C *S. Тогда в St имеется зависимость A BD.

Обратимость отображения не всегда имеет место. Например,

Ss : R(A, B, C), AB C, C BSt :

S = pA, C (R), T = pB, C (R), C B.

Функциональная зависимость AB C не включена в St , поскольку A, B, C не появляются в схеме одного и того же отношения. Из-за функциональной зависимости C B соединение S и T по C образует соединение без потерь информации (S и T дает R), но возможность поддерживать ограничение AB C утрачивается.

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

Реструктуризация может быть проведена и для других МД.

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

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

8.3.
Выбор моделей данных

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

На самом деле критериев значительно больше: стоимость, производительность, неизбыточность и т.д.

На выбор влияет и множество факторов: 1) типы элементов данных; 2) интерфейс пользователя; 3) структура и отношения данных; способы манипулирования данными; 4) целостность БД и защита данных; 5) поддержка программная и техническая; 6) коммерческая поддержка; 7) критерии качества (надежность, точность, соответствие промышленным стандартам); 8) возможности роста и развития.

Сюда следует добавить, что не все требования могут быть сформулированы одинаково четко, а одним и тем же требованиям могут соответствовать разные МД.

В силу сложности задачи выбора СУБД ее целесообразно решать в два этапа: выбор МД; выбор СУБД в рамках принятой МД.

При решении первой задачи возникает проблема выбора по векторному критерию. Ее можно решать предложенным Саати Т.Т. Саати методом анализа иерархий (МАИ), однако в данном случае используем таблицу (матрицу) принятия решений (табл. 8.2).

Таблица 8.2.

Матрица принятий решений

Категория параметра Вес Сi параметра

Оценка Pij

СМД

ИМД

РМД

1. Элементы данных:
character
integer
money
finance
10
5
3
2
10
10
10
10
10
10
10
10
10
10
10
10
2. Интерфейс:
Я1
Я2
30
20
10
5
10
10
10
10
3. Структура данных:
простота
адаптивность
60
20

4
10
3
2
10
4
4. Манипулирование данными:
простота
Быстродействие:
ТА1
ТА2
ТА3
20

15
10
5

10

5
10
10

10

5
10
10

10

10
5
5

Сумма весов 200      
Сумма взвешенная   1465 1125 1785
Масштабируемая сумма 10,0 73 56 89
Удельный вес Ci параметра i определяется экспертно в интервале 1 - 100. Все параметры оцениваемого объекта j имеют экспертную оценку Pij от 1 до 10. Общая оценка

. (8.1)

Оценки Pj могут быть нормированы. Объектом выбора j являются иерархическая (ИМД), База данных сетеваясетевая (СМД) или реляционная (РМД) модели данных. Рассматриваются два интерфейса пользователя: простой Язык запросовязык запросов для неквалифицированных пользователей (Я1) и эффективный Язык манипулирования даннымиЯМД (Я2). Берутся три вида Транзакциятранзакций:

ТА1 - единичная обработка (сотни единиц в час в течение дня);

ТА2 - произвольная обработка (ежедневная задача);

ТА3 - последовательная обработка (ежемесячная обработка).

В качестве критериев выбора примем: 1) простоту МД и транзакций; 2) оценку скорости доступа к требуемым записям для любой транзакции.

Полагаем использование прямого доступа к определенной записи в файле. Введем понятие «адаптивность» по отношению к новому типу данных: в реляционной модели новое отношение не влияет на построение модели, в иерархической и сетевой - требуется создание новой схемы.

Сделаем ряд предположений, поскольку оценка БД без знания конкретной СУБД трудна. Примем три гипотезы:

    а) навигация в иерархической и сетевой МД существенно быстрее, чем поиск по значениям в реляционной БД;

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

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

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

Таблица 8.2.

Матрица принятий решений

Категория параметра Вес Сi параметра

Оценка Pij

СМД

ИМД

РМД

1. Элементы данных:
character
integer
money
finance
10
5
3
2
10
10
10
10
10
10
10
10
10
10
10
10
2. Интерфейс:
Я1
Я2
30
20
10
5
10
10
10
10
3. Структура данных:
простота
адаптивность
60
20

4
10
3
2
10
4
4. Манипулирование данными:
простота
Быстродействие:
ТА1
ТА2
ТА3
20

15
10
5

10

5
10
10

10

5
10
10

10

10
5
5

Сумма весов 200      
Сумма взвешенная   1465 1125 1785
Масштабируемая сумма 10,0 73 56 89
(кроме трех последних строк).

Результаты использования формулы (8.1) приведены в третьей строке снизу табл. 8.2. После нормирования получаются данные, показанные в последней строке. В данном случае предпочтение следует отдать реляционной МД. Нетрудно видеть, что подобная задача не имеет однозначного решения даже при ее повторном выполнении.

В силу широкого распространения реляционных МД для персональных компьютеров далее полагаем использование именно этих моделей данных.

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

© Центр дистанционного образования МГУП