I appreciate any comments on the design I'm implementing. Thanks to R937 for setting me on the path to
types/subtypes
Here is where I'm at, at the moment.
I have a table of vehicles. Each vehicle can have a number of events associated with it (transportation, delivery, maintenance, failure, etc) The relationship between these is easy:
(PK and FK used for ease of writing, I don't actually use those names as my columns

)
Vehicle.PK = Event.FK
All events have some simple information associated with them like a date and description. However, depending on the event type, there might be additional information specific to that type. So I've set up additional tables event_maintenance, event_delivery, etc.
I set up the tables such that:
Event.PK = Event_SUBTYPE.FK (for each subtype table)
The problem is that now I can have multiple subtype rows associated with one event, which doesn't make sense. I can set a one-to-one constraint, but I only know how to do that across one pair of table.
The other catch is that for one particular kind of event (delivery) one of the subtype rows could be associated with multiple events (i.e. multiple vehicles in the same delivery)
As I said, I appreciate any suggestions on how to set this up.