MyDataTable
有 3 列:A、B 和 C。没有保证有唯一的条目,在非平凡的情况下,每一列都将有非唯一的条目。
{A, B} 的组合保证是唯一的。因为 ADO.NETDataTable
允许使用多列作为主键,所以我使用 A 和 B 作为我的主键。
A vs B 表示一个默认值为 0 的矩阵,因此我可以保证 B 的条目将来自有限池,并且对于 A 的每个条目,每个可能的 {A, B} 都会出现(即这样表中将有确切number of unique A values * number of unique B values
的行)。
我的问题有两个部分:
1)如何对此进行规范化,以便我有一个密钥并且没有更新异常(我不确定,但我想我想要一个3NF)?(除非我弄错了,只需添加一个带有非冗余整数的额外“ID”列将允许更新异常)
2)如何设置(在C#中使用ADO.NET库)这样每当我想添加一行时,我指定B和C的条目,然后它会自动生成一个合适的A值,这样我就可以“在 {A, B} 处插入 C”?A 可以是整数或字符串。
这两者是相关的,因为您对 2 的回答可能会影响 1,反之亦然。