这仅仅是关于数据库表关系的设计实现的问题。我正在寻找一种基于其他用户体验和最佳实践来设计它的实用方法。 一些信息:
使用的数据库:MSSQL
关于表格:
我有一个“主”表用于保存有关产品的信息,这是每次在所有产品上使用的特定信息。
我有一个“奴隶”表格,其中包含有关产品的其他不同信息,这些信息可能适用于所有产品,也可能不适用于所有产品,因为产品可能会更改,并且可能具有其他可能没有的功能。 此外,有关产品的其他信息可能是:字符串,整数,一点等。
我想要实现的是对产品附加信息进行完全自定义,而无需向“slave”表添加另一列,并保留定义列的相同数据定义。
总结一下:
有不同的表格,我可以添加/删除其他信息,并可以分配给ProductNo
我可以从他们那里创建一个模板表,所以每次添加新产品时,我都不需要从我的软件中添加20个附加信息。
使用模板表+其他信息表将它们分配给新产品
例如,产品可能具有已定义的模板,但也有一些不同的附加信息字段。
我的问题:
实施此操作的最佳做法是什么?
更新1。
我现在使用的例子:
Master Table: ProductNo varchar(20) Primary Key CustomerNo smallint TargetDate date RecommitDate date ShipDate date
Slave Table(Additional Information) ProductNo varchar(20) info1 smallint info2 smallint info3 smallint info4 smallint IsInfo5 bit IsInfo6 bit IsInfo7 bit IsInfo8 bit IsInfo9 bit Info10 smallint Info11 tinyint Info12 varchar(MAX) Info13 text Info14 varchar(30)
更新2:
我想在示例中实现:
奴隶表:
Slave 1: index smallint info smallint Slave 2: index smallint IsInfo bit Slave 3: index smallint Info varchar(MAX)
每个表格中包含的附加信息只能包含一种类型的数据,以便将来添加更多信息。 此表中的所有信息都可以将它们与另一个表中的主表中的ProductNo相关联。