- •А.И. Костюк
- •Введение
- •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
1. Данные
База данных должна обладать гибкостью, чтобы быть менее чувствительной к изменению требований по обработке информации. Ниже рассматриваются основные вопросы, связанные с гибкостью базы данных [1], и даются общие рекомендации по ее созданию для достижения заданных характеристик.
1.1. Источники данных
Взаимосвязанные данные называют системой.Всякая система, кроме обычных форм знаний, требует создания очень сложной модели реального мира.
Ядром информационной системы являются хранимые данные [2]. На любом предприятии данные различных отделов, как правило, пересекаются. Например, для целей управления часто нужна информация по всему предприятию. Принятие решений по производственным вопросам невозможно без информации о товарах, о полученных заказах, о стратегии сбыта и т. д. Это означает, что описывающие конкретную предметную область данные должны храниться в легко доступном виде [3].
Чтобы понять процесс электронной обработки данных, необходимо знать ряд терминов, которые применяются при описании и представлении данных [4].
1.1.1. Предметная область
Предметная областьможет относиться к любому типу организации (например, банк, университет, больница или завод).
Необходимо различать полную предметную область (крупное предприятие по производству автомобилей, ЭВМ, химической продукции или по выплавке стали) и организационную единицу этой предметной области. Организационная единица, в свою очередь, может представлять свою предметную область (например, цех по производству кузовов автомобильного завода или отдел обработки данных предприятия по производству ЭВМ). В данном случае цехи и отделы сами могут соответствовать определенным предметным областям.
Для ряда предметных областей может потребоваться информация о персонале, заработной плате, товарах, закупочных ордерах, счетах дебиторов, отчетах по сбыту, лабораторных тестах, курсовых регистрационных списках, финансовых сделках, историях болезней, т е. сведения о людях, местах, предметах, событиях и понятиях.
1.1.2. Объект
Объектомможет быть человек, предмет, событие, место или понятие, о котором записаны данные.
Так, в банковском деле примерами объектов могут служить КЛИЕНТЫ, БАНКОВСКИЕ СЧЕТА и ССУДЫ ПО ЗАКЛАДНЫМ. На товарном складе — это ПОСТАВЩИКИ, ТОВАРЫ, ОТПРАВЛЕНИЯ и т д.
1.1.3. Атрибуты (элементы данных)
Каждый объект характеризуется рядом основных атрибутов. Например, дом характеризуется габаритами, цветом, временем эксплуатации и размером приусадебного участка. Клиент банка имеет такие атрибуты, как фамилию, адрес и, возможно, идентификационный номер. Банковский счет может представляться типом, номером и балансом. Объект «КЛИЕНТ» банка описывается тремя атрибутами: идентификационным номером, фамилией и адресом (см. рис. 1.1). Атрибут часто называют элементом данных, полем данных, полем, итемом данных или элементарным итемом.
1.2. Значение данных
Значение данныхпредставляет действительные данные, содержащиеся в каждом элементе данных. Элемент данных «фамилия клиента» может принимать такие значения, как «проф Хиггинс» или «Марк Твен». В зависимости от того, как элементы данных описывают объект, их значения могут быть количественными, качественными или описательными. На рис. 1.1 показаны различия между объектами, элементами данных и принимаемыми ими значениями.
Объект |
Атрибуты (или элементы данных) |
Значения (данные) |
КЛИЕНТ |
Идентификационный Номер. Фамилия. Адрес |
123456789, Проф. Хиггинс, 55 Сноу Стрит Нью-Йорк, Н.-Й. |
СЧЕТ |
Тип. Номер. Баланс |
Расход, 634250, 20.53 |
ПОСТАВЩИК |
Фамилия. Номер. Адрес |
Вильям Шекспир, С1, 100 Бук Стрит Нью-Йорк, Н.-Й. |
Рис.1.1
Информацию о некоторой предметной области можно представить с помощью нескольких объектов, каждый из которых описывается несколькими элементами данных. Принимаемые элементами данных значения называются данными. Единичный набор принимаемых элементами данных значений называется экземпляромобъекта. Объекты связываются между собой определенным образом. Соответствующая модель объектов с составляющими их элементами данных и взаимосвязями называетсяконцептуальной моделью.Концептуальная модель дает общее представление о потоке данных в предметной области.
При рассмотрении данных часто бывает трудно выявить различия между объектом, элементом данных и значением элемента данных. Так, если объектом является КЛИЕНТ, то представляющими клиента элементами данных служат его идентификационный номер, фамилия и адрес, а возможными значениями этих элементов данных — «123456789», «проф. Хиггинс» и «55 Сноу Стрит, Нью-Йорк, Н.-Й». Тем не менее установить различия между объектом, элементом данных и значением, которое принимает этот элемент данных, очень важно.