我正在制作一个小型的asp.net mvc应用程序,它允许我为我和我家里的人设置菜谱表。我有一张名为DishDates的表格,用于跟踪谁在哪一天的某个菜肴日。它目前包含3列(DishDateId,PersonId和Date)。 DishDateId是PK,PersonId是Person表的FK,Date是餐具在一天中的日期。应该添加使用日期和外键的标识列吗?
我们在任何一天只有一个人在菜肴上。 PersonId绑定到日期。我的应用程序可以自动生成月份的菜肴日历。现在,您还可以进入并重新生成一个已经创建了一个月的新菜单列表,应用程序将删除当月的现有记录,然后创建它们。每次我这样做时,DishDateId字段的值都会增加,因为它是一个标识列。
我知道这不会是一个真正的问题,因为我可以拥有超过20亿行仍然足以超过此应用程序的生命周期。但是,这会是一个更聪明的情况,不使用标识列,只需要PersonId和Date字段并使Date成为PK?我觉得身份专栏只是某种方式或某种东西,或者是不必要的。
日期列不是标识列。 DishDateId列是标识列。此数据库所连接的应用程序会生成料理日期并将其发送到此表。同样,考虑到要求,洗碗碟将是独一无二的,因为每天只有一个人在菜肴上。 – kcon90