mg4377娱乐娱城官网_mg4377娱乐手机版_www.mg4377.com

当前位置: mg4377娱乐娱城官网 > mg > 正文

SQLServer约束介绍

时间:2019-07-14 03:32来源:mg
FOREIGN KEY约束增多准则 1、外键约束并既能够与另一表的主键约束相链接,它还是可以够定义为援引另一个表中UNIQUE 约束的列。 2、假若在 FOREIGNKEY 约束的列中输入非 NULL值,则此值必须

FOREIGN KEY约束增多准则

1、外键约束并既能够与另一表的主键约束相链接,它还是可以够定义为援引另一个表中 UNIQUE 约束的列。

2、假若在 FOREIGN KEY 约束的列中输入非 NULL 值,则此值必须在被引用列中设有;不然,将回来违反外键约束的错误新闻。 若要确认保障验证了咬合外键约束的装有值,请对负有参加列钦赐NOT NULL。

3、FOREIGN KEY 约束仅能援引位于同一服务器上的一律数据库中的表。 跨数据库的援用完整性必须透过触发器实现。

4、FOREIGN KEY 约束可引用同一表中的其余列。 此行为称作自引用。

5、在列级钦命的 FOREIGN KEY 约束只好列出贰个引用列。 此列的数据类型必须与定义约束的列的数据类型一样。

6、在表级钦定的 FOREIGN KEY 约束所具备的援引列数目必须与约束列列表中的列数同样。 每一个援引列的数据类型也亟须与列表中相应列的数据类型同样。

7、对于表可包罗的引用别的表的 FOREIGN KEY 约束的数据或任何表所具备的援用特定表的 FOREIGN KEY 约束的数量, 数据库引擎 都并未有预订义的限制。 固然如此,可使用的 FOREIGN KEY 约束的实际数据如故受硬件配置以及数据库和应用程序设计的限定。 表最多能够将 255个别的表和列作为外键援引(传出援用)。 SQL Server 二零一四 (13.x) 将可在单身的表中引用的其余表和列(传入引用)的数据限制从 253 提升至 10,000。 (兼容性品级至少必须为 130。)数量限制的抓好带来了下列约束:

DELETE 和 UPDATE DML 操作帮衬胜出 253 个外键引用。 不补助MECRUISERGE 操作。

对自己举办外键引用的表仍只可以实行 253个外键引用。

列存款和储蓄索引、内部存款和储蓄器优化表和 Stretch Database 暂不援救开展超过 253 个外键援引。

8、对于有时表不强制 FOREIGN KEY 约束。

9、假诺在 CLOdyssey用户定义类型的列上定义外键,则该品种的落实必须援救二进制排序。

10、仅当 FOREIGN KEY 约束援引的主键也定义为项目 varchar(max) 时,技能在此约束中央银行使项目为varchar(max) 的列。

P奥迪Q5IMA奥迪Q3Y KEY约束加多准绳

1、在表中常有一列或多列的整合,其值能独一标记表中的每一行,那样的一列或多列成为表的主键(PrimaryKey)。

2、两个表只可以有二个主键,並且主键约束中的列不可能为空值。

3、唯有主键列工夫被看作任何表的外键所成立。

4、一般景色下二个表中只可以有叁个主键。

一、约束的分类

  在SQLServer中,有3种不相同品类的自律。

  1、实体约束

    实体约束是关于行的,比方某一行出现的值就分裂意出现在任何行,举例主键。

  2、域约束

    域约束是关于列的,对于持有行,某一列有那一个约束,举例CHECK约束。

  3、参照完整性约束

    借使某列的值必须与任何列的值非常,那就代表须求多个参照完整性约束,举个例子外键。

SQLServer约束介绍。自律定义

对此数据库来讲,基本表的完整性约束分为列级约束标准和表级约束标准:

列级约束标准

       列级约束原则是对某一个特定列的封锁,满含在列定义中,能够一贯跟在该列的任何概念之后,用空格分隔,不用钦命列名。

表级约束规范

       表级约束原则与列定义相互独立,不包涵在列定义中,平时用于对八个或五个以上的列一同开始展览封锁。

动用SSMS数据库管理工科具增添外键约束

本示例演示当表结构已存在时加多外键约束,创造表时加上外国国语大学键约束步骤和表结构存在时增添外键步骤同样。示例演示如下:

1、连接数据库,展开要增添外键的多少表-》右键点击-》采用设计。

图片 1

2、在表设计窗口-》选用要增加外键的数目行-》右键点击-》接纳涉及。

图片 2

3、在外键关系窗口中-》点击增添。

图片 3

4、增加达成后-》首先修改表和列标准。

图片 4

5、在表和列窗口中-》输入外键名-》在侧边选用主表和关系的列-》在右臂选用从表和当作外键的列-》点击明确。

图片 5

6、在外键关系窗口中-》可选用丰硕恐怕不加多外键描述-》可挑选丰富或许不增加修改也许去除数据时级联操作-》可采用丰裕也许不添抓牢制外键约束-》可挑选丰硕恐怕不添抓牢制用于复制-》点击关闭。

图片 6

7、点击保存开关(ctrl s)-》此时表会弹出警告窗口,点击是-》刷新查看外键是不是丰富成功。

图片 7

图片 8

采用SSMS数据库处理工科具加多主键约束

二、约束命名

  在攻读约束此前,首先来明白下为束缚命名需求留神哪些地点。

  SQLServer在大家不提供名称时,会活动创设名称,可是由系统活动创建的名号而不是特意有用。

  比方,系统生成的主键名称大概是这么的:PK_Employees_145C0A3F。 

  PK代表主键(primary key),Employees代表在Employees表中,而剩下的“145C0A3F”部分是为了确定保证独一性而任性生成的值。唯有通过脚本成立才会赢得这种值,即使是经过Managerment Studio创制表,那么就径直是PK_Employees。

  对于系统自动生成的Check约束名称如:CK_Customers_22AA2996。CK代表那是一个Check约束,Customers代表是在Customers表中,后边的22AA2996照旧一个随机数。假使多个表中有八个Check约束,则命名可能如下:

  CK_Customers_22AA2996

  CK_Customers_25869641

  CK_Customers_267ABA7A

  尽管你要求修改那么些约束个中的三个,那么您很难辨识那一个约束到底是哪二个。

  因而,为了能够一眼看上去就明白那几个约束是用来干什么的,大家应有采取一种老妪能解的短语来实行命名。

  举例要力保某一列电话号码格式精确的封锁,我们能够应用命名CK_Customers_PhoneNo这样的短语来定名。

  可想而知命名要形成以下几点:

  1、一致性

  2、简单明了

  3、知足上述五个尺码的事态下简化名称。

封锁介绍

在数据库管理类别中,保证数据库中的数据完整性是非常首要的。所谓数据完整性,就是指存款和储蓄在数据库中多少的一致性和科学。约束定义关于列中允许值的条条框框,是威逼完整性的正规编写制定。使用约束优先于选用触发器、准则和默许值。查询优化器也应用约束定义生成高质量的查询实行安插。

数据完整性分类

在SQL Server中,依据数量完整新章程所效劳的数据库对象和限量不一,能够将数据完整性分为以下两种:

实体完整性

实体完整性简单来讲,就是将表中的每一行看作三个实体。实体完整性供给表的标记符列或主键的完整性。能够透过树立唯一索引、P牧马人IMA奥迪Q5Y KEY约束、UNIQUE约束,以及列的IDENTITY属性来实行实体完整性。

域完整性

域完整性是指给定列的输入有效性。供给表中钦定列的数量有所精确的数据类型、格式和实用的数目范围。强制域有效性的措施有:限制类型(通过数据类型)、格式(通过 CHECK 约束和法则)或大概值的限制。域完整性通过 FOREIGN KEY 约束、CHECK 约束、DEFAULT 定义、NOT NULL 定义和规则来贯彻。

援用完整性

援引完整性又称参照完整性。引用完整性维持被参照表和参照表之间的数目一致性,它通过主键(P酷威IMACR-VY KEY)约束和外键(FOREIGN KEY)约束来促成。引用完整性确认保障键值在享有表中一致。那样的一致性须要不可能援引子虚乌有的值,要是键值改换了,那么在全路数据库中,对该键值的具备援引要实行同样的更改。在被参照表中,当其主键值被别的表所参照时,该行不能够被去除也分歧意改变。在参照他事他说加以考察表中,不允许参照不设有的主键值。

运用T-SQL脚本增添外键约束

采纳SSMS数据库管理工具增添一列作为三个主键约束

1、连接数据库,选用数据表-》右键点击,采用设计。

图片 9

2、在新窗口中,采取一行,右键点击-》选择设置主键-》点击保存开关(或然ctrl s)。

图片 10

3、刷新表查看示例结果。

图片 11

 

三、键约束

封锁分类

SQLServer中有二种约束类型,分别是 PEnclaveIMAWranglerY KEY约束、FOREIGN KEY约束、UNIQUE约束、DEFAULT约束、和CHECK约束。查看或然创制约束都要采纳到 Microsoft SQL Server Managment Studio。

编辑:mg 本文来源:SQLServer约束介绍

关键词: SQLSERVER