Описание предметной области. По отношению к пользователям принято использовать трехуровневое представление для описания предметной области (рис
По отношению к пользователям принято использовать трехуровневое представление для описания предметной области (рис. 7.12): концептуальное, логическое и физическое (внутреннее).
Концептуальный уровень связан с частным представлением данных группы пользователей, использующих одну и ту же информацию, в виде внешней схемы. Каждый конкретный пользователь работает с частью БД и представляет ее в виде внешней модели. Характеризуется разнообразием используемых моделей (модель «сущность — связь»: ER-модель, модель Чена, бинарные и инфологические модели, семантические сети). На рис. 7.13 представлен фрагмент предметной базы данных «сбыт» и одно из возможных его концептуальных представлений, которое отражает не только объекты и их свойства, но и взаимосвязи между ними.
Логический уровень является обобщенным представлением данных всех пользователей в абстрактной форме. Используются три классических вида моделей: иерархические, сетевые и реляционные:
Рис. 7.12. Описания предметной области
Рис. 7.13. Фрагмент предметной базы данных «Сбыт» и одно из возможных его концептуальных представлений
- сетевая модель является моделью объектов-связей, допускающей только бинарные связи «многие к одному», и использует для описания модель ориентированных графов;
иерархическая модель является разновидностью сетевой, являющейся совокупностью деревьев (лесом);
- реляционная модель использует представление данных в виде таблиц (реляций), в основе лежит математическое понятие теоретико-множественного отношения, базируется на реляционной алгебре и теории отношений.
Представление предметной базы данных «Сбыт» на логическом уровне для различных моделей показано на рис. 2.14.
Дальнейшим развитием логического представления данных является переход к объектно-ориентированным моделям данных, что связано с процессом «перекачки» в них огромных объемов информации, которая в настоящее время хранится преимущественно в реляционных базах данных.
Суть объектно-ориентированной базы данных (ООБД) определяется объектно-ориентированным подходом, объединяющим объектно-ориентированное проектирование и объектно-ориентированное программирование.
Рис. 7.14. Представление предметной базы данных «Сбыт» на логическом уровне для различных моделей
Объектно-ориентированное проектирование методология проектирования, соединяющая в себе процесс объектной декомпозиции и приемы представления логических и физических, а также статических и динамических моделей проектируемой системы. Объектно-ориентированное проектирование предполагает не только деление (декомпозицию) базы знаний или базы данных на составные части, но и рассмотрение общей этапности реализации БД, выбор инструмента реализации с учетом оговоренных в техническом задании вариантов реализации.
Объектно-ориентированное программирование методология программирования, основанная на представлении программ в виде связанной совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию по наследованию.
Для упрощения процесса перехода к ООБД была создана объектно-реляционная модель данных, имеющая две разновидности — гибридную и расширенную.
Объектно-реляционная модель (ОРБД) является промежуточной между реляционными и объектно-ориентированными базами данных. Ее появление вызвано двумя причинами:
сложностью построения новой модели данных «с листа». Удобнее это делать на основе имеющихся проверенных разработок;
— учетом преемственности с широко используемыми реляционными моделями, которые нельзя мгновенно заменить на объектно-ориентированные БД.
Различают две разновидности ОРБД — гибридные и расширенные модели.
В гибридных моделях [3, 4, 36] интерфейс пользователя и алгоритм приложения выполнены с учетом объектно-ориентированного подхода, тогда как собственно БД является реляционной. Примерами могут служить СУБД Paradox и InterBase в рамках программного продукта Delphi. В каком-то смысле гибридной можно считать СУБД Access при использовании языка программирования Visual Basic Fot Application (VBA).
В расширенных (постреляционных) моделях предполагается объектно-ориентированное построение собственно базы данных путем использования известных и введения новых типов данных, связанных между собой. Эта связь чаще всего осуществляется созданием методов с помощью триггеров и хранимых процедур. В расширенной объектно-реляционной модели [3, 4, 36] допускается, в отличие от реляционной модели данных, неатомарность данных в поле. В таких полях может располагаться другая таблица или массив. К подобным СУБД относятся Informix Universal Server, Oracle, UniSQL.
Свойства реляционных, сетевых, иерархических, объектно-иерархических и объектно-реляционных моделей данных (многомерные модели считают разновидностью иерархических моделей данных) приведены в табл. 2.2.
Физический (внутренний) уровень связан со способом фактического хранения данных в физической памяти ЭВМ и во многом определяется конкретным методом управления. Основными компонентами физического уровня являются хранимые записи, объединяемые в блоки; указатели, необходимые для поиска данных; данные переполнения; промежутки между блоками; служебная информация.
Классифицировать БД можно по нескольким характерным признакам:
-способу хранения информации (интегрированные, распределенные);
- типу пользователя (монопользовательские, многопользовательские);
- характеру использования данных (прикладные, предметные).
Таблица 7.2. Сравнительная характеристика моделей БД
Вид модели | Достоинства | Недостатки |
Иерархическая | Простота понимания. Высокое быстродействие при совпадении структур базы данных и запроса | Отношения М : М могут быть реализованы только искусственно. Могут быть избыточные данные. Усложняются операции включения и удаления. Удаление исходных сегментов приводит к удалению порожденных сегментов. Процедурный характер построения структуры БД и манипулирования данными. Доступ к любому порожденному сегменту возможен только через корневой сегмент. Сильная зависимость логической и физической моделей. Ограниченный набор структур запроса. Невозможность реализации таблиц с нелинейной структурой |
Сетевая | Сохранение информации при уничтожении записи-владельца. Более богатая структура запросов. Меньшая зависимость между логической и физической моделями. Возможность реализации таблиц с нелинейной структурой | Отношения М : М могут быть реализованы только искусственно. Программист должен знать логическую структуру БД. Процедурный характер построения структуры БД и манипулирования данными. Возможна потеря независимости данных при реорганизации БД |
Реляционная | Произвольная структура запроса. Простота работы и отражения представлений пользователя. Отделение физической модели от логической и логической от концептуальной. Хорошая теоретическая проработка | Отношения М : М могут быть реализованы только искусственно. Необходима нормализация данных. Возможны логические ошибки при нормализации и реализации. Невозможна реализация таблиц с нелинейной структурой |
Объектно-ориентированная | Неограниченный набор типов данных. Возможна реализация таблиц с нелинейной структурой. Послойное представление данных. Высокая скорость работы из-за отсутствия ключа. Ненужность нормализации. Легкая расширяемость структуры и ее гибкость. Повторное использование типов данных и компонент. Реализация отношений М:М | Сложность освоения модели из-за сложности структуры БД. Нечеткий язык программирования. Недостаточная защита данных. Нечетко проработанный одновременный доступ. Плохая обозримость структуры |