- •Глава 1 Внешние модели данных
- •1.1. Общие положения
- •1.2. Иерархическая модель
- •1.3. Целостность иерархической модели
- •Уникальность
- •Обязательность и множественность
- •Кортежи
- •Виртуальные атрибуты
- •Правила активности
- •1.4. Построение иерархических моделей
- •Ориентация модели
- •Выбор ключевых атрибутов
- •3 Посвященному пользователю этот набор цифр — номер зачетной книжки — тоже может сказать кое-что; например, первые две цифры — о годе поступления студента.
- •1.5. Модель «гиперкуб данных»
Глава 1 Внешние модели данных
В этой главе рассматриваются вопросы построения внешних моделей данных, отражающих информационные потребности отдельных категорий пользователей автоматизированной системы.
• Общие положения — в чем сущность внешних моделей данных и каково их место в процессе концептуального проектирования базы данных.
Иерархическая модель — как организованы «сложные таблицы», получившие распространение в качестве модели внешнего представления в операциональных базах данных.
Целостность иерархических моделей — как формулируются и обеспечиваются ограничения данных при проектировании «сложных таблиц».
Построение иерархических моделей — как происходит разработка «сложных таблиц» при проектировании внешних моделей данных.
Многомерная модель — как организован «гиперкуб данных», получивший распространение в качестве модели внешнего представления для многомерного анализа и поддержки принятия решений.
1.1. Общие положения
Информационные потребности пользователей — это первый вопрос, с которого начинается проектирование концептуальных моделей базы данных. Необходимо выяснить, какие данные в какой форме необходимы различным категориям пользователей системы или приложениям базы данных для того, чтобы эффективно выполнять автоматизированные функции. Модель данных является формальным представлением таких потребностей с той или иной степенью абстракции.
Автоматизированные функции системы рассматриваются здесь как функции, для выполнения которых пользователю необходима информация, хранящаяся в базе данных (рис. 1.1). Например, для управления учебным процессом работникам деканата нужны сведения из базы данных о студентах факультета и их успеваемости по различным учебным дисциплинам; работникам отдела кадров организации требуются сведения о сотрудниках; рабочим, прокладывающим канаву, необходимы сведения о залегании электрических и телефонных кабелей и т.д. Существенной особенностью является то, что необходимо заранее, до заполнения базы данных определить, какого рода сведения должны в ней храниться и как они должны быть организованы. Модели данных как раз и должны ответить на эти вопросы.
Концептуальная или инфологическая модель данных, в отличие от внешних моделей, ориентирована на базу данных в целом. Термин «концептуальная» подчеркивает ее независимость как от конкретных приложений, так и от конкретной среды реализации базы данных. Это информационная модель предметной области, объективно необходимая для функционирования автоматизированной системы при любом способе реализации базы данных независимо от используемой СУБД. Концептуальную модель, отражающую информационные потребности всей совокупности автоматизированных функций, часто называют глобальной моделью данных.
База данных строится на основе концептуальной модели, поскольку именно концептуальная модель отражает всю совокупность необходимых данных. Сама же концептуальная модель строится (синтезируется) на основе обобщения всей совокупности внешних моделей.
Интерфейс пользователя, предоставляемый приложениями баз данных пользователю для выполнения автоматизированных функций, строится в соответствии с внешними моделями, поскольку именно они отражают его информационные потребности. Вместе с тем, доступ к данным определяется концептуальной моделью базы данных. Поэтому при разработке интерфейса пользователя необходимо представление об отображении внешних моделей на концептуальную.
Двойственная роль внешних моделей, таким образом, состоит в том, что они должны, с одной стороны, давать возможность для построения глобальной концептуальной модели данных, чтобы служить основой для реализации собственно базы данных, с другой стороны, как можно яснее отражать информационные потребности соответствующих категорий пользователей, чтобы служить основой для разработки пользовательского интерфейса. Поэтому в процессе концептуального проектирования базы данных разработчик дважды имеет дело с внешними моделями: на начальном этапе, когда они разрабатываются на основе анализа информационных потребностей отдельных автоматизированных функций, и на завершающем этапе, когда устанавливается их отображение на концептуальную модель.
Приложение базы данных (Database Application) — программа или программная система, предназначенная для выполнения некоторой совокупности функций в данной предметной области и использующая ресурсы некоторое системы баз данных.
Тотальная информатизация ведет дело к тому, что рабочий XXI века будет рыть канаву не иначе, как вооружившись лопатой с портативным компьютером, имеющим доступ к глобальной навигационной системе и сети Интернет. Конечно, при этом не обойтись без базы данных!
Существует понятие логической модели данных (Logical Data Model), являющейся видоизменением концептуальной модели с учетом возможностей и ограничений используемой СУБД, но не связанную со средой хранения данных, а также понятие внутренней модели (Internal Data Model) или модели хранения, задающей описание организации базы данных в среде хранения используемой СУБД. Эти модели относятся к более низкому уровню абстракции и, как правило, не рассматриваются на этапе концептуального проектирования.