数据库学习笔记

    xiaoxiao2021-08-23  103

    今天学习了一下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 来对约束进行命名,以方便对约束进行增加、删除和修改的操作。2.数据库的完整性和安全性有什么区别 数据的安全性:数据的安全性是指保护数据库,以防止不合法的使用数据以致造成数据库中数据的泄露,或者被非法更改和破坏。通过二者的定义可以知道,数据的完整性和数据的安全性所实现的功能目标是不同的。完整性所要保证的是数据的正确和相容,安全性主要就是安全了

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

    1.使用use语句来选中一个数据库例 use xskc GO2.使用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 使用时必须保证要删除的规则没有绑定到其他任何的字段,如果绑定了必须先取消绑定才能进行删除!

    转载请注明原文地址: https://ju.6miu.com/read-676963.html

    最新回复(0)