I am working on a hotel reservation system using asp.net MVC 3 and i have the following tables:-
1.Customer table that have:-

-Customer_ID (PK)
-FirstName
-DateOfBirth
-etc...

2.Room table
-Room_number (PK)
-Type
-etc...


for the reservation i have two approaches either by having
1.Reservation
-Room_number (FK)
-Customer_Id (FK)
-Date
-Price


Having PK (Room_number & Customer_Id & Date) since that same room cannot be reserved by the same customer at the same day.

OR i can build the reservation table as following; by adding a reservation ID to my Reservation table instead of having the PK consists of three columns which will ease the code for retrieving , updating the reservation object, as follow:-
1.Reservation

-Reservation_ID (PK)
-Room_number (FK)
-Customer_Id (FK)
-Date
-Price


i found that introducing a reservation ID will simplify the code and might have better performance advantages because it will make it faster to retrieve and update the reservation records,, but introducing the reservation_ID will break the 3rd normal form. So should i break the 3rd normal form to gain the simplicity and performance advantages.

BR