数据库学习笔记

今天学习了一下SQL Server数据库的完整性约束,知道了SQL Server主要有三种完整性的约束:

  1. 实体完整性
    参照完整性
    用户自定义完整性

其实关于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
      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 使用时必须保证要删除的规则没有绑定到其他任何的字段,如果绑定了必须先取消绑定才能进行删除!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值