Платформы корпоративных информационных систем

         

Объектное/реляционное моделирование



Объектное/реляционное моделирование

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

  • Объекты не хранят только простые данные в своих атрибутах. Там могут храниться также коллекции и связи с другими объектами.
  • В большинстве реляционных баз данных, включая MySQL и mSQL, нет средств, позволяющих моделировать наследование.

Практические правила для объектно-реляционного моделирования

  • У каждого сохраняемого класса в базе данных есть своя таблица.
  • Поля объектов с простыми типами данных (целые, символы, строки и т. д.) сопоставлены колонкам в соответствующей таблице базы данных.


  • Каждая строка таблицы базы данных cоответствует экземпляру соответствующего хранимого класса.
  • Каждая связь между объектами типа «многие-ко-многим» требует таблицы-связки, так же как это требуется для объектов базы данных типа «многие-ко-многим».
  • Наследование моделируется с помощью отношения «один-к-одному» между таблицами, соответствующими классу и подклассу.

Вспомните адресную книгу, о которой мы говорили ранее. Допустим, она имеет таблицы address и person, как на Рисунок 8-2.



Содержание раздела