Fork me on GitHub

Foreign Key Mapping (Разметка внешних ключей)

Паттерн проектирования Foreign Key Mapping

Паттерн проектирования Foreign Key Mapping

Описание Foreign Key Mapping

Представляет отношения по внешним ключам между таблицами в виде отношений между объектами

Объекты могут ссылаться друг на друга напрямую, через объектные ссылки. Даже простейшая объектно-ориентированная система будет содержать ряд объектов, объединённых между собой всем многообразием способов. Чтобы хранить эти объекты в БД, необходимо сохранять эти ссылки. Тем не менее, так как в разное время в объектах хранятся разные данные, нельзя сохранять значения "как есть". Еще больше усложняется всё тем, что объекты могут легко содержать коллекции ссылок на други объекты. Такая структура нарушает нормализацию реляционных БД.

Разметка внешних ключей сводит ссылку на объект к внешнему ключу в БД.

Использована иллюстрация с сайта Мартина Фаулера.

Источник