我应该在我的asp.net MVC中为多对多关系表添加ID

时间:2012-03-20 19:11:17

标签: sql-server-2008 database

我正在使用asp.net MVC 3开发酒店预订系统,我有以下表格: -

  1. 客户表格包含: -

    Customer_ID(PK)

    DATEOFBIRTH

    等...

  2. 房间桌

    Room_number(PK)

    类型

    等...

  3. 对于预订我有两种方法<或者

    1. 预订

      Room_number(FK)

      Customer_Id(FK)

      日期

      价格

    2. PK (Room_number & Customer_Id & Date)由于同一客户在同一天不能保留同一房间。

      或者我可以按如下方式构建预订表;通过向我的Reservation表添加一个预留ID,而不是让PK包含三列,这将简化检索,更新预留对象的代码,如下所示: -

      1. 预订

        Reservation_ID(PK)

        Room_number(FK)

        Customer_Id(FK)

        日期

        价格

      2. 我发现引入预订ID会简化代码并可能具有更好的性能优势,因为它可以更快地检索和更新预订记录,但引入reservation_ID将打破第3范式。因此,我应该打破第三范式以获得简单性和性能优势。

        BR

1 个答案:

答案 0 :(得分:1)

是的,我会将Reservation_ID添加为主键。这不会破坏第3范式;虽然我确信可以辩解,但这不是一个合适的地方。相反应该在Stack Overflow上。