stringtranslate.com

Наследование одной таблицы

Наследование одной таблицы — это способ эмулировать объектно-ориентированное наследование в реляционной базе данных . При отображении таблицы базы данных на объект в объектно-ориентированном языке поле в базе данных определяет, к какому классу в иерархии принадлежит объект. [1] Все поля всех классов хранятся в одной таблице, отсюда и название «Наследование одной таблицы». В Ruby on Rails поле в таблице с именем «тип» определяет имя класса . В Hibernate (Java) и Entity Framework этот шаблон называется Table-Per-Class-Hierarchy и Table-Per-Hierarchy (TPH) соответственно., [2] [3] а столбец, содержащий имя класса, называется столбцом Дискриминатора.

Пример

Таблица содержит , Urlкоторый используется всеми блогами, но только блоги типа RssBlog имеют значение, назначенное в RssUrlстолбце, остальные строки имеют NULL.

Смотрите также

Ссылки

  1. ^ Фаулер, Мартин (2003). Модели архитектуры корпоративных приложений . Серия подписей Эддисона-Уэсли. Вклады Дэйва Райса, Мэтью Фоммеля, Эдварда Хайетта, Роберта Ми и Рэнди Стаффорда. Эддисон-Уэсли. стр. 278. ISBN 0-321-12742-0.
  2. ^ "Учебник: реализация наследования с помощью EF в приложении ASP.NET MVC 5". 21 января 2019 г. Получено 3 ноября 2015 г.
  3. ^ Кинг, Гэвин; Бауэр, Кристиан; Андерсен, Макс Райдал; Бернард, Эммануэль; Эберсол, Стив (15 сентября 2010 г.). "Глава 9. Отображение наследования". HIBERNATE - Relational Persistence for Idiomatic Java . Графический дизайн Джеймса Кобба и Шайенн Уивер (версия 3.5.6-Final ed.) . Получено 3 ноября 2015 г.

Внешние ссылки