Как вы можете представить наследование в базе данных?

Я думаю о том, как представить сложную структуру в базе данных SQL Server.

Рассмотрим приложение, в котором необходимо хранить сведения о семействе объектов, которые имеют одни и те же атрибуты, но имеют множество других, не распространенных. Например, коммерческий страховой пакет может включать покрытие ответственности, транспортных средств, имущества и возмещения в рамках одной и той же записи полиса.

Это легко реализовать в C # и т. Д., Так как вы можете создать Политику с коллекцией Разделов, где Раздел наследуется, как требуется для различных типов покрытия. Однако реляционные базы данных, кажется, не позволяют это легко.

Я вижу, что есть два основных варианта:

Создайте таблицу политик, затем таблицу разделов со всеми необходимыми полями для всех возможных вариантов, большинство из которых будут нулевыми.

Создайте таблицу правил и многочисленные таблицы разделов, по одному для каждого вида покрытия.

Обе эти альтернативы кажутся неудовлетворительными, тем более что необходимо писать запросы по всем разделам, что может включать многочисленные объединения или многочисленные нулевые проверки.

Какова лучшая практика для этого сценария?

Ответы на вопрос(7)

Ваш ответ на вопрос