Jump to content

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

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

Блоги
идентификатор блога Дискриминатор URL RSSURL
1 Блог https://blogs.example.com/pets NULL
2 RSSБлог https://blogs.example.com/cars https://blogs.example.com/cars.rss

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

См. также

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


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 1cebf1c70e1d39e47d61cd8f6420edd9__1707720960
URL1:https://arc.ask3.ru/arc/aa/1c/d9/1cebf1c70e1d39e47d61cd8f6420edd9.html
Заголовок, (Title) документа по адресу, URL1:
Single Table Inheritance - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)