Объектно-ориентированная модель
В объектно-ориентированной модели имеется возможность идентифицировать отдельные записи базы. Структура ООБД графически представима в виде дерева, узлами которого являются объекты. Свойства объектов описываются некоторым стандартным типом (например, string) или типом конструируемым пользователем (определяется как class).
Значением свойства типа string является строка символов. Значение свойства типа class есть объект, являющийся экземпляром соответствующего класса. Каждый объект-экземпляр класса считается потомком объекта, в котором он определен как свойство. Объект-экземпляр класса принадлежит своему классу и имеет одного родителя. Родовые отношения в БД образуют связную иерархию объектов.
Пример логической структуры ООБД библиотечного дела.
Здесь объект типа БИБЛИОТЕКА является родительским для объектов экземпляров классов АБОНЕНТ, КАТАЛОГ и ВЫДАЧА. Различные объекты типа КНИГА могут меть одного или разных родителей. Объекты типа КНИГА, имеющие одного и того же родителя, должны различаться по крайней мере инвентарным номером, но имеют одинаковые значения свойств isbn, удк, название и автор.
Логическая структура ООБД внешне похожа на структуру иерархической БД. Основное отличие между ними состоит в методах манипулирования данными.
Для выполнения действий над данными в рассматриваемой модели БД применяются логические операции, усиленные объектно-ориентированными механизмами инкапсуляции, наследования и полиморфизма.
Инкапсуляция ограничивает область видимости имени свойства пределами того объекта, в котором оно определено. Так если в объект КАТАЛОГ добавить свойство, задающее телефон автора книги имеющее название телефон, то мы получим одноименные свойства у объектов АБОНЕНТ и КАТАЛОГ. Смысл такого свойства будет определятся тем объектом, в который оно инкапсулировано.
Наследование, наоборот распространяет область видимости свойства на всех потомков объекта. Так, всем объектам типа КНИГА, являющимся потомками объекта типа КАТАЛОГ, можно приписать свойства объекта родителя: isbn, удк, название и автор. Если необходимо расширить действие механизма наследования на объекты, не являющиеся непосредственными родственниками, то в их общем предке определяется абстрактное свойство типа abs. Так, определение абстрактных свойств билет и номер в объекте БИБЛИОТЕКА приводит к наследованию этих свойств дочерними объектами АБОНЕНТ, КНИГА, ВЫДАЧА. Не случайно поэтому значения свойств билет классов АБОНЕНТ и ВЫДАЧА, будут одинаковыми - 00015.
Полиморфизм в ООП означает способность одного и того же программного кода работать с разнотипными данными. Другими словами, он означает допустимость в объектах разных типов иметь методы (процедуры и функции) с одинаковыми именами. Во время выполнения программы одни и те же методы оперируют с разными объектами в зависимости от типа аргумента. Применительно в ООБД полиморфизм означает, что объекты класса КНИГА, имеющие разных родителей из класса КАТАЛОГ могут иметь разный набор свойств.
Основным достоинством ОО модели данных в сравнении с реляционной является возможность отображения информации о сложных взаимосвязанных объектов. ОО модель позволяет идентифицировать отдельную запись базы данных и определять функции их обработки.
Недостатком являются высокая понятийная сложность неудобство обработки данных и низкая скорость выполнения запросов.
Примеры: POET, Jasmine, Versant, O2, Iris, Postgres.
Жизненный цикл БД
Под жизненным цикломбазы данных понимаются этапы развития БД, начиная от анализа предметной области, и заканчивая эксплуатацией БД.
- Исследование и анализ проблемы, для решения которой создаётся база данных.
- Построение Инфологической и Даталогической модели.
- Нормализация полученных Инфологических и Даталогических моделей. По окончании этого этапа, как правило получают заготовки таблицы БД и набор связей между ними (первичные и вторичные ключи)
- Проверка целостности БД
- Выбор физического способа хранения и эксплуатации (тех. средства) базы данных.
- Проектирование входных и выходных форм.
- Разработка интерфейса приложения.
- Функциональное наполнение приложения
- Отладка: проверка на корректность работы функционального наполнения системы
- Тестирование: тест на корректность ввода вывода данных, тест на максимальное количество активных сессий и т. д.
- Ввод в эксплуатацию: отладка ИТ-инфраструктуры, обучение пользователей и ИТ-персонала.
- При необходимости добавления выходных форм и дополнительной функциональности. В случае если необходимы более серьёзные изменения, следует повторить все шаги с первого.
- Вывод из эксплуатации: перенос данных в новую СУБД.
Кратко основные этапы жизненного цикла базы данных:
1. проектирование БД
2. проектирование приложений
3. реализация БД
4. разработка специальных средств администрирования БД
5. эксплуатация
Они аналогичны, в основном, развитию любой программной системы, однако в них есть определенная специфика, касающаяся только баз данных.
Проектирование БД
Процесс проектирования БД представляет собой последовательность переходов от неформального словесного описания информационной структуры предметной области к формализованному описанию объектов предметной области в терминах некоторой модели. Если мы учтем, что между вторым и третьим этапами необходимо принять решение, с использованием какой стандартной СУБД будет реализовываться наш проект, то условно процесс проектирования БД можно представить последовательностью выполнения четырех этапов:
1. Системный анализ и словесное описание информационных объектов предметной области.
2. Концептуальное проектирование
3. Даталогическое или логическое проектирование
4. Физическое проектирование.
Рассмотрим более подробно этапы проектирования БД.
1. С точки зрения проектирования БД в рамках системного анализа, необходимо осуществить первый этап, то есть провести подробное словесное описание объектов предметной области и реальных связей, которые присутствуют между описываемыми объектами. Желательно, чтобы данное описание позволяло корректно определить все взаимосвязи между объектами предметной области.
В общем случае существуют два подхода к выбору состава и структуры предметной области:
Функциональный подход – он реализует принцип движения «от задач» и применяется тогда, когда заранее известны функции некоторой группы лиц и комплексов задач, для обслуживания информационных потребностей которых создается рассматриваемая БД. В этом случае мы можем четко выделить минимальный необходимый набор объектов предметной области, которые должны быть описаны.
Предметный подход – когда информационные потребности будущих пользователей БД жестко не фиксируются. Они могут быть многоаспектными и весьма динамичными. Мы не можем точно выделить минимальный набор объектов предметной области, которые необходимо описывать.
В описание предметной области в этом случае включаются такие объекты и взаимосвязи, которые наиболее характерны и наиболее существенны для нее. БД, конструируемая при этом, называется предметной, то есть она может быть использована при решении множества разнообразных, заранее не определенных задач. Конструирование предметной БД в некотором смысле кажется гораздо более заманчивым, однако трудность всеобщего охвата предметной области с невозможностью конкретизации потребностей пользователей может привести к избыточно сложной схеме БД, которая для конкретных задач будет неэффективной.
Чаще всего на практике рекомендуется использовать некоторый компромиссный вариант, который, с одной стороны, ориентирован на конкретные задачи или функциональные потребности пользователей, а с другой стороны, учитывает возможность наращивания новых приложений.
Системный анализ должен заканчиваться подробным описанием информации об объектах предметной области, которая требуется для решения конкретных задач и которая должна храниться в БД, формулировкой конкретных задач, которые будут решаться с использованием данной БД с кратким описанием алгоритмов их решения, описанием выходных документов, которые должны генерироваться в системе, описанием входных документов, которые служат основанием для заполнения данными БД.
- Концептуальное проектирование - сбор, анализ и редактирование требований к данным. Для этого осуществляются следующие мероприятия:
- обследование предметной области, изучение ее информационной структуры
- выявление всех фрагментов, каждый из которых характеризуется пользовательским представлением, информационными объектами и связями между ними, процессами над информационными объектами
- моделирование и интеграция всех представлений
Концептуальное (инфологическое) проектирование – построение формализованной модели предметной области. Такая модель строится с использованием стандартных языковых средств, обычно графических, например ER-диаграмм. Такая модель строится без ориентации на какую-либо конкретную СУБД.
· Основные элементы данной модели:
· Описание объектов предметной области и связей между ними.
· Описание информационных потребностей пользователей (описание основных запросов к БД).
· Описание алгоритмических зависимостей между данными.
· Описание ограничений целостности, т.е. требований к допустимым значениям данных и к связям между ними.
По окончании данного этапа получаем концептуальную модель, инвариантную к структуре базы данных. Часто она представляется в виде модели "сущность-связь".
3. Логическое проектирование - преобразование требований к данным в структуры данных. На выходе получаем СУБД-ориентированную структуру базы данных и спецификации прикладных программ. На этом этапе часто моделируют базы данных применительно к различным СУБД и проводят сравнительный анализ моделей. Логическое (даталогическое) проектирование – отображение инфологической модели на модель данных, используемую в конкретной СУБД, например на реляционную модель данных. Для реляционных СУБД даталогическая модель – набор таблиц, обычно с указанием ключевых полей, связей между таблицами. Если инфологическая модель построена в виде ER-диаграмм (или других формализованных средств), то даталогическое проектирование представляет собой построение таблиц по определённым формализованным правилам, а также нормализацию этих таблиц. Этот этап может быть в значительной степени автоматизирован.
4. Физическое проектирование - определение особенностей хранения данных, методов доступа и т.д. Физическое проектирование – реализация даталогической модели средствами конкретной СУБД, а также выбор решений, связанных с физической средой хранения данных: выбор методов управления дисковой памятью, методов доступа к данным, методов сжатия данных и т.д. – эти задачи решаются в основном средствами СУБД и скрыты от разработчика БД.
КОНЦЕПТУАЛЬНЫЙ УРОВЕНЬ · сущности · атрибуты · связи | Представление аналитика |
ЛОГИЧЕСКИЙ УРОВЕНЬ · записи · элементы данных · связи между записями | Представление программиста |
ФИЗИЧЕСКИЙ УРОВЕНЬ · группирование данных · индексы · методы доступа | Представление администратора |
Дата добавления: 2017-01-08; просмотров: 3401;