数据库设计 – 在数据库中存储多个标志的最佳方式
发布时间:2020-12-12 06:26:46 所属栏目:MsSql教程 来源:网络整理
导读:我有一个基于Web的应用程序,通过电子邮件通知用户网站上的活动.用户可以选择他们想要接收哪些类型的通知.到目前为止,有大约10种不同的选择(每一种都是真/假). 我正在将它存储在一个varchar字段中,为0或1,用逗号分隔.例如: 1,1,0 这是有效的,但很难添加新的通
我有一个基于Web的应用程序,通过电子邮件通知用户网站上的活动.用户可以选择他们想要接收哪些类型的通知.到目前为止,有大约10种不同的选择(每一种都是真/假).
我正在将它存储在一个varchar字段中,为0或1,用逗号分隔.例如: 这是有效的,但很难添加新的通知标志,并跟踪哪个标志属于哪个通知.这样做有接受的标准吗?我正在考虑为每个通知类型添加一个列.然后我可以添加新的列,如果我需要,但我不知道这是多么高效. 提前致谢! 解决方法我会用两张桌子.一个表将存储用户数据,而另一个表将存储他们订阅的通知.第二张表将如下所示:create table notifications ( user_id int,notification_type int ); 我将在user_id与用户表中的用户ID之间建立一个FK关系,并删除级联.同时使用user_id和notification_type作为主键.要检查用户是否想要特定的通知,只需在两个表之间进行连接,并选择notification_type与所讨论的对应的行.如果结果集不为空,则用户希望通知. 添加新通知变得微不足道(删除).只需添加(删除)一个新的类型值,并让用户选择接受或不接受.如果您希望将通知类型保留在表中,以便通过应用程序进行管理,这些应用程序也可以工作,但是会更复杂一些. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |