Материалы, подготовленные в результате оказания услуги, помогают разобраться в теме и собрать нужную информацию, но не заменяют готовое решение.

Статью подготовили специалисты образовательного сервиса Zaochnik.

Объектно-ориентированная модель данных: объекты, наследование и полиморфизм

Содержание:

Объектно-ориентированная модель данных

Когда данные описывают сложные объекты реального мира с запутанными взаимосвязями, привычных таблиц порой оказывается недостаточно. Здесь на сцену выходит объектно-ориентированная модель — подход, который переносит идеи объектно-ориентированного программирования прямо в мир баз данных.

Основные понятия

Начнём с определения, на котором держится вся тема.

Объектно-ориентированная модель представления данных даёт возможность идентифицировать отдельные записи базы.

Записи такой базы и функции их обработки соединены механизмами, которые очень похожи на средства объектно-ориентированных языков программирования. По сути, база начинает «мыслить» теми же категориями, что и код, который с ней работает.

Определение 1

Графическое представление структуры объектно-ориентированной базы данных — это дерево, узлы которого являются объектами.

Свойства объектов описываются либо стандартным типом (например, строковым — string), либо типом, который создаёт сам пользователь (class). Такая гибкость и роднит модель с языками программирования: разработчик волен определять собственные структуры данных под конкретную задачу.

Пример структуры: база данных библиотеки

Разберём модель на наглядном примере — логической структуре базы данных библиотеки.

В этой структуре объект БИБЛИОТЕКА выступает родителем для объектов-экземпляров классов КАТАЛОГ, АБОНЕНТ и ВЫДАЧА. У разных объектов типа КНИГА может быть как один общий родитель, так и разные родители. При этом у книг с одним и тем же родителем инвентарные номера обязаны различаться — этот номер уникален для каждого экземпляра, — а вот значения свойств автор, название, удк и isbn у них совпадают.

Внешне логические структуры объектно-ориентированной и иерархической баз данных довольно похожи: и там, и там перед нами дерево объектов. Главное различие кроется не в форме, а в методах работы с данными.

Операции над данными: инкапсуляция, наследование и полиморфизм

При действиях над данными объектно-ориентированная модель опирается на логические операции, усиленные тремя механизмами — инкапсуляцией, наследованием и полиморфизмом. С некоторыми ограничениями допустимо применять и операции, похожие на команды SQL, — например, при создании базы.

Отдельно стоит отметить работу с индексами. При создании и изменении базы индексы (индексные таблицы) формируются и корректируются автоматически. Именно они хранят сведения, которые обеспечивают быстрый поиск данных.

Теперь разберём три ключевых механизма по очереди.

Инкапсуляция служит для того, чтобы ограничить область видимости имени свойства границами того объекта, в котором это свойство определено.

Поясним на примере. Допустим, в объект КАТАЛОГ добавили свойство с названием телефон, задающее телефон автора. Если такое же свойство есть и у объекта АБОНЕНТ, одноимённые свойства окажутся у обоих объектов, но конфликта не возникнет. Смысл каждого свойства определяется тем объектом, в который оно инкапсулировано.

Наследование, в противоположность инкапсуляции, распространяет область видимости свойства на всех потомков объекта.

Так, все объекты КНИГА, будучи потомками объекта КАТАЛОГ, могут получить свойства родителя: автор, название, удк и isbn. Когда же действие наследования нужно расширить на объекты, которые не связаны напрямую (скажем, на двух потомков одного родителя), в их общем предке определяют абстрактное свойство типа abs. Благодаря этому свойства номер и билет, заданные в объекте БИБЛИОТЕКА, наследуются всеми дочерними объектами — ВЫДАЧА, КНИГА и АБОНЕНТ. Именно поэтому значения такого свойства у классов АБОНЕНТ и ВЫДАЧА совпадают — например, 00015.

Полиморфизм позволяет одному и тому же программному коду работать с данными разных типов.

Иными словами, объекты разных типов могут иметь методы — функции или процедуры — с одинаковыми именами, но собственным поведением.

Поиск в объектно-ориентированной базе устроен через сравнение: система определяет степень сходства между объектом, который задал пользователь, и объектами, хранящимися в базе.

Преимущества и недостатки модели

Главное достоинство объектно-ориентированной модели, если сравнивать её с реляционной, — способность отражать сведения о сложных взаимосвязях объектов. Вдобавок модель позволяет выделить отдельную запись базы и связанные с ней функции обработки, что удобно при работе с нетривиальными структурами.

Но есть и заметные минусы. К недостаткам относят высокую понятийную сложность, не самую удобную обработку данных и низкую скорость выполнения запросов. Освоить такую модель труднее, а на простых задачах её мощь оборачивается избыточностью.

Несмотря на это, подобные системы сегодня распространены достаточно широко. К объектно-ориентированным СУБД относят:

  • Postgres;
  • Orion;
  • Iris;
  • ODBJupiter;
  • Versant;
  • Objectivity/DB;
  • ObjectStore;
  • Statice;
  • GemStone;
  • G-Base.
Замечание 1

Выбирать объектно-ориентированную модель стоит по характеру задачи. Она раскрывается там, где данные описывают сложные объекты с богатыми связями, а логику обработки удобно держать рядом с самими данными — как в объектно-ориентированном коде. Для простых операций с плоскими, хорошо структурированными сведениями практичнее реляционная модель: она проще в освоении и быстрее выполняет запросы.

Навигация по статьям

Выполненные работы по базам данных

  • Базы данных

    Тема Цифровой атлас мифологических персонажей

    • Вид работы:

      Курсовая работа

    • Выполнена:

      10 июня 2026

    • Стоимость:

      11 300 руб.

    Заказать такую же работу
  • Базы данных

    Проектирование информационной системы Автоматизация деятельности Разработка прототипа информационной системы

    • Вид работы:

      Исправление и доработка готовой работы

    • Выполнена:

      6 июня 2026

    • Стоимость:

      4 300 руб.

    Заказать такую же работу
  • Базы данных

    Программирование и разработка базы данных на примере предметной области Прокат товаров

    • Вид работы:

      Курсовая работа

    • Выполнена:

      21 мая 2026

    • Стоимость:

      8 600 руб.

    Заказать такую же работу
  • Базы данных

    продолжение проектной работы

    • Вид работы:

      Лабораторная работа

    • Выполнена:

      30 марта 2026

    • Стоимость:

      13 700 руб.

    Заказать такую же работу
  • Базы данных

    Проектирование и поставка на сервер базы данных для предметной области Управление продажами канцтоваров

    • Вид работы:

      Курсовая работа

    • Выполнена:

      24 марта 2026

    • Стоимость:

      10 200 руб.

    Заказать такую же работу
  • Базы данных

    Системы обработки больших данных Big Data

    • Вид работы:

      Практическая работа

    • Выполнена:

      2 февраля 2026

    • Стоимость:

      1 300 руб.

    Заказать такую же работу