I'm designing a database for a software management system for my company, and am running into a bit of trouble deciding whether a specific group of related functions should each write to their own table, or to a common table, with an identifier to determine which of the functions each row relates to.
Specifically, I am have a list of applications or documents that can be served from a website. As part of that list, there are various source points for each item. The source points fall into general categories (FTP, HTTP, NTFS, etc). The goal is that the "types" of source points are pluggable so that if one dept wants to serve data via HTTP and another wants HTTP and AFS, they can just add/remove or write the "plugins" needed to support their sourcing needs.
My question is whether it's more appropriate to have one "sourcepoints" table with an ID field that determines the "type" of sourcepoint. Or if it's more appropriate for each sourcepoint "type" to have its own sourcepoints table that stores only the sourcepoints for that "type".
I lean towards the second for portability reasons, but wanted to make sure that I wasn't trying to over think the situation.