Mysql – How to make Event (like a Party) Sources mutually exclusive

database-designerdMySQLschemasubtypes

I'm designing an entity-relationship diagram (ERD) for a marketplace of events. An event can be created by a user, in which case the Event table must have owner_id or we pull it from an API in which case the Event table must have api_id.

However, it can only be one way or the other. So, an event can be created by a user or pulled from API, never both.

How do I express owner_id and api_id as mutually-exclusive in ER diagram and how will it translate in tables?

This is the ERD I have developed so far:

enter image description here

Best Answer

One possible solution to this is move the API entity up next to Admin, User, Biz User, and make a relationship User ISA (is a?) API.