相关疑难解决方法(0)

如何在NULL列上创建唯一索引?

我正在使用SQL Server 2005.我想将列中的值限制为唯一,同时允许NULLS.

我当前的解决方案涉及视图上的唯一索引,如下所示:

CREATE VIEW vw_unq WITH SCHEMABINDING AS
    SELECT Column1
      FROM MyTable
     WHERE Column1 IS NOT NULL

CREATE UNIQUE CLUSTERED INDEX unq_idx ON vw_unq (Column1)
Run Code Online (Sandbox Code Playgroud)

有更好的想法吗?

sql sql-server indexing constraints unique

98
推荐指数
3
解决办法
9万
查看次数

数据库设计:我是否可以在表中创建一个列,只允许对某些特定行使用"true"而对于相同的特定行使用"false"

问题陈述 - [业务] 1 ---*[分支]企业必须有一个或多个分支.只有一个分支可以是主分支.

我脑子里有两个设计

  1. [ 分支表 ] - {id,BusinessID(FK),名称等,IsMainBranch }
  2. [ 分支表 ] - {id,BusinessID(FK),名称等},[ MainBranch表 ] - {BranchID(PK,FK),BusinessID(FK)}.
  3. [ 业务表 ] - {id,name,mainbranchid },[ 分支表 ] - {id,BusinessID(FK),名称等}

问题#1 - 要对IsMainBranch进行约束我必须使用触发器,后者可能会不同步.

问题#2 - 在EF中访问数据有点复杂.

问题#3 - 不要认为它是一个好的设计.

我使用EF 4.1作为ORM并且不想让事情变得复杂,我应该选择哪种设计.请建议是否有更好的/替代方式.

database database-design sql-server-2008 entity-framework-4.1

1
推荐指数
1
解决办法
809
查看次数