我正在製作一個小型的asp.net mvc應用程序,它允許我爲我和我家裏的人設置菜譜表。我有一張名爲DishDates的表格,用於跟蹤誰在哪一天的某個菜餚日。它目前包含3列(DishDateId,PersonId和Date)。 DishDateId是PK,PersonId是Person表的FK,Date是餐具在一天中的日期。應該添加使用日期和外鍵的標識列嗎?
我們在任何一天只有一個人在菜餚上。 PersonId綁定到日期。我的應用程序可以自動生成月份的菜餚日曆。現在,您還可以進入並重新生成一個已經創建了一個月的新菜單列表,應用程序將刪除當月的現有記錄,然後創建它們。每次我這樣做時,DishDateId字段的值都會增加,因爲它是一個標識列。
我知道這不會是一個真正的問題,因爲我可以擁有超過20億行仍然足以超過此應用程序的生命週期。但是,這會是一個更聰明的情況,不使用標識列,只需要PersonId和Date字段並使Date成爲PK?我覺得身份專欄只是某種方式或某種東西,或者是不必要的。
日期列不是標識列。 DishDateId列是標識列。此數據庫所連接的應用程序會生成料理日期並將其發送到此表。同樣,考慮到要求,洗碗碟將是獨一無二的,因爲每天只有一個人在菜餚上。 – kcon90