您的位置:首页 > 数据库

数据库学习笔记

2016-11-18 00:22 155 查看
今天学习了一下SQL Server数据库的完整性约束,知道了SQL Server主要有三种完整性的约束:
实体完整性

参照完整性

用户自定义完整性

其实关于SQL Server完整性的约束,下面的这篇博客已经讲得非常的清楚了,我这里只是简单地总结一下。

博客地址:
http://www.cnblogs.com/2007/archive/2007/08/24/868428.html


我今天主要想记录分为三个方面。一是为什么要有完整性的约束,二是数据库完整性和安全性有什么区别,第三就是一个关于SQL Server数据库如何去创建和删除规则的问题。

1.为什么要有数据库的完整性约束

关于为什么要有数据库的完整性,我们就先要弄清楚到底什么事数据库的完整性,按照百度百科的解释就是数据库完整性(Database Integrity)是指数据库中数据在逻辑上的一致性、正确性、有效性和相容性。所以我们明白数据库的完整性就是为了保证数据在逻辑上的一致性、正确性、有效性和相容性。那么如何来保证数据在逻辑上的这些特性呢。这就用到了我们上面所说的三种完整性的约束。这里简单地总结下:

实体完整性:实体完整性主要用到的其实就是一个primary key 的主键约束,可以定义在表级也可以定义在列级。然后还有一个就是唯一约束,使用UNIQUE来进行定义。至于primary key 和 UNIQUE的区别就不多写了,网上有特别的多的资料进行了总结。可以自行去百度一下。

参照完整性:参照完整性我目前实际用到的就是外键约束了,使用REFERENCES关键字来定义。

用户自定义的完整性主要就是check约束,CONSTRAINT 来对约束进行命名,以方便对约束进行增加、删除和修改的操作。
4000

2.数据库的完整性和安全性有什么区别

数据的安全性:数据的安全性是指保护数据库,以防止不合法的使用数据以致造成数据库中数据的泄露,或者被非法更改和破坏。通过二者的定义可以知道,数据的完整性和数据的安全性所实现的功能目标是不同的。完整性所要保证的是数据的正确和相容,安全性主要就是安全了

3.关于SQL Server数据库如何去创建和删除规则

1.使用use语句来选中一个数据库例

use xskc

GO


2.使用create rule来创建规则例

create rule stusex_rule @性别 in('男','女')

GO


该规则是保证输入的性别值只能是男或女。

3.使用EXEC sp_bindrule来将规则绑定到相应的字段例

EXEC sp_bindrule 'stusex_rule','学生.性别'

GO


该语句的作用是将stusex_rule这个规则绑定到学生表中性别这个字段。

绑定后再对性别字段进行更改添加时,输入的值不是男或者女都会显示操作失败。

4.使用EXEC sp_unbindrule来解除绑定例

EXEC sp_unbindrule 'stusex_rule'

GO


该语句表示取消了stusex_rule的绑定

5.使用drop rule来删除规则例

drop rule stusex_rule

GO


表示删除了规则名为stusex_rule的规则

注:drop rule 使用时必须保证要删除的规则没有绑定到其他任何的字段,如果绑定了必须先取消绑定才能进行删除!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: