First of all, sorry for my english, is not my native language.
Well, I have a problem with my database design, I mean: I have a Java Web Application (using JSP, Servlets, Classes and Mysql RDBMS) and I have been storing data about properties and it's owners mainly (there are others entities but those are the important here). Now, I need to create a new module to store data about events, something like this:
- Event: name, location, date, topic, etc.
- Participants: Identification, name,location, type of participant (speaker or assistant)
I've been thinking in my database design and most of the assistants are already stored in the Owner entity, but other don´t.
The problem is:
- If I create an assistant entity, I'm going to repeat the same data which is alreade stored in Owner Entity (for those assistants that are already created as owners). So, if later I need to store data about surveyers or sales person or whatever, I'm going to have the same data in different tables.
- I was thinking on create a Person Entity, and use it to store the properties that are common between assistants and Owners (even for my user table) but I have read about inheritance in a database and people say it's not a good practice for database design purposes.
How can I solve this problem? What's the best practice in this case?