我有字段名 f1、f2、f3、f4、f5、f6。这些字段名称将根据其他字段名称的值显示。
例如,必须显示 f3,如果 f2 值为“COND1”,则必须显示 f4,如果 f3 值为“COND”
字段名称不固定,可以添加、编辑和删除。COND1、COND 等值也不是固定的,可以更改。
有人能指出如何设计数据库吗 谢谢
我有字段名 f1、f2、f3、f4、f5、f6。这些字段名称将根据其他字段名称的值显示。
例如,必须显示 f3,如果 f2 值为“COND1”,则必须显示 f4,如果 f3 值为“COND”
字段名称不固定,可以添加、编辑和删除。COND1、COND 等值也不是固定的,可以更改。
有人能指出如何设计数据库吗 谢谢
RDBMS 的动态表是一种反模式。不要那样做。
也许 NoSQL 数据库可能更适合您的用例——这就是它们的用途。
或者,如果你坚持关系,那么你需要让你的数据库适应动态结构——比如键值表,并自己管理结构。即表结构将保留结构元数据和数据。
如果您的结构足够简单,您只需要一个带有复合键的附加表 - 原始 ID 和参数名称。
如果您的唯一条件是 field == value 那么我会考虑这个:
| Field Table |
|-------------|
| id |
| fieldName |
|-------------|
| Conditional Table |
|-------------------|
| id |
| comparisonField |
| comparisonValue |
| displayField |
|-------------------|
因此条件 1 将具有值 1, 2, "COND1", 4 以显示字段 4 如果字段 2 == "COND1"
如果您想要其他比较,小于、大于等。还有一个比较器表可以链接到条件表。