Современные информационные технологии
Download 278.21 Kb. Pdf ko'rish
|
современные
11 2. СОВРЕМЕННЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ 2.1. Преимущества и недостатки объектно-ориентированных баз данных В современном мире наиболее популярный подход к организации информационных систем - это клиент-серверные приложения, в основе которых лежит взаимодействие с базой данных. Зачастую в качестве хранилища данных используются реляционные базы данных, а приложения, которые обеспечивают интерфейс к базе данных, реализованы на основе объектно-ориентированного программирования. При этом обнаруживается несоответствие, которое связано с тем, что модели данных, использующиеся в программировании, отличаются от моделей данных систем управления базами данных (СУБД), влекущее за собой необходимость поддержания соотношения и взаимосоответствия между картежами базы данных и объектами в программировании. Необходимость таких согласований была принята в качестве платы за производительность, которая предоставлялась реляционной организацией данных. Результатом совмещения принципов объектно-ориентированного программирования и принципов управления базами данных явились объектно- ориентированные базы данных. В одной системе объединены понятия полиморфизма, целостности, наследования из объектно-ориентированного программирования и атомарности, инкапсуляции, изоляции из баз данных. Результат - мы имеем возможность управлять большими объемами информации при помощи объектно-ориентированного подхода. Объектно-ориентированная база данных (ООБД) способна хранить объекты в том же виде, в котором они будут доступны для языка программирования. Это обеспечивается за счет того, что объекты в ООБД принадлежат классу, имеющему в своем составе набор атрибутов, выражаемых простыми типами данных или другими классами. К классам применяются правила наследования, несущие в себе все полагающиеся преимущества: возможность динамической привязки и переопределение наследованных методов, полиморфизм. 12 Каждый объект класса имеет идентификатор объекта, используемый для однозначного определения данного объекта в системе. Идентификатор не зависит от состояния объекта и назначается системой. В объектной модели хранение ссылок на другие объекты выглядит достаточно удобным, но здесь могут возникать другие проблемы, связанные с ссылочной целостностью. Например, когда объект удаляется, другие объекты могут иметь ссылку на его идентификатор. Потому система управления объектно- ориентированными базами данных (СУООБД) должна представлять собой не только систему, которая ориентируется на среду разработки ПО, но и систему управления данными. СУООБД присущи многие черты, характерные для реляционных СУБД, такие как индексы, транзакции, механизмы восстановления данных, выявление и разрешение дедлоков. Основное преимущество СУООБД в том, что доступ к объектам базы данных организован достаточно прозрачно и взаимодействие с объектом базы данных не отличается от взаимодействия с объектом в памяти. В этом состоит основное преимущество перед системой управления реляционными базами данных (СУРБД) – нет необходимости использовать язык запросов или CLI интерфейсы, такие как ODBC или ADO. В реляционной модели существуют такие концепции, которые похожи на концепции объектно-ориентированной модели, за счет чего таблица в реляционной базе данных может ставиться в аналогию классу, столбец в картеже подобен атрибуту класса, за исключением того, что столбец может содержать только простые типы данных, а атрибут класса может содержать данные любого типа. В СУООБД классы имеют методы, обеспечивающие функциональность объектов, в реляционных базах данных функциональность никак не связана с данными. Хранимые процедуры хоть и дают возможность привязать поведение системы к базе данных, но все же они достаточно далеки от объектно-ориентированного подхода. Можно выделить следующие преимущества и недостатки при использовании связки СУООБД или СУРБД с объектно-ориентированным программированием. 13 Преимущества: − Объекты в СУООБД могут хранить произвольное количество простых типов и других объектов. Поэтому можно организовать модель данных, как большой класс, который содержит подмножество меньших классов, содержащих в свою очередь другие подмножества классов и так далее. Использование реляционной модели приведет к созданию многочисленных таблиц, при работе с которыми придется постоянно организовывать объединения таблиц. Объект является наилучшей моделью отображения реального мира, нежели реляционные картежи. Особенно это касается сложных и многогранных объектов. СУООБД больше подходит для обработки сложно взаимосвязанных данных и, в зависимости от сложности данных, может превосходить СУРБД по производительности в десятки - тысячи раз. − Данные в реальном мире обычно имеют иерархические характеристики. Известный пример с Сотрудниками, используемый в большинстве СУРБД, гораздо проще описать в СУООБД. Чтобы определить для сотрудника, является ли он менеджером или нет, в СУРБД обычно вводят дополнительное поле в таблице Сотрудников, которое ссылается на идентификатор сотрудника-менеджера или создают отдельную таблицу для определения взаимоотношения между Сотрудниками. В СУООБД класс Сотрудник просто является родительским классом для класса Менеджера. − Для доступа к данным из СУООБД не обязателен отдельный язык запросов, так как доступ происходит непосредственно к объектам. Но возможность использовать запросы существует. − В типичном приложении, которое построено на использовании объектно-ориентированного языка и СУРБД, значительное количество времени обычно тратится на взаимосвязывание таблиц и объектов. Также существуют различные проблемы, связанные с неполной совместимостью типов данных. При использовании СУООБД данная проблема полностью отпадает. 14 Недостатки: − В СУРБД изменение схемы данных в результате создания, изменения или удаления таблиц обычно не зависит от приложения. В приложениях, которые работают с СУООБД, изменение схемы класса обычно означает, что изменения должны быть сделаны и в других классах приложения, взаимодействующих с экземплярами данного класса. Это ведет к необходимости перекомпиляции всей системы. − СУООБД обычно привязана к отдельному языку с помощью отдельного АПИ и данные доступны только через этот АПИ. СУРБД в этом плане имеет большие возможности благодаря общему языку запросов. − В СУРБД, реляционная природа данных позволяет конструировать ad- hoc запросы, где можно объединять различные таблицы. В СУООБД невозможно дублировать семантику соединения двух таблиц соединением двух классов, поэтому в данном случае СУООБД уступает СУРБД в гибкости. Запросы, которые могут исполняться над данными в СУООБД, в большей мере зависят от дизайна системы. Выгоды от использования СУООБД при разработке приложения с использованием объектно-ориентированного программирования очевидны- экономия времени, потраченного на разработку. Однако дизайн классов в СУООБД может накладывать свои ограничения на методы работы с данными. Применение СУООБД во многом ограничено тем, что отсутствует общая модель данных. Даже при наличии достаточно большого количества продуктов, которые реализуют объектно-ориентированную модель данных, остается много нерешенных вопросов. Направление СУООБД является перспективным и прогрессивным. Следует задуматься над формализацией объектно-ориентированной модели, поскольку ее применение способно принести пользу в тех областях, где реляционный подход будет являться не оптимальным решением. |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling