第一种:按Brand升序,再按Type升序
第二种:按Brand升序,再按Type升序的唯一索引
第三种:不知道.

解决方案 »

  1.   

    参数
    UNIQUE为表或视图创建唯一索引(不允许存在索引值相同的两行)。视图上的聚集索引必须是 UNIQUE 索引。在创建索引时,如果数据已存在,Microsoft® SQL Server™ 会检查是否有重复值,并在每次使用 INSERT 或 UPDATE 语句添加数据时进行这种检查。如果存在重复的键值,将取消 CREATE INDEX 语句,并返回错误信息,给出第一个重复值。当创建 UNIQUE 索引时,有多个 NULL 值被看作副本。如果存在唯一索引,那么会产生重复键值的 UPDATE 或 INSERT 语句将回滚,SQL Server 将显示错误信息。即使 UPDATE 或 INSERT 语句更改了许多行但只产生了一个重复值,也会出现这种情况。如果在有唯一索引并且指定了 IGNORE_DUP_KEY 子句情况下输入数据,则只有违反 UNIQUE 索引的行才会失败。在处理 UPDATE 语句时,IGNORE_DUP_KEY 不起作用。SQL Server 不允许为已经包含重复值的列创建唯一索引,无论是否设置了 IGNORE_DUP_KEY。如果尝试这样做,SQL Server 会显示错误信息;重复值必须先删除,才能为这些列创建唯一索引。CLUSTERED创建一个对象,其中行的物理排序与索引排序相同,并且聚集索引的最低一级(叶级)包含实际的数据行。一个表或视图只允许同时有一个聚集索引。具有聚集索引的视图称为索引视图。必须先为视图创建唯一聚集索引,然后才能为该视图定义其它索引。在创建任何非聚集索引之前创建聚集索引。创建聚集索引时重建表上现有的非聚集索引。如果没有指定 CLUSTERED,则创建非聚集索引。
      

  2.   

    楼上的老大的意思,不知道我理解的对不,见下
    第一种:为非聚集索引
    create index Index_1 on BrandType (
    Brand ASC,
    Type ASC
    )
    go第二种:为唯一索引
    create unique index Index_1 on BrandType (
    Brand ASC,
    Type ASC
    )
    go第三种:为聚集索引
    create clustered index Index_1 on BrandType (
    Brand ASC,
    Type ASC
    )
    go
    以上理解的对吗?
    主键是不是就是聚集索引?
      

  3.   

    对了,上面全部是SQL自带的联机丛书中的说明,建议LZ去看看