在用例中,我有一个Pump
产品,其中包含多个字段,例如model
,min_flow
,max_flow
,active
等。
我希望能够向用户显示这些字段,并使他们能够编辑这些字段的值。除此之外,我希望管理员用户能够为用户显示或隐藏这些字段。
我的问题是关于如何对数据库进行建模以允许显示和隐藏字段。即,我需要一种编码想要显示的字段和想要隐藏的字段的方法。我还想让用户为字段定义自己的名称。
目前我有这个:
CREATE TABLE `pump` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`model` CHAR(11),
`min_flow` float,
`max_flow` float,
`active` tinyint(1),
PRIMARY KEY (`id`)
);
我想到编码名称和显示/隐藏标志的一种方法类似于使用MySQL的COMMENT
元数据字段,其中COMMENT字段包含名称和显示/隐藏标志,并用|
分隔分隔符:
CREATE TABLE `pump` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`model` CHAR(11) COMMENT 'Model|1',
`min_flow` float COMMENT 'Min Flow|1',
`max_flow` float COMMENT 'Max Flow|1',
`active` tinyint(1) COMMENT 'Active|0',
PRIMARY KEY (`id`)
);
然后我可以读取元数据并相应地显示/隐藏字段,并在该过程中显示字段名称。
这是可以接受的方法,还是有更好的方法?