What does 'track emails' and 'track texts' mean? Keep the actual message in the db? Access the actual message from the db as well? Or just record the fact that one or the other or both were sent? If it's purely the activity you want to record, then your original idea is more normalized. The extreme opposite would be to have all in one table with a prospect ID and an activity field for each type, which would potentially result in a lot of "holes". Combining more than one activity type in any one table is not the best as far as achieving normalization is concerned. If you had to add an activity type in the future, then what? Modify a table to add the appropriate field? We try to avoid that as much as possible, and as soon as you combine one or more activity types in one table, you run that risk. You have to decide if the meager effort in having an activity table for each type is not worth it to you.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.