【发布时间】:2012-03-21 05:52:15
【问题描述】:
我正在使用 asp.net MVC 3 开发酒店预订系统,我有以下表格:-
-
客户表有:-
客户 ID (PK)
名字
出生日期
等等……
-
房间桌
房间号(PK)
类型
等等……
对于预订,我有两种方法
-
预订
房间号(FK)
Customer_Id (FK)
日期
价格
拥有PK (Room_number & Customer_Id & Date),因为同一房间不能由同一客户在同一天预订。
或者我可以如下构建预订表;通过在我的 Reservation 表中添加一个预订 ID 而不是让 PK 由三列组成,这将简化检索、更新预订对象的代码,如下所示:-
-
预订
Reservation_ID (PK)
房间号(FK)
Customer_Id (FK)
日期
价格
我发现引入预订 ID 将简化代码并可能具有更好的性能优势,因为它可以更快地检索和更新预订记录,但是引入预订 ID 会破坏第 3 范式。所以我应该打破第三范式以获得简单性和性能优势。
BR
【问题讨论】: