
- •А.И. Костюк
- •Введение
- •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.1.2. Словарь данных и система управления базами данных
Словарь данных может быть полезен и в тех системах, где концепция базы данных не применяется. Он является средством централизованного накопления описаний данных: назначения, взаимосвязей с другими данными, источников, лиц, ответственных за ведение. В системе с базой данных словарь хранит информацию о базе данных, а в файловой – описания данных, содержащихся в файлах. Возможно одновременное использование словаря данных для прикладных программ, работающих под управлением СУБД и без СУБД.
Для создания базы данных словаря и управления ею должны применяться соответствующие программные средства. Пакет программ словаря данных может интегрироваться с системой управления базами данных или быть независимым. Интегрированный словарь данных представляет собой часть пакета программ СУБД, а независимый словарь данных – отдельный пакет программ, служащий дополнением к СУБД.
В системе с интегрированным словарем данных описания данных существуют в единственном экземпляре и хранятся в этом словаре В системе с независимым словарем данных описания данных могут либо извлекаться из него, либо обеспечиваться другим образом. Поскольку первая система такой возможностью не располагает, необходимо всякий раз перед выполнением программы проверять достоверность используемых в ней описаний. Во второй системе подобная проверка не всегда обязательна.
Оба типа словарей данных, интегрированный и независимый, имеют свои преимущества и недостатки.
Преимущества интегрированной системы словаря данных:
• отсутствует дублирование описаний данных в СУБД и словаре данных. Это сокращает вероятность появления ошибок в результате отказов при обновлении дублированной информации;
• словарь данных обладает возможностью доступа к базе данных. Одним из его потенциальных применений может быть трассировка доступа к базе данных для сбора статистических данных с целью повышения производительности системы;
• будучи интегрированным с СУБД, словарь данных может служить более мощным средством контроля, поскольку как проектировщики, так и пользователи вынуждены его использовать в качестве инструмента документирования и настройки данных.
Преимущества независимого словаря данных:
• реализация сопряжена с меньшим риском попасть в рамки ограничений СУБД, чем у интегрированного словаря данных. Кроме того, она проще, поскольку нет необходимости учитывать все особенности СУБД;
• описания всех данных могут вводиться постепенно, в то время как интегрированному словарю они должны быть предоставлены одновременно. В современных системах обработки данных, как правило, не происходит одновременного преобразования системы файлов в базу данных. Базы данных используются параллельно с традиционными файлами. Наиболее предпочтителен такой словарь, в котором описания данных, принадлежащих базам данных, поддерживаются так же, как в интегрированном словаре данных, а описания данных традиционных файлов – как в независимом словаре.
3.1.3. Интерфейсы
Проанализируем интерфейсы словаря данных в системе с единственной СУБД (рис. 3.1).
Рис 3.1
Существуют два типа интерфейсов:
с людьми, вовлеченными в систему АБД,системными программистами, прикладными программистами, руководителями, конечными пользователями и ревизорами;
с программными средствами: СУБД, компиляторами, операционной системой и генераторами отчетов.
На ранней стадии проектирования базы данных со словарем данных взаимодействует АБД. С помощью генератора отчетов, который, возможно, входит в состав средств словаря, администрации и пользователям предоставляются отчеты, учитывающие их потребности.
Отчеты могут отражать следующие аспекты:
• элементы данных и объекты;
• взаимосвязи элементов данных и объектов;
• ответственность пользователей за правильность данных;
• частотные характеристики использования и текстуальные описания элементов данных;
• правила разграничения доступа;
• отчеты ревизии;
• регламентированные сводные отчеты;
• отчеты, подготовленные имеющимися у пользователя средствами;
• отчеты, содержащие таблицы соответствия;
• отчеты об изменениях;
• отчеты об ошибках.
Словарь данных может генерировать описания данных, включать их в библиотеки программ и готовить их для компиляторов в форме диалектов языков высокого уровня. В словаре может храниться информация о взаимосвязи программ и элементов данных. На основе таблицы соответствия наделенные необходимыми полномочиями лица имеют возможность информировать прикладных программистов и любое подразделение о предполагаемых изменениях, согласовывать их и после этого осуществлять. Изменения могут вноситься в содержание, формат или взаимосвязь с другими элементами данных.
В идеальном случае интерфейс между СУБД и словарем данных должен обеспечивать доступ системы словаря к справочникам СУБД, в которых хранится информация о текущем состоянии последней. Модификация типов данных может производиться только после того, как это будет зарегистрировано в словаре данных. Обновление самих данных допускается лишь после проверки его корректности средствами СУБД. Таким образом, словарь данных, СУБД и база данных образуют замкнутый контур.
Словарь данных может служить эффективным инструментом АБД при проектировании, реализации и эксплуатации системы с базой данных. АБД отвечает за разработку стандартов, а также за обеспечение безопасности и секретности, регулирующих доступ к словарю.
Рассмотрение этих интерфейсов показывает, что словарь данных имеет двоякое применение. Во-первых, он может использоваться людьми, выполняющими разнообразные функции. АБД, системными и прикладными программистами, системными аналитиками, руководителями, конечными пользователями и ревизорами. Во-вторых, он используется различными программами и системами программ СУБД, компиляторами, операционной системой и генераторами отчетов.
Интерфейсы каждого типа применения обеспечивают эффективное взаимодействие и взаимосвязь как между программными компонентами системы обработки данных, так и между вовлеченными в нее сотрудниками. Тем самым они способствуют организации контроля и управления в системе.