[英]database design dynamic table
我有字段名称,f1,f2,f3,f4,f5,f6。 这些字段名称将根据其他字段名称的值显示。
例如,如果f2值为“ COND1”,则必须显示f3,如果f3值为“ COND1”,则必须显示f4
字段名称不是固定的,可以添加,编辑和删除。 值COND1,COND等也不固定,可以更改。
有人可以指出如何设计数据库谢谢
RDBMS的动态表是一种反模式。 不要那样做。
也许NoSQL数据库可能更适合您的用例-这就是它们的用途。
或者,如果您坚持使用关系,则需要使数据库适应动态结构(例如键值表)并自行管理该结构。 即表结构将同时保留结构元数据和数据。
如果您的结构足够简单,则只需要一个带有复合键的附加表-原始ID和参数名称。
如果您的唯一条件是字段==值,那么我会考虑以下几点:
| Field Table |
|-------------|
| id |
| fieldName |
|-------------|
| Conditional Table |
|-------------------|
| id |
| comparisonField |
| comparisonValue |
| displayField |
|-------------------|
因此,如果字段2 ==“ COND1”,条件1将具有值1、2,“ COND1”,4以显示字段4
如果要进行其他比较,则小于,大于,等等。还有一个比较器表可链接到条件表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.