我的问题是,在数据库中使用特定类型信息的最佳方式是什么。
我们假设。
我在这样的数据库中有一个表:
表:设备
id: AUTO_INCREMENT
model: INT (FK)
code: VARCHAR(30)
code_type: VARCHAR(20)
code_type的值可以是两种类型的信息:TYPE1_ID或TYPE2_ID。
代码列根据 code_type 采用不同的值。
如果 code_type的值为“TYPE1_ID”,则代码列将具有特定值。
并且,如果 code_type的值为“TYPE2_ID”,则代码列将具有其他值。
这是我可以用来存储信息的方式。
另一种方式是:
将数据类型 code_type 修改为INT(FK)。我需要另一张表,作为参考。
像这样:
table:devices
id: AUTO_INCREMENT
model: INT (FK)
code: VARCHAR(30)
code_type: INT (FK)
另一张表是这样的:
table:code_types
id_type_code: INT
description: VARCHAR(40)
列 id_type_code 是信息类型的ID(TYPE1_ID或TYPE2_ID)。 列描述是关于什么类型的。
最后,问题是:
存储数据的最佳方法是什么?基于此上下文。 或者,你能告诉我另一种更好的存储方式吗?
提前致谢。
答案 0 :(得分:0)
最佳答案取决于您对数据的处理方式。分离出code_types表是一种更规范化的形式 - 但如果您的所有查询都需要显示code_type描述,那么您将不得不经常加入。既然听起来像code_type只有两个值你考虑过使用bit / bool吗?