如何解决在SQL Server数据库中使用单行配置表馊主意?
过去,我已经完成了这两种方式-单行表和键/值对表-每种方法都有其积极性和消极性。
单排
键/值对
- 肯定:添加新设置不需要更改架构
- 正:表架构狭窄,多余的行用于新设置
- 负数:每个设置都具有相同的默认值(是否为空/空?)
- 负数:所有内容都必须存储为字符串(即nvarchar)
- 否定的:处理代码中的设置时,您必须知道设置是什么类型并将其强制转换
到目前为止,单行选项是最容易使用的选项。这是因为您可以将每个设置以其正确的类型存储在数据库中,而不必在代码中存储设置的类型及其查找键。
我担心使用这种方法的一件事是在“特殊”单行设置表中有多行。我克服了这一点(在sql Server中):
这意味着表中只能存在一行,因为bit列的值必须为0,但是由于唯一约束,只能有一行具有该值。
解决方法
在开发购物车应用程序时,我发现我需要根据管理员的偏好和要求保存设置和配置。该信息可以是公司信息,运输帐户ID,PayPal
API密钥,通知首选项等任何信息。
创建表以在关系数据库系统中存储单行似乎非常不合适。
存储此信息的适当方法是什么?
注意:我的DBMS是SQL Server 2008,并且编程层是使用ASP.NET(在C#中)实现的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。