繁体   English   中英

数据库设计动态表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM