Как сделать моделирование наследования в реляционных базах данных?
Мой вопрос касается моделирования наследования в реляционных системах баз данных. У меня есть модель канонических данных и у меня есть некоторые поля, связанные с ценообразованием продукта, наследующего определенные атрибуты из таблицы продуктов, и я хочу смоделировать это наследование в реляционной базе данных MySQL, и поэтому
"Как мы можем моделировать наследование в реляционных базах данных?"
Спасибо.
Ответы
Ответ 1
Мартин Фаулер подробно обсуждает это в своей книге "Модели корпоративного приложения". Получите эту книгу и посмотрите:
Веб-сайт должен дать вам некоторую идею. Вы также можете прочитать раздел наследования mappers. Каждый из разных подходов имеет свои плюсы и минусы, поэтому разумно выбирать.
Ответ 2
Посмотрите на эти статьи для некоторых идей:
Сопоставление объектов с реляционными базами данных
Наследование при отображении O/R
Ответ 3
Реляционные базы данных не занимаются объектами (и, следовательно, наследованием) - они имеют дело с отношениями. То, что вы действительно задаете, - это сопоставление структуры объекта с вашей базой данных, и ответ на это "это зависит от вашего уровня ORM".
Взгляните на Сопоставление объектов с реляционными базами данных: подробное описание отображения O/R для некоторых деталей. Если вы сообщите нам, какой стек программного обеспечения вы используете, вы, скорее всего, получите более точный ответ.
Ответ 4
Если вы просто хотите взглянуть на некоторые веб-статьи вместо того, чтобы читать книгу, вы можете найти хорошие статьи по Googling:
Generalization Specialization Relational Modeling
Шаблон gen-spec охватывает много тех же оснований, что и наследование в средах ООП.
Если вы google на
Generalization Specialization Object Modeling
вы получите совершенно новую партию статей, большинство из которых явно указывают на наследование.
Существует техническая схема, которая суммируется в следующем теге class-table-inheritance под тегом информации. Это позволяет использовать таблицы подклассов для "расширения" таблицы классов, если вы позволите странному использованию слова "протянуть". Там какая-то работа, но это того стоит.
Ответ 5
Глава 6 "Практические вопросы в управлении базами данных", вероятно, интересна для вас.
Как и все остальные главы, возможно, но они не относятся непосредственно к вашему вопросу.