SQL数据库中的表设计

时间:2014-01-20 11:00:56

标签: sql-server design-patterns database-design

Ms Access Table Screenshot

我计划使用SSMA将访问数据库移动到sql server。我有一个名为Eligibility的列,其下拉列表值如图所示。转换为SQL后,我意识到它没有下拉列表选项。任何人都可以建议什么是我的情况的最佳解决方案?我可以在SQL中设置任何其他选项来保存List Values吗?

2 个答案:

答案 0 :(得分:2)

SQL Server与访问的工作方式不同。它没有下拉选项供您选择。

使用SQL Server作为数据库实现下拉选项的正确方法是将另一个应用程序作为前端,并让用户通过该应用程序进行访问。这样就更容易管理安全性。

答案 1 :(得分:2)

您可以执行以下操作之一:

  1. CHECK约束添加到“资格”字段,只允许将一组预先设定的值插入该字段,如评论中所示。
  2. 更好的解决方案是创建Eligiblity表(带有id和value字段),并通过id字段从主表引用此表,可能会创建PK-FK关系。这条路: a)只允许来自资格表的值。 b)您可以在Elibility表中更改和添加条目,而无需每次都更改约束。 c)前端应用程序可以使用Elibility表添加下拉功能。