加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

数据库设计 – 与Facebook相似的通知系统的数据库模式

发布时间:2020-12-12 16:30:37 所属栏目:MsSql教程 来源:网络整理
导读:我正在设计一个类似于Facebook的通知系统,我已经到了一个砖墙.我的要求是能够支持无限数量的可能具有不同类型的元数据需要呈现的通知类型. 我以为我会设计模式如下: **Notification**Id (int)TypeId (int)RecipientId (int)SenderId (int)SendDateTime (Date
我正在设计一个类似于Facebook的通知系统,我已经到了一个砖墙.我的要求是能够支持无限数量的可能具有不同类型的元数据需要呈现的通知类型.

我以为我会设计模式如下:

**Notification**
Id (int)
TypeId (int)
RecipientId (int)
SenderId (int)
SendDateTime (DateTime)
Read (bool)
MessageData (...Blob?)
Deleted (bool)

**NotificationType**
Id
Name
Description

我真的想尝试避免在我的数据库中存储HTML字符串,但是,我也不是特别喜欢存储blob.

可能我可以查看NotificationType表,并引用另一个存储特定于该类型的数据的表,但这意味着每次创建新的通知类型时,我都需要创建一个新的表.我相信我也会把自己变成一个必须编写动态SQL来获取数据的世界.

有人对我有任何建议吗?

解决方法

这是我最终如何解决这个问题.

我决定使用字典存储每种通知类型唯一的数据.然后我将该字典对象序列化为二进制字符串,并将其存储在数据库中以及每个通知.我有一个分配给每个通知类型的模板,包含占位符即. ‘{song-title}’,我可以快速替换我的字典对象中的值.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读