I am designing a database for an ASP.NET MVC application. I'm an expert in neither, and I'm curious what the best approach would be for the following database snippet:
We will be storing Events in our database. Each event will be of a different type with various fields exclusive to one or some of the types. An example:
Events
* Id
* EventTypeId
* AllEventTypes_Field
EventType0
* EventId (FK)
* EventType0_Field
EventType1
* EventId (FK)
* EventType1_Field
We'll have a handful of event types in the end. I am tempted to put all fields into one large Events table, with nullable fields where appropriate. Or, we can separate out the tables into Supertype/Subtype: Events, EventType1, EventType2, etc (As above).
For the database design portion, I want to choose what makes the most sense and is "easiest" for the MVC framework. Essentially: what path will yield the least amount of headaches? :)
For super/sub types, would it be a matter of dragging over the Events table and creating classes for each subtype off of the main Events table? If so, links to articles on this would be very helpful.
Thanks for any and all insight!