Я проектирую базу данных для приложения ASP.NET MVC. Я эксперт ни в одном, и мне любопытно, какой лучший подход будет для следующего фрагмента базы данных:
Мы будем хранить события в нашей базе данных. Каждое событие будет другого типа с различными полями, исключающими один или несколько типов. Пример:
Events
* Id
* EventTypeId
* AllEventTypes_Field
EventType0
* EventId (FK)
* EventType0_Field
EventType1
* EventId (FK)
* EventType1_Field
В конце у нас будет несколько типов событий. У меня возникает соблазн поместить все поля в одну большую таблицу событий, где это возможно. Или мы можем разделить таблицы на Supertype / Subtype: Events, EventType1, EventType2 и т. Д. (Как указано выше).
В части проектирования базы данных я хочу выбрать то, что имеет смысл и является "самым простым" для инфраструктуры MVC. По сути: какой путь приведет к наименьшему количеству головных болей? :)
Для супер / подтипов, будет ли вопрос перетаскивания таблицы событий и создания классов для каждого подтипа вне основной таблицы событий? Если это так, ссылки на статьи по этому вопросу были бы очень полезны.
Спасибо за понимание и все!