Я работаю в системе бронирования отелей, используя asp.net MVC 3, и у меня есть следующие таблицы: -
Таблица клиентов, которые имеют: -
Customer_ID(PK)
FirstName
DateOfBirth
и т. Д. *
Таблица комнаты
Номер комнаты (PK)
Тип
и т. Д.
для резервирования у меня есть два подхода:
Бронирование
Номер комнаты (FK)
Идентификатор клиента (FK)
Дата
Цена
ИмеяPK (Room_number & Customer_Id & Date)
, поскольку один и тот же номер не может быть зарезервирован одним и тем же клиентом в один и тот же день.
ИЛИ я могу построить таблицу бронирования следующим образом;добавив идентификатор резервирования в мою таблицу резервирования вместо того, чтобы иметь PK, состоит из трех столбцов, которые упростят код для извлечения и обновления объекта резервирования, а именно: -
Резервирование
Reservation_ID (PK)
Номер комнаты (FK)
Customer_Id (FK)
Дата
Цена
Я обнаружил, что введение идентификатора резервирования упростит код и может иметь более высокие преимущества в производительности, поскольку позволит быстрее получать и обновлять записи резервирования, но при вводе booking_ID нарушится третья нормальная форма.Поэтому я должен сломать третью нормальную форму, чтобы получить преимущества простоты и производительности.
BR