Базы данных. Лекции - База данных, лекционный курс. Базы данных лекционный курс
Скачать 1.23 Mb.
|
2.6. Объектно-ориентированная модель В объектно-ориентированной модели при представлении данных имеется возможность идентифицировать отдельные записи базы данных. Между записями и функциями их обработки устанавливаются взаимосвязи с помощью механизмов, подобных соответствующим средствам в объектно-ориентированных языках программирования. Стандартизированная объектно-ориентированная модель описана в рекомендациях стандарта ODMG-93 (Object Database Management Group – группа управления объектно-ориентированными базами данных). Рассмотрим упрощенную модель объектно-ориентированной БД. Структура объектно-ориентированной БД графически представима в виде дерева, узлами которого являются объекты. Свойства объектов описываются некоторым стандартным типом или типом, конструируемым пользователем (определяется как class). Значение свойства типа class есть объект, являющийся экземпляром соответствующего класса. Каждый объект-экземпляр класса считается потомком объекта, в котором он определен как свойство. Объект-экземпляр класса принадлежит своему классу и имеет одного родителя. Родовые отношения в БД образуют связную иерархию объектов. Пример логической структуры объектно-ориентированной БД библиотечного дела приведен на рис. 2.9. Здесь объект типа Библиотека является родительским для объектов-экземпляров классов Абонент, Каталог и Выдача. Различные объекты типа Книга могут иметь одного или разных родителей. Объекты типа Книга, имеющие одного и того же родителя, должны различаться, по крайней мере, инвентарным номером (уникален для каждого экземпляра книги), но имеют одинаковые значения свойств isbn, удк, название и автор. Логическая структура объектно-ориентированной БД внешне похожа на структуру иерархической БД. Основное различие между ними состоит в методах манипулирования данными. Для выполнения действий над данными в рассматриваемой модели БД применяются логические операции, усиленные объектно-ориентированными механизмами инкапсуляции, наследования и полиморфизма. Инкапсуляция ограничивает область видимости имени свойства пределами того объекта, в котором оно определено. Так, если в объект типа Каталог добавить свойство, задающее телефон автора книги и имеющее название телефон, то мы получим одноименные свойства у объектов Абонент и Каталог. Смысл такого свойства будет определяться тем объектом, в который оно инкапсулировано. Наследование, наоборот, распространяет область видимости свойства на всех потомков объекта. Так, всем объектам типа Книга, являющимся потомками объекта типа Каталог, можно приписать свойства объекта-родителя: isbn, удк, название и автор. Если необходимо расширить действие механизма наследования на объекты, не являющиеся непосредственными родственниками (например, между двумя потомками одного родителя), то в их общем предке определяется абстрактное свойство типа abs. Так, определение абстрактных свойств билет и номер в объекте Библиотека приводит к наследованию этих свойств всеми дочерними объектами Абонент, Книга и Выдача. Не случайно поэтому значения свойства билет классов Абонент и Выдача, показанных на рис. 2.9, являются одинаковыми – 00015. Полиморфизм в объектно-ориентированных языках программирования означает способность одного и того же программного кода работать с разнотипными данными. Другими словами, он означает допустимость в объектах разных типов иметь методы (процедуры или функции) с одинаковыми именами. Во время выполнения объектной программы одни и те же методы оперируют с разными объектами в зависимости от типа аргумента. Применительно к рассматриваемому примеру полиморфизм означает, что объекты класса Книга, имеющие разных родителей из класса Каталог, могут иметь разный набор свойств. Следовательно, программы работы с объектами класса Книга могут содержать полиморфный код. Поиск в объектно-ориентированной БД состоит в выяснении сходства между объектом, задаваемым пользователем, и объектами, хранящимися в БД. Рис. 2.9. Логическая структура БД библиотечного дела Основным достоинством объектно-ориентированной модели данных в сравнении с реляционной является возможность отображения информации о сложных взаимосвязях объектов. Объектно-ориентированная модель данных позволяет идентифицировать отдельную запись базы данных и определять функции их обработки. Недостатками объектно-ориентированной модели являются высокая понятийная сложность, неудобство обработки данных и низкая скорость выполнения запросов. К объектно-ориентированным СУБД относятся POET, Jasmine, Versant, O2, ODB-Jupiter, Iris, Orion, Postgres. Тесты для самоконтроля 1. Под элементами в иерархической структуре понимают: а) совокупность атрибутов, описывающих объекты; б) данные, организованные в виде двумерных таблиц; в) поля, значения которых однозначно определяются фиксированным набором измерений. 2. Каждый элемент может быть связан с любым другим элементом: а) в иерархической модели; б) в сетевой модели; в) в реляционной модели. 3. В таблицах реляционной базы данных: а) существенна последовательность полей и несущественна последовательность записей; б) несущественна и последовательность полей, и последовательность записей; в) несущественна последовательность полей и существенна последовательность записей. 4. В информационных системах оперативной обработки информации эффективны: а) реляционные СУБД; б) многомерные СУБД; в) иерархические СУБД. 5. Многомерность многомерной модели данных означает: а) многомерность визуализации данных; б) наличие многозначных полей; в) многомерное логическое представление структуры информации. 6. Возможность отображения информации о сложных взаимосвязях объектов имеется: а) в реляционной модели; б) в постреляционной модели; в) в объектно-ориентированной модели. 7. Комбинацию полей, значения которых однозначно идентифицируют каждую запись таблицы, называют: а) ключом таблицы; б) внешним ключом таблицы; в) первичным ключом таблицы. 8. Неделимость данных – обязательный принцип: а) постреляционной модели данных; б) реляционной модели данных; в) объектно-ориентированной модели. 9. В информационных системах аналитической обработки информации эффективны: а) реляционные СУБД; б) многомерные СУБД. 3. ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ МЕТОДОМ «СУЩНОСТЬ – СВЯЗЬ» Существуют разные подходы к проектированию БД. Мы рассмотрим два метода проектирования: декомпозиционный и метод «сущность - связь», первым рассмотрим метод «сущность - связь». 3.1. Этапы проектирования В БД отражается информация об определенной предметной области. Предметнойобластью называют часть реального мира, представляющую интерес для данного использования. В автоматизированных информационных системах отражение предметной области представляется моделями данных нескольких уровней (число уровней зависит от особенностей СУБД). Независимо от того, поддерживаются ли в явном виде отдельно модели логического и физического уровня, с точки зрения методологии все равно можно выделить эти уровни и соответствующие им этапы проектирова- ния БД. Первый этап проектирования - инфологическое моделирование. Чтобы спроектировать структуру БД, необходима исходная информация о предметной области. Желательно, чтобы эта информация была представлена в формализованном виде. Описание предметной области, выполненное без ориентации на используемые в дальнейшем программные и технические средства, называется инфологическоймодельюпредметнойобласти (ИЛМ). На втором этапе проектирования на основе инфологической модели строится даталогическаямодель БД (ДЛМ). Даталогическаямодель является моделью логического уровня и представляет собой отображение логических связей между элементами данных безотносительно к их содержанию и среде хранения. Модель строится в терминах информационных единиц, допустимых в той конкретной СУБД, в среде которой проектируется БД. Этап создания ДЛМ называется даталогическим проектированием. Описание логической структуры БД на языке СУБД называется схемой. Третий этап проектирования состоит в привязке ДЛМ к среде хранения с помощью модели данных физического уровня (физическоймодели). Описание физической структуры БД называется схемой хранения, соответствующий этап проектирования БД – физическим проектированием. В ряде СУБД, помимо описания общей логической структуры БД, есть возможность описать логическую структуру БД с точки зрения конкретного пользователя. Такая модель называется внешней, а ее описание называется подсхемой. Внешняя модель не всегда является точным подмножеством схемы. Если определена подсхема, то пользователь имеет доступ только к тем данным, которые отражены в соответствующей подсхеме, что является одним из способов защиты информации от несанкционированного доступа. Взаимосвязь этапов проектирования БД отражена на рис. 3.1. Из рисунка видно, что при проектировании БД возможны возвраты на предыдущие уровни. При этом есть возвраты, обусловленные необходимостью пересмотра результата проектирования, и есть возвраты, вызванные необходимостью уточнения предыдущей модели (обычно инфологической) с целью получения дополнительной информации для проектирования или при выявлении противоречий в модели. Рис. 3.1. Взаимосвязь этапов проектирования БД 3.2. Общие сведения об инфологическом моделировании Уточним понятие ИЛМ. Для описания предметной области может использоваться и естественный язык, но его применение имеет много недостатков. Основные: громоздкость описания и неоднозначность трактовки. Поэтому для описания предметной области обычно используют искусственные формализованные языковые средства. В связи со сказанным уточним определение инфологической модели. Инфологической моделью предметной области называют описание предметной области, выполненное с использованием специальных языковых средств и не зависящее от используемых в дальнейшем программных и технических средств. Требования, предъявляемые к ИЛМ: адекватность отображения предметной области (основное требование); ИЛМ должна быть непротиворечивой; ИЛМ является конечной, но должна обладать свойством легкой расширяемости (для обеспечения ввода новых данных без изменения ранее определенных; то же самое можно сказать и об удалении данных); язык спецификации ИЛМ должен быть одинаково применим как при ручном, так и при автоматизированном проектировании информационных систем; ИЛМ должна легко восприниматься разными категориями пользователей. Компоненты ИЛМ: описание объектов и связей между ними (ER – модель); описание информационных потребностей пользователей; алгоритмические связи показателей; лингвистические отношения; ограничения целостности. ER – модель (Е (entity) – сущность, R (relationship) – связь) является центральной компонентой ИЛМ. Вопросы ее построения подробно рассматриваются в подраз- деле 3.3. Для описания информационных потребностей пользователей используются специальные языковые средства. Д ля отражения алгоритмических связей между показателями используются графы взаимосвязи показателей, отражающие, какие показатели служат исходными для вычисления других (рис. 3.2). Описание предметной области всегда представлено в какой-то знаковой системе. Поэтому кроме отношений, присущих предметной области, возникают еще и отношения, обусловленные особенностями отображения предметной области в языковой среде. Поэтому при построении ИЛМ должны учитываться такие лингвистические категории, как синонимия, омонимия, изоморфизм и др. Важной компонентой ИЛМ являются ограничения целостности. Их рассмотрению посвящен восьмой раздел. 3.3. Построение ER - модели Для описания ИЛМ используются как языки аналитического (описательного) типа, так и графические средства. Мы воспользуемся последними, как более наглядными. В предметной области в результате ее анализа выделяют классы объектов. Классомобъектов называют совокупность объектов, обладающих одинаковым набором свойств. Например, если в качестве предметной области рассмотреть высшее учебное заведение, то в данной предметной области можно выделить следующие классы объектов: учащиеся, преподаватели, аудитории, изучаемые дисциплины. Каждый объект в информационной системе представляется своим идентификатором, а каждый класс объектов представляется именем класса. Каждый объект обладает определенным набором свойств. Для объектов одного класса набор этих свойств одинаков, а их значения, естественно, различаются. Для изображения объектов и их свойств будем использовать следующие обозначения: Связь между объектом и характеризующим его свойством будем изображать в виде линии. Связь может быть различной. Объект может обладать только одним значением какого-то свойства (например, каждый человек может иметь только одну дату рождения). Такие свойства будем называть единичными. Для других свойств возможно существование одновременно нескольких значений у одного объекта (например, объект Сотрудники и его свойство Иностранный язык, человек может владеть несколькими иностранными языками). Такие свойства будем называть множественными. Д ля единичных свойств будем использовать одинарную стрелку: , для множественных свойств двойную: . Некоторые свойства являются постоянными, их значения не могут измениться с течением времени (например, Дата рождения); такие свойства будем называть статическими и обозначать буквой S над соответствующей линией. Свойства, значения которых могут изменяться со временем (например, Фамилия, Адрес, Телефон), будем называть динамическими и обозначать буквой D. Свойство может отсутствовать у некоторых объектов одного класса (например, свойство Ученая степень, не все объекты класса Сотрудники могут обладать указанным свойством). Такие свойства будем называть условными и изображать пунктирной линией. Существует понятие составного свойства (примеры таких свойств: Адрес, состоящий из «улицы», «дома», «квартиры»; Дата рождения, состоящая из «числа», «месяца», «года»). Для его обозначения будем использовать квадрат. В качестве примера на рис. 3.3 приводится изображение класса объектов Сотрудники и его свойств. Рис. 3.3. Изображение класса объектов и его свойств В ИЛМ отображаются не отдельные экземпляры объектов, а классы объектов. Когда в ИЛМ изображено обозначение объекта, то ясно, что речь идет о классе объектов, обладающих описанными свойствами. Поэтому в ИЛМ в большинстве случаев не вводят в явном виде еще и обозначение для класса объектов. Явное изображение последнего необходимо только в том случае, если в предметной области для данного класса объектов фиксируются не только характеристики, относящиеся к отдельным объектам этого класса, но и какие-то интегральные характеристики, относящиеся ко всему классу в целом. Например, если для класса объектов Сотрудники фиксируется не только возраст каждого из сотрудников, но и средний возраст всех сотрудников, то в ИЛМ необходимо отразить не только объект Сотрудник, но и класс объектов Сотрудники (рис. 3.4). Рис. 3.4. Изображение класса объектов и интегральных характеристик класса В инфологической модели фиксируются не только связи между объектом и его свойствами, но и связи между объектами разных классов. Различают связи типа: один к одному (1:1); один ко многим (1:М); многие к одному (М:1); многие ко многим (М:М). Иногда эти типы связей называют степенью связи. Кроме степени связи, в ИЛМ для характеристики связи между разными объектами указывается класс принадлежности, который показывает, может ли отсутствовать связь объекта одного класса с каким-либо объектом другого класса. Различают обязательный и необязательный класс принадлежности. Объясним сказанное на конкретных примерах. Пусть в ИЛМ отображается связь между двумя классами объектов: Сотрудники и Язык иностранный. а) Предметной областью является завод, некоторые сотрудники которого знают иностранный язык, но ни один из них не владеет более чем одним языком. Соответствующие диаграммы ER – типов ER - экземпляров б) Предметной областью является институт, сотрудники которого обязательно должны владеть каким-либо иностранным языком, но никто не владеет более чем одним языком. Соответствующие диаграммы ER – типов ER – экземпляров В рассмотренных случаях между объектами наблюдается связь типа М:1; в случае а класс принадлежности является необязательным для обоих объектов; в случае б – для объекта Сотрудники класс принадлежности является обязательным, что изображается точкой в прямоугольнике. в) Предметной областью является опять институт, некоторые сотрудники которого знают несколько иностранных языков. Соответствующие диаграммы ER – типов ER – экземпляров В этом случае связь между объектами имеет тип М:М. г) Предметной областью является лингвистический институт, каждый из сотрудников которого обязательно знает несколько иностранных языков, и по каждому из языков в этом институте имеется хотя бы один специалист, владеющий им. В этом случае связь между объектами будет М:М, и класс принадлежности обоих объектов является обязательным. Примеры возможных ситуаций можно было бы продолжить, но суть ясна. До этого момента мы рассматривали объекты, не вникая в их сложность. На самом деле среди объектов различаются простые и сложные. Объект называют простым, если он рассматривается как неделимый. Сложный объект представляет собой объединение других объектов, простых или сложных, также отображаемых в информационной системе. Понятия простой и сложный являются относительными. При одном рассмотрении объект может считаться простым, а при другом этот же объект может рассматриваться как сложный. Например, объект Стул в подсистеме учета материальных ценностей будет рассматриваться как простой объект, а для предприятия, производящего стулья, это будет составной объект (включающий «ножки», «спинку», «сиденье»). Сложные объекты подразделяют на составные, обобщенные и агрегированные. |