- •Серия «Учебники и учебные пособия»
- •Э.П. Голенищев
- •И.В. Клименко
- •Рецензент
- •Предисловие
- •Введение
- •Глава 1. ИФОРМАЦИОННЫЕ СИСТЕМЫ НА БАЗАХ ДАННЫХ
- •1.1. Понятие информационной системы, информационное обеспечение
- •1.2. Понятие базы данных
- •1.3. Понятие системы управления базами данных
- •1.3.1. Обобщенная архитектура СУБД
- •1.3.2. Достоинства и недостатки СУБД
- •1.3.3. Архитектура многопользовательских СУБД
- •Технология «клиент/сервер»
- •Таблица 1.1
- •1.4. Понятие независимости данных
- •1.5. Категории пользователей базой данных
- •1.5.1. Общая классификация пользователей БД
- •1.5.2. Администратор базы данных
- •1.5.3. Разделение функций администрирования
- •Таблица 1.2
- •1.6. Средства администрирования баз данных
- •Таблица 1.3
- •Глава 2. ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ
- •2.1. Жизненный цикл информационной системы
- •2.1. Подходы и этапы проектирования баз данных
- •2.2.1. Цели и подходы к проектированию баз данных
- •2.2.2. Этапы проектирования баз данных
- •2.3. Инфологическое проектирование базы данных
- •Таблица 2.1
- •Пояснение
- •2.3.1. Модель «сущность-связь»
- •2.3.2. Классификация сущностей, расширение ER-модели
- •Рис. 2.15. Пример ловушки разрыва
- •2.4. Логическое проектирование
- •2.4.1. Выбор СУБД
- •2.4.1.1. Метод ранжировки
- •Таблица 2.2
- •Таблица 2.3
- •2.4.1.2. Метод непосредственных оценок
- •2.4.1.3. Метод последовательных предпочтений
- •Таблица 2.4
- •Таблица 2.5
- •2.4.1.4. Оценка результатов экспертного анализа
- •Таблица 2.6
- •Наименование параметра
- •2.4.2. Даталогические модели данных
- •2.4.2.1. Иерархическая модель
- •2.4.2.2. Сетевая модель
- •2.4.2.3. Реляционная модель
- •2.4.2.4. Достоинства и недостатки даталогических моделей
- •2.4.3. Нормализация
- •2.4.3.1. Понятие функциональной зависимости
- •Таблица 2.7
- •2.4.3.2. Аксиомы вывода функциональных зависимостей
- •2.4.3.3. Первая нормальная форма
- •НОМЕР
- •2.4.3.4. Вторая нормальная форма
- •2.4.3.5. Третья нормальная форма
- •2.4.3.6. Нормализация через декомпозицию
- •2.4.3.7. Недостатки нормализации посредством декомпозиции
- •2.4.3.8. Нормальная форма Бойса–Кодда (НФБК)
- •2.4.3.9. Многозначные зависимости
- •Таблица 2.8
- •Таблица 2.9
- •Таблица 2.10
- •2.4.3.10. Аксиомы вывода многозначных зависимостей
- •2.4.3.11. Четвертая нормальная форма
- •2.4.3.12. Зависимости соединения
- •2.4.3.13. Пятая нормальная форма
- •2.4.3.14. Обобщение этапов нормализации
- •Глава 3. ФИЗИЧЕСКАЯ ОРГАНИЗАЦИЯ ДАННЫХ В СУБД
- •3.1. Списковые структуры
- •3.1.1. Последовательное распределение памяти
- •3.1.2. Связанное распределение памяти
- •Рис. 3.4. Пример двунаправленного линейного списка
- •3.2. Модель внешней памяти
- •3.3. Методы поиска и индексирования данных
- •3.3.1. Последовательный поиск
- •Рис. 3.7. Пример организации файла при начальной загрузке
- •3.3.2. Бинарный поиск
- •3.3.3. Индекс - «бинарное дерево»
- •3.3.4. Неплотный индекс
- •3.3.5. Плотный индекс
- •3.3.6. Инвертированный файл
- •Глава 4. МАТЕМАТИЧЕСКИЕ ОСНОВЫ МАНИПУЛИРОВАНИЯ РЕЛЯЦИОННЫМИ ДАННЫМИ
- •4.1. Теоретические языки запросов
- •4.1.1. Реляционная алгебра
- •4.1.2. Реляционное исчисление кортежей
- •4.1.3. Реляционное исчисление доменов
- •4.1.4. Сравнение теоретических языков
- •4.2. Определение реляционной полноты
- •Глава 5. РАСПРЕДЕЛЕННЫЕ БАЗЫ ДАННЫХ И СУБД
- •5.1. Основные определения, классификация распределенных систем
- •5.2. Преимущества и недостатки распределенных СУБД
- •Таблица 5.1
- •5.3. Функции распределенных СУБД
- •5.4. Архитектура распределенных СУБД
- •5.5. Разработка распределенных реляционных баз данных
- •5.5.1. Распределение данных
- •Таблица 5.2
- •5.5.2. Фрагментация
- •5.5.3. Репликация
- •5.5.3.1. Виды репликации
- •5.5.3.2. Функции службы репликации
- •5.5.3.3. Схемы владения данными
- •5.5.3.4. Сохранение целостности транзакций
- •5.5.3.5. Моментальные снимки таблиц
- •5.5.3.6. Триггеры базы данных
- •5.5.3.7. Выявление и разрешение конфликтов
- •5.6. Обеспечение прозрачности
- •5.6.1. Прозрачность распределенности
- •5.6.2. Прозрачность транзакций
- •5.6.3. Прозрачность выполнения
- •5.6.4. Прозрачность использования
- •ЗАКЛЮЧЕНИЕ
- •ПРИЛОЖЕНИЯ
- •Приложение 1. Недостатки файловых систем
- •Приложение 2. Краткая история развития субд
- •Приложение 3. Сравнительная характеристика даталогических моделей
- •Сводная характеристика систем баз данных
- •Приложение 4. Пример мифологического проекта базы данных
- •Приложение 5. Обобщенная методика проектирования реляционных баз данных
- •Приложение 6. Принципы организации компьютерных сетей
- •Отличие ЛВС от систем на основе мини-ЭВМ
- •Таблица П.6.1
- •Приложение 7. Правила распределенных СУБД
- •Независимость от операционной системы
- •Приложение 8. Краткий толковый словарь
- •Содержание
Рис. 2.18. Семантическая сеть преобразованной ER-модели
2.4. Логическое проектирование
2.4.1. Выбор СУБД
Важным этапом жизненного цикла информационной системы и, в частности, проектирования базы данных, является выбор целевой СУБД.
Предлагаемые в разделе методы пригодны и к оценке новых продуктов, поступающих на рынок. Основная цель при подборе СУБД – выбор системы, удовлетворяющей текущим и прогнозируемым
требованиям организации при оптимальном уровне затрат.
Затраты могут включать расходы на приобретение СУБД и дополнительного аппаратного и программного обеспечения, а также расходы, связанные с переходом к новой системе и необходимостью переобучения персонала.
Сложность и комплексность проблем, возникающих при проектировании сложных систем, в том числе и информационных систем, основанных на базах данных, привели к тому, что вопросы формирования критериев для анализа и синтеза систем перестали быть только искусством, основанным на инженерной интуиции, а превратились в серьезное научное направление, важность которого возрастает с каждым днем [3].
Если раньше выбор инструментальных средств (в том числе СУБД) производился исходя из предпочтений разработчика вне зависимости от специфики предметной области и перспектив использования базы данных, то на современном этапе развития программного обеспечения, когда на рынке предлагается необозримое количество СУБД, выбор средства реализации БД становится сложной задачей. Принятие строго оптимального решения в таких условиях желательно, но затруднено.
В общем виде процесс выбора СУБД включает следующие этапы:
1)определение списка показателей, по которым будут оцениваться СУБД;
2)определение списка сравниваемых СУБД;
3)оценка продуктов по выбранным показателям;
4)принятие обоснованного решения, подготовка отчета.
Современные СУБД имеют множество основных и дополнительных функций, предоставляющих разработчику мощный инструментарий для реализации, поддержки и ведения баз данных. Какую из них выбрать в каждом конкретном случае?
41
Известны математические методы для решения задач оптимизации. В частности при выборе СУБД по множеству показателей очевидно применение методов линейного или целочисленного программирования. К числу сходных задач относится, например, задача о наименьшем покрытии, а универсальный метод для решения таких задач – метод ветвей и границ. Но эти задачи относятся к классу NP-полных, а значит, сложность их решения может сравниться (или превзойти) сложную многоэтапную задачу проектирования информационной системы.
В таких условиях при выборе СУБД целесообразно использовать методы построения обобщенных критериев.
Общая постановка задачи принятия решений выглядит следующим образом [3].
А. Имеется некоторое множество альтернатив (в рассматриваемом случае – СУБД) А, причем каждая альтернатива а характеризуется определенной совокупностью свойств a1, a2, ..., аn.
Б. Имеется совокупность критериев q = (q1, q2, ..., qi, …, qn), отражающих количественно множество свойств системы, т.е. каждая альтернатива характеризуется вектором q(a) = [q1(а), q2(а), ..., qi(а), ..., qn(а) ].
В. Необходимо принять решение о выборе одной из альтернатив (СУБД), причем решение называется простым, если выбор производится по одному критерию, и сложным, если выбранная альтернатива не является наилучшей по какому-то одному критерию, но может оказаться наиболее приемлемой для всей их совокупности,
Г. Задача принятия решения по выбору альтернативы на множестве критериев формально сводится к отысканию отображения φ, которое каждому вектору q ставит в соответствие действительное число
определяющее степень предпочтительности данного решения.
Оператор φ называют интегральным (обобщенным) критерием. Интегральный критерий присваивает каждому решению по выбору альтернативы соответствующее значение эффективности Е. Это позволяет упорядочить множество решений по степени предпочтительности.
В данном разделе предлагается использовать аддитивное преобразование при построений обобщённого показателя эффективности, известное из теории полезности [3]:
Однако в этом случае значения коэффициентов bi, отражают полезность (ценность) критерия qi при принятии сложного решения о выборе альтернативы. Определение их значений производится в результате предварительного опроса группы из m экспертов (специалистов в данной области). Один из возможных путей получения этих значений заключается в следующем. Каждый j-й эксперт вначале определяет набор чисел Сij, отражающих его мнение об относительной ценности i-го критерия, причем числа Сij записаны в произвольном масштабе. Затем они масштабируются, в результате получают
Окончательные значения коэффициентов bi, вычисляются в результате осреднения значений bij (j =1, 2, ..., т), получаемых от всех экспертов. Если компетентность экспертов в группе считается одинаковой, то
m
Если же компетентность j-го эксперта оценивается числом g j , g j =1, то
j=1
42