I have a table that describes a set of properties (yes it's metadata, in this case there's a valid reason to have it in the database); among other things I tell the type of the data that can be assigned to them (Type) and a default value. The valid values for the default value are thus restricted by the Type column, but the default value is genuinely an attribute of the table, they are not uniquely determined by the Type column.
I'm not sure though, should this be somehow normalized or is it right as it is?
Edit: here's an approximate description of the current structure of the relevant part of the database, as requested. Don't mind the Values table, that's a separate issue. Just consider that ValueType restricts the set of DefaultValue permitted values.
Also, consider this only as an example, I'm interested in the problem in general, the problem being namely columns that limit the set of valid values of another column but that don't determine its exact value, thus as far as I understand don't constitute multivalued dependencies (but, as an aside, it would be useful to have an integrity constraint that enforce the limit - I'm not sure that this issue can be separated from the former).
Properties (
ID int PRIMARY KEY
Name varchar(100)
ValueType int REFERENCES ValueTypes(ID)
DefaultValue int REFERENCES Values(ID)
)
ValueTypes (
ID int PRIMARY KEY
Name varchar(100)
...
)
Values (
ID int PRIMARY KEY
...
)