Должен ли я добавить идентификатор для таблицы отношений многие ко многим в моем asp.net MVC - PullRequest
0 голосов
/ 20 марта 2012

Я работаю в системе бронирования отелей, используя asp.net MVC 3, и у меня есть следующие таблицы: -

  1. Таблица клиентов, которые имеют: -

    Customer_ID(PK)

    FirstName

    DateOfBirth

    и т. Д. *

  2. Таблица комнаты

    Номер комнаты (PK)

    Тип

    и т. Д.

для резервирования у меня есть два подхода:

  1. Бронирование

    Номер комнаты (FK)

    Идентификатор клиента (FK)

    Дата

    Цена

ИмеяPK (Room_number & Customer_Id & Date), поскольку один и тот же номер не может быть зарезервирован одним и тем же клиентом в один и тот же день.

ИЛИ я могу построить таблицу бронирования следующим образом;добавив идентификатор резервирования в мою таблицу резервирования вместо того, чтобы иметь PK, состоит из трех столбцов, которые упростят код для извлечения и обновления объекта резервирования, а именно: -

  1. Резервирование

    Reservation_ID (PK)

    Номер комнаты (FK)

    Customer_Id (FK)

    Дата

    Цена

Я обнаружил, что введение идентификатора резервирования упростит код и может иметь более высокие преимущества в производительности, поскольку позволит быстрее получать и обновлять записи резервирования, но при вводе booking_ID нарушится третья нормальная форма.Поэтому я должен сломать третью нормальную форму, чтобы получить преимущества простоты и производительности.

BR

1 Ответ

1 голос
/ 20 марта 2012

Да, я бы добавил Reservation_ID в качестве первичного ключа. Это не нарушает третью нормальную форму; хотя я уверен, что с этим можно поспорить, это не то место. Вместо этого это должно быть в переполнении стека.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...