I need to design a database that basically allows users to configure different parameters for a number of software packages.
To explain from bottom up, for example software_package_A_config would consists of the following name-value pairs:
parameter_1 = some_value
parameter_1 = some_other_value
parameter_2 = yet_another_value
parameter_3 = … …
Parameters are allowed to have the same name, as shown above. And different software packages can have one or two identical parameters, but this is rare.
And a number of software package config’s form a config_profile. So every config_profile will consist of:
software package config’s are NOT allowed to have the same name in the same config_profile.
Also, every config_profile can be owned by one or more users (many-to-many relationship). There are a number of users that can log into the database, each of them have a user name and a password.
The following are my thoughts on how to design a database to hold all these information.
I would have:
a “user” table consisting of the following fields: *username, password;
a “config_profile” table;
an association table to link the user table and the config_profile table.
I am not quite sure how to design the rest of the database to include the parameters and all their values…