- •А.И. Костюк
- •Введение
- •1. Данные
- •1.1. Источники данных
- •1.1.1. Предметная область
- •1.1.2. Объект
- •1.1.3. Атрибуты (элементы данных)
- •1.2. Значение данных
- •1.2.1. Ключевой элемент данных
- •1.2.2. Запись данных
- •1.2.3. Файл данных
- •1.3. Недостатки традиционной организации файлов данных
- •1.4. База данных
- •1.4.1. Определение базы данных
- •1.4.2. Система управления базами данных
- •1.4.3. Недостатки интеграции данных
- •1.5. Администратор базы данных
- •1.6. Независимость данных
- •1.6.1. Два уровня независимости данных
- •1.6.2. Способы достижения независимости данных
- •1.7. Словарь данных
- •1.8.Принципы проектирования базы данных и достижения требуемых эксплуатационных характеристик
- •2. Администрирование базы данных
- •2.1. Функция администрирования базы данных
- •2.1.1. Обязанности абд
- •2.1.2. Абд и администрация предприятия
- •2.1.3. Абд и пользователи
- •2.1.4. Абд и разработчики прикладных программ
- •2.1.5. Абд и системная группа
- •2.1.6. Абд и эксплуатационная группа
- •2.1.7. Абд и поставщики программного обеспечения
- •2.1.8. Абд и поставщики аппаратных средств
- •2.2. Жизненный цикл системы с базой данных
- •2.2.1. Проектирование базы данных (этап 1)
- •2.2.2. Материализация базы данных (этап 2)
- •2.2.3. Конвертирование существующих наборов данных и прикладных программ во вновь созданную базу данных (этап 3)
- •2.2.4. Интеграция конвертированных и новых прикладных программ для работы в среде вновь созданной базы данных (этап 4)
- •2.2.5. Эксплуатация (этап 5)
- •2.2.6. Развитие, совершенствование и сопровождение (этап 6)
- •2.3. Абд, группа абд и ее обязанности
- •3. Словарь данных
- •3.1. Что такое словарь данных
- •3.1.1. Назначение
- •3.1.2. Словарь данных и система управления базами данных
- •3.1.3. Интерфейсы
- •3.1.4. Идеальный словарь данных. Требования и организация
- •3.2. Стратегия реализации словаря данных
- •3.2.1. Экономическая целесообразность
- •3.2.2. Условия применения
- •3.2.3. Рекомендации по определению данных
- •4. Модели данных
- •4.1. Что такое модель данных
- •4.2. Взаимосвязи в модели данных
- •4.2.1. Взаимосвязь «один к одному» (между двумя типами объектов)
- •4.2.2. Взаимосвязь «один ко многим» (между двумя типами объектов)
- •4.2.3. Взаимосвязь «многие ко многим» (между двумя типами объектов)
- •4.2.4. Взаимосвязь «один к одному» (между двумя атрибутами)
- •4.2.5. Взаимосвязь «один ко многим» (между двумя атрибутами)
- •4.2.6. Взаимосвязь «многие ко многим» (между двумя атрибутами)
- •4.2.7. Обзор моделей данных
- •4.3. Реляционная модель данных
- •4.3.1. Достоинства модели
- •4.3.2. Недостатки модели
- •4.4. Иерархическая модель данных
- •4.4.1. Иерархическая древовидная структура
- •4.4.2. Включение и удаление данных
- •4.4.3. Достоинства модели
- •4.4.4. Недостатки модели
- •4.5. Сетевая модель данных
- •4.5.1. Представление взаимосвязи «один ко многим»
- •4.5.2. Дополнительные классы наборов
- •4.5.3. Операции включения и удаления в сетевой модели данных
- •4.5.4. Достоинства модели
- •4.5.5. Недостатки модели
- •5. Проектирование концептуальной модели данных
- •5.1. Анализ данных
- •5.1.1. Сбор информации о данных, используемых в существующих прикладных программах
- •5.1.2. Сбор информации о данных для перспективных приложений
- •5.2. Нормализация отношений
- •5.3. Графическое представление
- •6. Проектирование логической модели данных
- •6.1. Отображение на реляционную модель данных
- •6.2. Отображение на иерархическую модель данных
- •6.3. Отображение на сетевую модель данных
- •7. Физическая модель данных
- •7.1. Интерфейсы между пользователем и базой данных
- •7.2. Методы доступа внутренней модели (физической)
- •7.2.1. Физический последовательный метод доступа
- •7.2.2. Индексно-последовательный метод доступа
- •7.2.3. Индексно-произвольный метод доступа
- •7.2.4. Инвертированный метод доступа
- •7.2.5. Прямой метод доступа
- •7.2.6. Метод доступа посредством хеширования
- •7.3. Методы доступа внешней модели (представления пользователя)
- •8. Языкsql
- •8.1. Состав языка sql
- •8.2. Реляционные операции. Команды языка манипулирования данными
- •Команда select Простейшие конструкции команды select
- •Список полей
- •Все поля
- •Все поля в произвольном порядке
- •Вычисления
- •Литералы
- •Конкатенация
- •Использование квалификатора as
- •Работа с датами
- •Агрегатные функции
- •Предложение from команды select
- •Ограничения на число выводимых строк
- •Is null
- •Операции сравнения
- •Between
- •Containing
- •Is null
- •Логические операторы
- •Преобразование типов (cast)
- •Изменение порядка выводимых строк (order by)
- •Упорядочивание с использованием имен столбцов
- •Упорядочивание с использованием номеров столбцов
- •Устранение дублирования (модификатор distinct)
- •Соединение (join)
- •Внутренние соединения
- •Самосоединения
- •Внешние соединения
- •9. Общая характеристика баз знаний и экспертных систем
- •9.1. Терминология
- •9.2. Принципы, структура и функции систем баз знаний (сбз)
- •9.3. Классификация инструментальных средств построения сбз
- •Литература
- •Содержание
- •1. Данные 6
- •2. Администрирование базы данных 21
- •3. Словарь данных 43
- •4. Модели данных 57
- •5. Проектирование концептуальной модели данных 82
3.2. Стратегия реализации словаря данных
В настоящее время распространены системы словаря данных двух типов. К системам первого типа относятся независимые словари данных, предназначенные для использования с различными СУБД. Системы второго типа реализованы на основе некоторой СУБД. В обоих случаях собственно словарь данных реализуется в виде базы данных. В соответствии с этим при проектировании словаря используются те же критерии, что и при проектировании баз данных. Прежде всего необходимо проанализировать показатели экономической эффективности, а затем исследовать, каким образом и когда следует начать внедрение словаря данных на предприятии.
3.2.1. Экономическая целесообразность
Как уже отмечалось, большинство современных программ, реализующих словарь данных, не являются неотъемлемой частью какой-либо СУБД. Поэтому решения о приобретении системы словаря данных и СУБД принимаются раздельно. Прежде чем приобрести систему словаря данных, необходимо сопоставить затраты с ожидаемым эффектом. Для начала выясним, какие затраты связаны с использованием словаря. Вопрос состоит не в том, нужен ли словарь данных вообще, а в том, следует ли учредить аппарат АБД,во-первых, и насколько необходимы администрации базы данных средства управления, во-вторых. Именно с этой точки зрения мы и рассмотрим систему с базой данных, в которой имеется словарь данных, и систему, в которой его нет. Словарь данных в системах с традиционными файлами здесь обсуждаться не будет.
Стоимость некоторого объекта или проекта может быть измерена в терминах требуемых ресурсов. Затраты чаще всего имеют стоимостное выражение: затраты на приобретение системы, на ее обслуживание, на оборудование, на создание и ведение базы данных словаря и т. д.Гораздо сложнее оценить ожидаемый эффект. Его можно рассматривать как следствие некоторых мероприятий, способствующих сохранению или увеличению благосостояния отдельного лица или предприятия. Он может быть выражен в терминах экономии, снижения себестоимости, улучшения характеристик, выявления новых возможностей. При проведении анализа экономической целесообразности необходимо учитывать все вероятные последствия рассматриваемого проекта как положительные, так и отрицательные.
Затраты.
Персонал.Рассмотрим затраты на обслуживающий персонал в процессе установки системы словаря данных, создания базы данных словаря и ее ведения. В зависимости от размера и сложности предметной области, размера базы данных, числа прикладных программ, поддерживаемых словарем данных, и профессионального уровня персонала эти затраты могут меняться в широком диапазоне. Не следует забывать, что эксплуатации системы словаря данных (как и любой другой системы) должен предшествовать период обучения персонала. Если предприятие функционирует полностью децентрализовано, затраты могут оказаться значительно выше. В этом случае организационные изменения могут потребовать существенных расходов.
Создание базы данных словаря.Это сопряжено с наибольшими затратами. Их размеры зависят от следующих факторов:
числа элементов данных, которые необходимо выявить, а затем ввести в словарь данных их определения, вместе с текстовыми описаниями и атрибутами;
числа и сложности взаимосвязей с объектами и прикладными программами, которые необходимо выявить и документировать.
В свою очередь размер затрат, определяемый указанными факторами, зависит от того, насколько сложно получить те данные, которые должны быть введены в словарь при первоначальном создании его базы данных. Если база данных или система файлов уже существует, сбор элементов данных, их атрибутов и описаний осуществить относительно легче при наличии у АБД всей документации. В случае разработки новых прикладных программ следует учитывать только часть затрат, поскольку документирование подобного рода так или иначе придется проводить.
Ведение базы данных словаря.Хотя затраты на ведение базы данных словаря составляют лишь часть затрат на ее первоначальное создание, следует все же рассмотреть их структуру в динамике. Стоимость ведения базы данных словаря в худшем случае будет равна затратам на ее ведение в отсутствие системы словаря данных.
Оборудование.Словарь данных в целях обеспечения эффективности обработки должен размещаться на запоминающих устройствах прямого доступа. Обычно стоимость времени центрального процессора, использования основной памяти и памяти прямого доступа мала по сравнению с затратами на персонал.
Рассмотрим теперь выгоды, которые может принести введение словаря данных.
Выгоды.
Выгоды меняются в зависимости от характера предметной области. Экономия за счет введения словаря данных будет тем выше, чем больше число используемых в системе с базой данных элементов данных и их взаимосвязей. Очевидно, что наличие словаря данных в динамичной системе, т. е. в системе, отличающейся относительно большим числом изменений, даст больший эффект, чем в полностью статичной. Динамичная система не предполагает непрерывного изменения структуры данных. В этом случае реализация базы данных оказалась бы бессмысленной. Никакую базу данных нельзя периодически реструктурировать без соответствующих затрат Целесообразность применения словаря данных здесь, по-видимому, возрастает с увеличением степени совместного использования данных и программ.
Проектирование, развитие, создание и ведение баз данных.При наличии словаря данных улучшается взаимодействие между различными категориями и группами пользователей и разработчиков. Это приводит к снижению числа «итераций» при проектировании. Стоимость разработки уменьшается благодаря более высокому качеству документации и большему взаимопониманию между участниками проекта. В принципе база данных должна быть создана в более короткий срок, поскольку сокращается время проектирования. Более того, повышение качества документации, ускорение анализа влияния предполагаемых изменений и улучшение взаимодействия между эксплуатационным персоналом и лицами, предполагающими внести изменения, позволяет вести базу данных при использовании словаря с меньшими издержками, чем без него.
Косвенные выгоды.Наличие словаря данных обеспечивает ряд дополнительных преимуществ, которые трудно оценить в денежном выражении:
упрощается обращение к базе данных (подобно тому, как упрощается просмотр книги, если в ней есть предметный указатель);
появляется возможность накапливать более полную информацию о данных и лучше ее систематизировать;
в условиях централизации становится проще определять стандарты присвоения имен, описаний, использования данных и т п.;
с помощью таблиц соответствия быстрее реализуются изменения базы данных;
расширяются возможности регистрации доступа к данным;
упрощается контроль доступа к данным, так как информация о базе данных и ее использовании хранится централизованно.
Стоимость реализации систем с базой данных и словарем данных, в которую входит стоимость накопления и хранения информации об элементах данных, их взаимосвязях и т. д.,превышает стоимость создания систем с базой данных без словаря. Однако, если в системах со словарем стоимость внесения изменений со временем уменьшается, то в системах без словаря внесение изменений сопряжено с возрастающими издержками. Издержки при ведении систем без словаря могут в дальнейшем возрасти и за счет неупорядоченной документации.