数据库的完整性:

数据的正确性
是指数据是符合现实世界语义,反映了当前实际状况的
学生的学号必须唯一
性别只能是男或女
成绩的取值范围为0~100
数据的相容性
是指数据库同一对象在不同关系表中的数据是符合逻辑的
学生所选的课程必须是学校开设的课程
学生所在的院系必须是学校已成立的院系
数据的完整性和安全性是两个不同概念:
数据的完整性
防止数据库中存在不正确的数据
防范对象:不正确的数据
完整性是阻止合法用户通过合法操作向数据库中加入不正确的数据
数据的安全性
保护数据库防止恶意的破坏和非法的存取
防范对象:非法用户和非法操作
安全性防范的是非法用户和非法操作存取数据库中的正确数据
为维护数据库的完整性,数据库管理系统必须:

  • 提供定义完整性约束条件的机制

也称为完整性规则,是数据库中的数据必须满足的语义约束条件
完整性包括关系模型的实体完整性、参照完整性和用户定义完整性
这些完整性一般由SQL的数据定义语言语句来实现

  • 提供完整性检查机制

检查数据是否满足完整性约束条件的机制称为完整性检查
一般在INSERT、UPDATE、DELETE语句执行后开始检查,也可以在事务提交时检查

  • 违约处理

数据库管理系统若发现用户的操作违背了完整性约束条件,就采取一定的动作
拒绝执行该操作(NO ACTION)
级连执行其他操作(CASCADE)
由DBMS进行完整性检查的好处:

不必由应用程序来完成,从而减轻了应用程序员的负担
能够为所有的用户和应用提供一致的数据库完整性,避免出现漏洞

5.1 实体完整性

5.1.1 实体完整性定义
单属性构成的码可以定义为列级或表级
多个属性构成的码只能定义为表级
Ex:将Student表中的Sno属性定义为码(单属性)
(1) 在列级定义主码

CREATE TABLE Student(Sno CHAR(9) PRIMARY KEY, /*列级定义主码*/Sname CHAR(20) NOT NULL,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20)
);

(2) 在表级定义主码

CREATE TABLE Student( Sno CHAR(9),Sname CHAR(20) NOT NULL,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20),PRIMARY KEY (Sno) /*表级定义主码*/
);

将SC表中的Sno,Cno属性组定义为码(多属性)

CREATE TABLE SC( Sno CHAR(9) NOT NULL,Cno CHAR(4) NOT NULL,Grade SMALLINT,PRIMARY KEY (Sno, Cno) /*只能在表级定义主码*/
);

5.1.2 实体完整性检查和违约处理
插入或对主码列进行更新操作,DBMS会按照实体完整性规则自动进行检查

检查主码值是否唯一,如果不唯一则拒绝插入或修改
检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改
检查记录中主码值是否唯一的一种方法是进行全表扫描

依次判断表中每一条记录的主码值与将插入记录上的主码值(或者修改的新主码值)是否相同
数据库的安全级别分为7级, A.B.C.D四类.

其间安全性: A>B>C>D类. (A:验证;

                                                                         B:强制控制;C:自主控制;D:一般讲没有什么能力。)

目前用的DBS,一般都是C级,其中含有一部分的B级。

其中C又分为c1, c2, 两种。 c2是 目前一般使用的安全级别。

   B分为B1,B2,B3三种。   B1,B2一般是商用系统Oracle使用,B3是研究级别。

参照完整性

也称为引用完整性
• 现实世界中的实体之间往往存在着某种联系,在关系模型中,实体以及实体之间的联系都是用关系来表示的,这样就自然存在着关系与关系之间的引用
• 参照完整性就是描述实体之间的联系的
• 参照完整性一般是指多个实体或关系之间的关联关系

此完整性涉及到了外键:
• 参照完整性规则就是定义外键与被参照的主键之间的引用规则
• 外键一般应符合如下要求:
– 或者值为空
– 或者等于其所参照的关系中的某个元组的主键值

数据库安全性和完整性相关推荐

  1. 数据库期末总结笔记( 零基础 )--数据库安全性与完整性-范式-E-R图

    第四章 数据库安全性与完整性 1.三大完整性约束 基本概念: (1)候选码:一个或一组属性能唯一的标识一个元组,而其子集不能 例:Student表中的学号sno (2)主码:若有多个候选码,则选其中一 ...

  2. 数据库安全性和完整性考虑_您是否考虑过云安全性?

    数据库安全性和完整性考虑 云安全:简介 (Cloud Security: Introduction) The cloud, everyone's racing to be there, the blo ...

  3. 数据库安全性与完整性

    实验一~~四,于https://blog.csdn.net/weixin_44318248/category_8883986.html 实验五:数据库安全性与完整性 实验内容与完成情况(记录所有的实验 ...

  4. mysql练习-数据库安全性与完整性

    主要为触发器和存储过程 1 创建SQL触发器:删除学生数据,将删除的数据备份到数据表student_bf,以备误删除时进行数据恢复. 1)student(学生表): SNO学号CHAR(7) SNAM ...

  5. 数据库安全性 完整性

    01.安全性 专有名词解释 1.数据库管理员:拥有所有对象的所有权限,根据实际情况不同的权限授予不同的用户 2.用户:拥有自己建立的对象的全部的操作权限,可以使用GRANT,把权限授予其他用户 3.角 ...

  6. 【Sofice小司笔记】1 关系数据库基础,包含关系数据库设计,索引,事务,安全性,完整性,查询处理优化等

    数据库管理系统 DataBase Management System / DBMS DBMS 是位于用户和操作系统之间的一层数据管理软件.数据库管理系统和操作系统一样是计算机的基础软件,也是一个大型复 ...

  7. 【数据库系统】第一部分 数据库基础(4) 数据库安全性

    本文属于「数据库系统」系列文章之一,这一系列着重于「数据库系统知识的学习与实践」.由于文章内容随时可能发生更新变动,欢迎关注和收藏数据库系统系列文章汇总目录一文以作备忘.需要特别说明的是,为了透彻理解 ...

  8. MySQL系列4—数据库安全性

    文章目录 1. 数据库安全性 1.1 数据库安全性概述 1.2 数据库安全性控制 1.2.1 用户身份鉴别 1.2.2 存取控制 1.2.3 审计 1.2.4 视图 1.2.5 数据加密 2. 数据控 ...

  9. 数据库原理之数据库安全性(详细知识点)

    数据库的安全性 数据库的安全性 1.1 安全性概述 1.1.1 数据库的不安全因素 1.1.2 安全标准 1.2 数据库安全性控制 1.2.1 存取控制流程 1.2.2 用户身份鉴别 1.2.3 存取 ...

最新文章

  1. 【bzoj2081】[Poi2010]Beads Hash
  2. 创建ACFS集群文件系统(命令方式)
  3. 多线程高并发 底层锁机制与优化的最佳实践——各种锁的分类 || synchronized 关键字 倒底锁的是什么东西?|| CAS与ABA问题||锁优化||轻量级锁一定比重量级锁的性能高吗
  4. Android监听程序自身被卸载
  5. 全球与中国机器人即服务市场领航调研与投资战略规划分析报告2022-2028年
  6. 10gocm-gt;session3-gt;数据备份与恢复
  7. 云计算平台2017年盘点——真正成为新技术新应用的基础架构
  8. 国家中长期教育改革和发展规划纲要(2010-2020年)
  9. java自定义异常和throw、throws的使用
  10. chroot环境的快速构建
  11. 中国营养与健康调查(CHNS)2018年最新数据
  12. java实现扫雷小游戏【完整版】
  13. YUV420 总结 (YU12、YV12、NV12 和 NV21)
  14. ubuntu 安装chrome并禁止提示更新
  15. jupyter notebook 恢复删除代码块
  16. 老板电器携手华为HarmonyOS创新升级中国厨房新理念
  17. R语言实现RMF模型
  18. 洛谷P3426 [POI2005]SZA-Template 题解
  19. 网页尾部footer编写--小技巧
  20. Android的消息循环机制:Handler

热门文章

  1. tab页:ng-zorro-antd使用后台分页,获取数据、渲染数据
  2. 苹果收购固件安全企业LegbaCore
  3. linux下端口镜像,Linux如何实现镜像端口
  4. 解决activiti6一直调用查询sql问题
  5. 计算机毕业优秀作品展观后感,作业展览优秀观后感
  6. JAVA微信扫码登录
  7. Day1小白做毕设(跟着青哥学java哔哩哔哩搜程序员青戈)
  8. 不论你技术多牛逼,30岁左右,这3件事越早做越好!
  9. 川大电子信息学院c语言复试,电子信息学院微机原理学姐经验分享给大家
  10. 吴恩达机器学习--多类别分类:一对多