【问题标题】:Schema to store/generate dynamic messages with placeholder使用占位符存储/生成动态消息的架构
【发布时间】:2017-08-21 07:14:21
【问题描述】:

我正在创建一个应用程序来显示类似 facebook 的通知。我有数据库模式来保存用户特定的通知。通知消息包含占位符。例如。假设我们有以下通知消息(称之为通知模板):

  1. {FrinedName} 喜欢你的照片。
  2. {FriendName} 喜欢您的页面 {PageName}。
  3. {FrinedName} 在 {groupName} 中发布了一条消息。
  4. 今天是 {friendName} 的生日。
  5. {FriendName} 和 {#count} 赞了您的照片

所以这里 {} 内的文本代表占位符,这些占位符的值需要在运行时替换。 现在我想将这些占位符及其值源保留在数据库表中。 不同占位符的值可能指不同表中的不同列。 (例如 {FriendName} 的值可能属于 User 表的 LoginName 列,{PageName} 的值将引用 Pages 表的 Name 列,{groupname} 占位符的值引用 Groups 表 名称列)。

所以,我想为占位符动态获取数据。在数据库中存储此类数据的最佳方式是什么(如下所示)。

  1. dbo.NotificationTemplates - 存储所有通知模板的表格
  2. dbo.TemplatePlaceholders - 用于在模板中存储占位符的表格
  3. dbo.TemplatePlaceholdersMapping - 用于存储模板中占位符映射的表。
  4. dbo.PlaceholderValueProvider - 用于存储占位符值源的表,即从何处获取占位符的值。

【问题讨论】:

    标签: sql-server database schema


    【解决方案1】:

    我的建议是使用标量函数,你可以在标量函数中有多个条件,最后在一列中返回你的结果

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-29
      • 2017-05-20
      • 2019-04-05
      • 2013-06-26
      • 2023-01-23
      相关资源
      最近更新 更多