我正在为我正在构建的WCF服务设计数据库,并对如何设计它有疑问:
我有一个Subscriptions
表,一个Events
表和一个lu_Type
表。
**Subscription** **lu_EventType**
SubscriptionId int ID PK TypeId int ID PK
CustomerId int FK Description nvarchar
TypeId int? FK
Description nvarchar
**Event**
EventId int ID PK
CustomerId int FK
SubscriptionId int FK
EventTime datetime
TypeId int?
Description nvarchar
Customer
可以有多个Subscription
TypeId
可以为空,因为客户可以订阅两种类型的订阅。已知事件,来自lu_Type
表和未知事件,其中Subscription
具有null TypeId且仅具有描述。
记录Event
后,它将显示在基于Customer
的网站中。
Event
有一个TypeId时,我应该在记录中包含Description
的{{1}}吗?或者我应该留下Event
空白?如果我将其包含在内,它会占用更多的空间,但它会使检索/显示更容易。我不了解内部工作情况,知道其中任何一个是否是非问题。或者是否可能有更好的路径? (我只能有一个Description
表,它必须是通用的。)思考?答案 0 :(得分:1)
如果以下情况属实:
您应该不在事件中包含Description
,而是加入事件类型表以获取它。
否则,描述应包含在事件记录中,因为它与事件类型没有直接关系。
答案 1 :(得分:1)