【发布时间】:2017-08-21 07:14:21
【问题描述】:
我正在创建一个应用程序来显示类似 facebook 的通知。我有数据库模式来保存用户特定的通知。通知消息包含占位符。例如。假设我们有以下通知消息(称之为通知模板):
- {FrinedName} 喜欢你的照片。
- {FriendName} 喜欢您的页面 {PageName}。
- {FrinedName} 在 {groupName} 中发布了一条消息。
- 今天是 {friendName} 的生日。
- {FriendName} 和 {#count} 赞了您的照片
所以这里 {} 内的文本代表占位符,这些占位符的值需要在运行时替换。 现在我想将这些占位符及其值源保留在数据库表中。 不同占位符的值可能指不同表中的不同列。 (例如 {FriendName} 的值可能属于 User 表的 LoginName 列,{PageName} 的值将引用 Pages 表的 Name 列,{groupname} 占位符的值引用 Groups 表 名称列)。
所以,我想为占位符动态获取数据。在数据库中存储此类数据的最佳方式是什么(如下所示)。
- dbo.NotificationTemplates - 存储所有通知模板的表格
- dbo.TemplatePlaceholders - 用于在模板中存储占位符的表格
- dbo.TemplatePlaceholdersMapping - 用于存储模板中占位符映射的表。
- dbo.PlaceholderValueProvider - 用于存储占位符值源的表,即从何处获取占位符的值。
【问题讨论】:
标签: sql-server database schema