- Поддержка сложных объектов. В системе должна быть предусмотрена возможность создания составных объектов за счет применения конструкторов составных объектов. Необходимо, чтобы конструкторы объектов были ортогональны, то есть любой конструктор можно было применять к любому объекту.
- Поддержка индивидуальности объектов. Все объекты должны иметь уникальный идентификатор, который не зависит от значений их атрибутов.
- Поддержка инкапсуляции. Корректная инкапсуляция достигается за счет того, что программисты обладают правом доступа только к спецификации интерфейса методов, а данные и реализация методов скрыты внутри объектов.
- Поддержка типов и классов. Требуется, чтобы в ООБД поддерживалась хотя бы одна концепция различия между типами и классами. (Термин «тип» более соответствует понятию абстрактного типа данных. В языках программирования переменная объявляется с указанием ее типа. Компилятор может использовать эту информацию для проверки выполняемых с переменной операций на совместимость с ее типом, что позволяет гарантировать корректность программного обеспечения. С другой стороны класс является неким шаблоном для создания объектов и предоставляет методы, которые могут применяться к этим объектам. Таким образом, понятие «класс» в большей степени относится ко времени исполнения, чем ко времени компиляции.)
- Поддержка наследования типов и классов от их предков. Подтип, или подкласс, должен наследовать атрибуты и методы от его супертипа, или суперкласса, соответственно.
- Перегрузка в сочетании с полным связыванием. Методы должны применяться к объектам разных типов. Реализация метода должна зависеть от типа объектов, к которым данный метод применяется. Для обеспечения этой функциональности связывание имен методов в системе не должно выполняться до времени выполнения программы.
- Вычислительная полнота. Язык манипулирования данными должен быть языком программирования общего назначения.
- Набор типов данных должен быть расширяемым. Пользователь должен иметь средства создания новых типов данных на основе набора предопределенных системных типов. Более того, между способами использования системных и пользовательских типов данных не должно быть никаких различий.
Необязательные:
- Множественное наследование
- Проверка типов
- Распределение
- Проектные транзакции
Открытые:
- Парадигмы программирования (процедурное, декларативное)
- Система представления
- Система типов
- Однородность. Реализация — язык программирования — интерфейс.
По степени распределенности
СУБД бывают:
- Локальные СУБД (все части локальной СУБД размещаются на одном компьютере);
- Распределенные СУБД (части СУБД могут размещаться на двух и более компьютерах).
По способу
доступа к БД:
- файл-серверные;
- клиент-серверные;
- встраиваемые.
В файл-серверных
СУБД файлы данных располагаются централизованно
на файл-сервере. СУБД располагается на каждом клиентском
компьютере (рабочей станции). Доступ СУБД
к данным осуществляется через локальную сеть.
Синхронизация чтений и обновлений осуществляется
посредством файловых блокировок. Преимуществом
этой архитектуры является низкая нагрузка
на ЦП сервера. Недостатки: потенциально
высокая загрузка локальной сети; затруднённость централизованного управления; затруднённость обеспечения таких важных
характеристик как высокая надёжность, высокая доступность и
высокая безопасность. Применяются чаще всего в локальных
приложениях, которые используют функции
управления БД.
На данный момент файл-серверная
технология считается устаревшей.
Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.
Клиент-серверная
СУБД располагается на сервере вместе с БД
и осуществляет доступ к БД непосредственно,
в монопольном режиме. Все клиентские
запросы на обработку данных обрабатываются
клиент-серверной СУБД централизованно.
Недостаток клиент-серверных СУБД состоит
в повышенных требованиях к серверу. Достоинства:
потенциально более низкая загрузка локальной
сети; удобство централизованного управления; удобство обеспечения таких важных
характеристик как высокая надёжность, высокая доступность и
высокая безопасность.
Примеры: Oracle, Firebird, Interbase, IBM DB2, Informix.
Встраиваемая
СУБД (англ. embedded DBMS) — СУБД, которая может поставляться
как составная часть некоторого программного
продукта, не требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для
локального хранения данных своего приложения
и не рассчитана на коллективное использование
в сети. Физически встраиваемая СУБД чаще
всего реализована в виде подключаемой библиотеки.
Доступ к данным со стороны приложения
может происходить через SQL либо через специальныепрограммные интерфейсы.
Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, MySQL, Sav Zigzag, Microsoft SQL Server Compact.
Список использованных
источников:
- К. Дж. Дейт Введение в системы баз данных — 8-е изд. — М.: «Вильямс», 2006.
- Коннолли Томас, Бег Каролин. Базы данных. М.: «Вильямс»,2003.
- Голицына О.А, Максимов Н.В. Базы данных. М.: Форум-Инфа, 2004.
- http://www.denizzone.com
- http://datasql.info
- http://www.bseu.by