What is the most effective way to store group activities and personal activities in a database?

Currently, i have one table for all activities (events)

The activities have two unique "ids" one for entityId and one for typeId

Types include
1- user
2- team (group table)
3- company (group table)

entityId is either the group_ip from the group table or the  user_id from the user table

Would it be better to create a table where user and group activities are kept separate?

The problem is i would use a UNION to pull all the results from the activities into one list
J NUnicorn wranglerAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
Without knowing more about your needs, the short answer is no, it would not be better to create separate tables. If your Events are all the same, and the only thing different is the type of entity associated, then they should be stored in this manner with your TypeID and UserID fields (or whatever you call those fields).

Does more than one "user" participate in the same "event"? If so, you'd need a Join table between Users/Groups and Events. If not, then a Join table is unnecessary.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.