Готовый перевод Mapping Objects To Relational Databases / Объектная модель в реляционной базе данных: 3. The Basics of Mapping
3. Основы проецирования
В этой главе я опишу некоторые основные проблемы проецирования объектов на реляционную базу данных. Вот
эти проблемы:
• Соответствие атрибутов объекта столбцам
• Соответствие классов объектов таблицам
• Реализация наследования в реляционных СУБД
• Соответствие нескольких классов объектов одной таблице
• Проецирование взаимоотношений объектов
• Один к одному
• Один ко многим
• Многие ко многим
• Ассоциация против агрегации
• Одинаковые классы/таблицы, разные отношения
3.1 Присвоение Атрибутов Столбцам
В реляционных базах данных атрибуты класса присваиваются любому количеству столбцов, но могут оставаться и без присвоения.
Запомните, не все атрибуты могут быть связаны со столбцами. Например, класс "Счёт-фактура" может иметь
атрибут "Сумма итого", который используется экземплярами в вычислительных целях, но не хранится
в базе данных. Более того из-за того, что некоторые атрибуты объектов и сами являются объектами,
например, как объект "Адрес" является атрибутом объекта "Покупатель", иногда один объектно-ориентированный
атрибут будет соответствовать нескольким колонкам в базе данных (вообще то, вероятность, что класс "Адрес" будет
соответствовать одной или нескольким таблицам, зависит от него самого). Важно понимать, что это рекурсивное определение:
В некоторых случаях атрибут может соответствовать многим столбцам или ни одному.
3.2 Соответствие классов объектов таблицам
Часто классы проецируются на таблицы не напрямую. Исключая самые простые базы данных, у вас никогда не будет
проецирования классов на таблицы "один к одному". В этом разделе мы изучим три разных стратегии для
определения наследованных структур в реляционной базе данных и рассмотрим пример, в котором разнородные классы
будут спроецированы на одну таблицу.
3.2.1 Реализация наследования в реляционных СУБД
Внимание! Этот перевод, возможно, ещё не готов.
Его статус: идёт перевод
Переведено на Нотабеноиде
http://notabenoid.org/book/41878/160033
Переводчики: Auelio, zadrot_kun
Настройки
Готово:
