关于SQL Server数据表的五种约束彩民之家论坛906

2019-10-11 05:47 来源:未知

4.暗许约束

      暗许值为 NONCLUSTERED。

主键约束能够在表中定义叁个主键值,它能够独一鲜明表中每一条记录,每个表中只能有四个主键约束(只可以有贰个主键约束的意思并非说受主键约束的列只能有三个),何况受主键约束的列不能够为空值。假如主键约束定义在反复一列上,则某一列中的值能够存在重新,可是受主键约束的具有列的组合值必需独一。

2.简化数据操作

 摘自MSDN:“CHECK 约束”

独一性约束保险在非主键列中不输入重复的值。用于钦定三个或三个列的重组具备独一性,防止范在列中输入重复的值。能够在二个表中定义八个独一性约束,不过只好定义贰个主键约束。独一性约束允许空值,但是当和参预独一性约束的任何值一同使用时,每列只允许八个空值。

3.自定义数据

 

4、暗中同意约束

二、视图

      无论是使用 PWranglerIMAOdysseyY KEY 和 UNIQUE 约束隐式创设索引,依然采用 CREATE INDEX 显式创立索引。各种表都最多可含蓄 2四十多少个非聚集索引

暗许约束钦命在插入操作中一旦未有提供输入值时,系统会自动制订插入值,纵然该值是NULL。当必得向表中加载一行数据只是不明了某一列的值,大概是该值尚荒诞不经时,此时得以接纳暗中同意值约束。

一、表

  •       表平日具有包蕴独一标志表中每一行的值的一列或一组列。那样的一列或多列称为表的主键 (PK),用于强制表的实业完整性。在创造或修改表时,您能够通过定义 P奥迪Q5IMA福睿斯Y KEY 约束来创立主键。
  •       四个表只可以有二个 PQX56IMA中华VY KEY 约束,並且 P帕杰罗IMA宝马7系Y KEY 约束中的列不能接受空值。由于 P途达IMA库罗德Y KEY 约束可保险数据的独一性,由此经常对标志列定义这种约束。
  •       假诺为表钦点了 P雷克萨斯LCIMA福特ExplorerY KEY 约束,则 SQL Server 二〇〇七数据库引擎 将因此为主键列成立独一索引来强制数据的独一性。当在询问中应用主键时,此索引还可用来对数码开展快速访问。因而,所选的主键必得遵从创制独一索引的平整。
  •       倘若对多列定义了 P福睿斯IMARY KEY 约束,则一列中的值大概会重复,但来自 P福特ExplorerIMAEvoqueY KEY 约束定义中持有列的别的值组合必需独一。

 

反省约束是钦命表中若干足以接受的多寡或格式。

 

自己商量约束对于输入列只怕全体表中的值设置检查规范,能够界定输入值,以确认保障数据库里头的完整性。检查约束通过数量的逻辑表明式来规定有效值。举个例子:定义一个age年龄字段,能够经过成立CHECK约束标准,将age字段里面包车型地铁值的限制限制在0到150之内(age >=0 AND age<=150)。

1.重视于特定数据

         为内定表或视图创造关系索引,或为内定表创造 XML 索引。可在向表中填入数据前创办索引。可通过点名限定的数据库名称,为另三个数据库中的表或视图创造索引。

5、外键约束

4.结缘分区数据

摘自MSDN:“始建独一索引

彩民之家论坛9066777,2、独一性约束(UNIQE)

2.独一性约束

 

1、主键约束(P奥德赛IMA哈弗Y KEY)

独一性约束能够保险除主键外的别的若干列的数码独一性,能够免守在列中输入重复的值。

惟一索引可通过以下方法贯彻:

原稿地址:http://www.phpxs.com/post/3154

1.主键约束

  • PRIMARY KEY 或 UNIQUE 约束

    在创制 P路虎极光IMATiguanY KEY 约束时,假设不设有该表的集中索引且未内定独一非聚集索引,则将活动对一列或多列成立独一聚焦索引。主键列差异意空值。

    在开立 UNIQUE 约束时,默许意况下将成立独一非聚集索引,以便强制添加UNIQUE 约束。假诺不设有该表的集中索引,则可以钦命独一聚集索引。

    关于详细消息,请参阅 P奥迪Q5IMA路虎极光Y KEY 约束和 UNIQUE 约束。

  • 独立于自律的目录

    可以为三个表定义八个唯一非集中索引。

    至于详细音讯,请参阅 CREATE INDEX (Transact-SQL)。

  • 索引视图

    若要创制索引视图,请对二个或七个视图列定义独一聚焦索引。视图的推行(具体化)和结果集的存款和储蓄都以在索引叶等级举办的。结果集的蕴藏方式与表数据在集中索引中的存款和储蓄格局一样。有关详细音讯,请参阅成立索引视图。

3、检查约束

5.外键约束

create index indexName on tableName(colName) with (options)

  • 种种字段只好设置四个反省约束。
  • 反省约束中无法满含子查询。
  • 一个列级检查约束只好与限定的字段有关,三个表级检查约束只可以与范围的表中的字段有关。

视图有以下特征:

摘自MSDN:“PRIMARY KEY 约束”

在表结构中每一行代表一条记下,每一列代表八个字段。每一个表最多可定义10二十五个列。

摘自MSDN:“CREATE INDEX (Transact-SQL) ”

视图看上去和表就像同样,但它并不实际存在。视图相当于把对表的询问保存起来,这样下一次查询就很便利了。因而视图中保存的并不是数额,而是查询表的select语句。

 

私下认可约束可以为钦定列定义一个暗中认可值

 摘自MSDN:“FOREIGN KEY 约束”

表约束是数据库提供的一种强制完结数据完整性的机制。包涵主键约束,独一性约束,检查约束,暗许约束和外键约束

      成立独一索引能够确定保障其他变动重复键值的尝尝都会败北。创制 UNIQUE 约束和开创与约束无关的并世无双索引并未鲜明性的分别。进行多少印证的方式同样,并且对于独一索引是由约束创造的或许手动成立的,查询优化器并不加以区分。不过,在拓宽多少集成时,应当对列创制UNIQUE 约束。那能够使索引的指标越来越鲜明。

前边介绍的牢笼都以表内约束,它们只对叁个表起约束作用。外键约束则是用来创立和拉长七个表数据里面包车型地铁链接的。通过将表中的主键列增添到另三个表中,能够创制五个表之间的链接。

      对于索引视图,只可以为已定义独一集中索引的视图创造非集中索引。

3.反省约束

 

主键是一列或一组列,其值能够独一地方统一标准识表中的每一行。

        UNIQUE :为表或视图成立独一索引。独一索引不容许两行有所同等的索引键值。视图的聚焦索引必需独一。默认为non unique       CLUSTERED:成立索引时,键值的逻辑顺序决定表中对应行的情理顺序。聚焦索引的尾部(或称叶等第)包括该表的实在数据行。八个表或视图只允许同一时候有四个集中索引。有关详细音信,请参阅集中索引结构。假若未有一点名 CLUSTERED,则开创非聚焦索引。

二、表约束

  •       通过限制列可接受的值,CHECK 约束能够强制域的完整性。此类约束类似于 FOREIGN KEY 约束,因为能够决定放入列中的值。可是,它们在明显有效值的法子上有所不一致:FOREIGN KEY 约束从其余表得到有效值列表,而 CHECK 约束通过不凭仗别的列中的数据的逻辑表明式鲜明有效值。举例,能够透过创办 CHECK 约束将 salary 列中值的限量限制为从 $15,000 到 $100,000 之间的数额。那将防范输入的薪资值超过不荒谬的薪饷范围。     
  •       CHECK 约束不接受计算结果为 FALSE 的值。因为空值的计量结果为 UNKNOWN,所以表明式中存在这里些值只怕会覆盖约束。比如,假设对 intMyColumn 应用二个封锁,钦定 MyColumn 只可以包涵值 10(即 MyColumn = 10)。若是将值 NULL 插入到 MyColumn,SQL Server 二〇〇五 数据库引擎 将插入 NULL 且不回去错误。

        NONCLUSTERED :创制三个钦赐表的逻辑排序的目录。对此非聚焦索引,数据行的物理排序独立于索引排序。有关详细音信,请参阅非聚集索引结构。

  •       能够采纳 UNIQUE 约束保障在非主键列中不输入重复的值。纵然UNIQUE 约束和 P凯雷德IMACR-VY KEY 约束都强制独一性,但想要强制一列或多列组合(不是主键)的独一性时应选取UNIQUE 约束并不是 PEscortIMA景逸SUVY KEY 约束。
  •       能够对一个表定义多少个 UNIQUE 约束,但只可以定义四个 PRIMA本田UR-VY KEY 约束。
  •      而且,UNIQUE 约束允许 NULL 值,那或多或少与 PHighlanderIMASportageY KEY 约束分歧。不过,当与参加 UNIQUE 约束的别的值一同使用时,每列只同意三个空值。
  •       FOREIGN KEY 约束能够援用 UNIQUE 约束。

如此那般创设的为 non unique ,nonclustered 索引

  •       外键 (FK) 是用于创建和加强七个表数据里面包车型地铁链接的一列或多列。当创设或修改表时可经过定义 FOREIGN KEY 约束来创制外键。
  •       在外键援用中,当一个表的列被引述作为另一个表的主键列时,就在两表之间成立了链接。那几个列就改为第1个表的外键。

 

关于SQL Server数据表的五种约束彩民之家论坛9066777。摘自MSDN:“UNIQUE 约束”

 

 

版权声明:本文由彩民之家高手论坛发布于编程技术,转载请注明出处:关于SQL Server数据表的五种约束彩民之家论坛906