Hi, I'm designing a database for a project and need to make it as versatile as possible as there may be many changes to the data structure stored in future. I've decided to use name/value pairs for storing parameters instead of extra columns. e.g.:
Reports.ID, Reports.Name, Reports.Desc etc
ReportDetails.ID, ReportDetails.ReportID, ReportDetails.ParameterName, ReportDetails.ParameterValue
This structure enables the storing of any new report type including its new parameters without changing the DB structure.
Is there a downside to this approach?