我的DataTable
有3列:A,B和C.無保證具有唯一條目,在非平凡的情況下,每列都有非唯一條目。使用兩列主鍵和另一列對錶格進行歸一化處理
{A,B} 的組合是保證是唯一的。因爲ADO.NET DataTable
允許使用多列作爲主鍵,所以我使用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,反之亦然。
你不會學習讓別人做你的功課。 – ChrisBint
@ChrisBint你爲什麼認爲它功課? – Superbest