我有字段名,f1,f2,f3,f4,f5,f6。这些字段名称将根据其他字段名称的值显示。数据库设计动态表
实施例, F3必须被示出,如果F2的值是“COND1” F4必须被示出,如果f3的值是“COND
字段名称是不固定的,它们可以被添加,编辑和删除。值COND1,标准条件等也是不固定的,它们是可以改变的。
可有人点如何设计数据库 感谢
我有字段名,f1,f2,f3,f4,f5,f6。这些字段名称将根据其他字段名称的值显示。数据库设计动态表
实施例, F3必须被示出,如果F2的值是“COND1” F4必须被示出,如果f3的值是“COND
字段名称是不固定的,它们可以被添加,编辑和删除。值COND1,标准条件等也是不固定的,它们是可以改变的。
可有人点如何设计数据库 感谢
的RDBMS动态表是一个反模式。不要做那
也许NoSQL数据库可能更适合您的用例 - 这就是它们的用途。或者,如果你坚持关系型,那么你需要让你的数据库容纳动态结构 - 就像键值表一样,并且自己管理结构。即表结构将保留结构元数据和数据。
如果你的结构足够简单,你只需要一个额外的表,带有一个组合键 - 原始ID和参数名。
如果你唯一的条件是现场==值,那么我会考虑这一点:
| Field Table |
|-------------|
| id |
| fieldName |
|-------------|
| Conditional Table |
|-------------------|
| id |
| comparisonField |
| comparisonValue |
| displayField |
|-------------------|
所以条件1将值1,2, “COND1”,4至IF域2 ==秀场4 “COND1”
如果您想要其他比较,小于,大于等等。还有一个比较器表链接到条件表。