Что вы должны попытаться сделать, это создать нормализованную базу данных . При правильной ссылочной целостности и индексации. Это может быть не чистый ОО, но всегда существует степень несоответствия импеданса между кодом приложения и базой данных. Такие инструменты, как структура сущностей, в значительной степени абстрагируются от вас и прекрасно справляются с базой данных, ориентированной на производительность и правильную нормализацию. Чтобы научиться делать это, нужно время, поэтому сделайте это правильно и постарайтесь понять, что означают различные формы нормализации и т. Д. 1-я форма, 2-я форма ... нормальная форма Бойса Кодда и как их реализовать.
В конце дня реляционные базы данных хранят вещи не в объектах, а в строках и столбцах. Если вы очень заинтересованы в чистой ОО от начала до конца, то, возможно, стоит проверить некоторые из баз данных ОО, хотя по моему опыту реляционные базы данных с приличным ORM и т. Д. (Entity Framework, NHibernate) работают нормально.
Entity Framework и NHibernate позволяют отображать вещи в объектные модели, которые реализуют наследование. Это не означает, что вы обязательно должны реализовать наследование в своей базе данных. Например, если у вас есть Лицо, которое может быть безработным, работающим, инвалидом. Вы бы смоделировали это через две таблицы вместо четырех. и т.д.
Person has a EmploymentStatus
instead of
Person has a table
Unemployed has a table
Employed has a table
Disability has a table
Это не значит, что в вашем коде будет два объекта. Используя такой инструмент, как EntityFramework, вы можете указать соответствие четырем отдельным классам, которые реализуют наследование.
Я бы порекомендовал вам взглянуть на следующую статью.
Несоответствие реляционного импеданса
Нормализация базы данных
Нормализация
Как нормализовать вашу базу данных
База данных объектов