news 2026/4/19 17:41:29

数据库安全性与完整性 - 软考备战(三十三)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据库安全性与完整性 - 软考备战(三十三)

数据库系统(五)

参考资料:

数据库安全性与完整性

数据库完整性.pdf

数据库安全性与完整性核心考点纵向拆解:知识体系与实战应用梳理-51CTO软考-软考在线教育培训

5.5 数据库安全性与完整性

1. 完整性

核心目标:防止不合语义的“脏数据”进入数据库.

完整性是 DBMS 主动把关,保证数据对现实世界的语义是正确的。

实体完整性(针对主码 Primary Key)

规则:主码不能取空值(NULL),且不能有重复值。

违约处理:如果插入或修改导致主码为空或重复,DBMS 直接拒绝执行。

参照完整性(针对外码 Foreign Key)

规则:

外码的值要么全是空值(表示尚未分配或无关联),要么必须是另一个关系主码的有效值。

违约场景与处理策略:

当对被引用表(父表)进行操作,可能破坏参照完整性时,DBMS 提供了以下处理方式供设计者选择:

拒绝执行(NO ACTION / RESTRICT)

最严格,直接报错,不许删/改。

级联操作(CASCADE)

父表删了/改了,子表里对应的外码行自动跟着删/改。(如:删除部门,该部门所有员工自动删除)。

设为空值(SET NULL)

父表删了/改了,子表里对应的外码值自动变成 NULL。(前提:该外码列允许为空)。

注意:

如果是子表(引用表)自己乱插入一个不存在的外码值,DBMS 没二话,直接拒绝执行,没有级联一说。

用户定义完整性(针对普通列 Check / Not Null / Unique)

规则:如 CHECK (年龄 BETWEEN 15 AND 30),NOT NULL。

违约处理:不符合条件,拒绝执行。

触发器
本质

一种特殊的存储过程,不能被手动调用,只能由事件自动触发。

触发事件与时机

事件:INSERT、UPDATE、DELETE。

时机:BEFORE(在操作执行前触发,常用于数据预处理或复杂校验)、AFTER(在操作执行后触发,常用于级联修改或记录日志)。

为什么需要触发器?

前面的 Check 约束只能限制“本行、当前列”的静态数据。

如果要实现“修改员工工资时,不能超过其历史最高工资”(需要查历史表),CHECK 做不到,必须用触发器。

2. 安全性

核心目标

防止非法用户访问或越权操作数据库。

安全性是层层设防的体系,从外到内越来越底层。

第一层:用户标识与鉴别(进门查验身份)

最外层防线。

通过用户名/密码、指纹、动态口令卡确认“你是谁”。

第二层:存取控制(进门后看菜单,决定你能干啥)
自主存取控制(DAC)

最常用。

用户对 自己创建的表/对象 拥有“全权”,可以自己决定把权限发给谁。

(这就是关系数据库标准语言(SQL)- 软考备战(三十一)-CSDN博客GRANT 和 REVOKE)。

强制存取控制(MAC)

用于极高安全级别的系统(如军方、银行核心库)。

机制:

给每个用户发一个“许可证级别”(如绝密、机密、秘密),给每个数据标一个“密级”。

规则只有两条:

用户只能“读”密级小于等于自己许可证的数据。(不能看高于自己级别的)

用户只能“写”密级大于等于自己许可证的数据。(防止高密级用户把高密数据写到低密级文档里泄密)

第三层:视图机制(物理隔离,防偷窥)

通过建立视图,把底层的基表隐藏起来。

应用:

把没有权限的列屏蔽掉(如给财务看不含基本工资的视图),或者把跨部门的数据过滤掉。

视图让用户“看不到”他不该看的东西。

第四层:审计—— 专抓内鬼

当前面三道防线被突破(比如合法用户恶意删库),审计是最后的追责手段。

机制:

DBMS 专门开一个“审计日志表”,记录谁、在什么时间、在哪个终端、对什么对象、执行了什么SQL、成功还是失败。

代价:

极其耗费磁盘空间和时间,通常只对敏感操作(如修改金额、删除数据)开启审计。

第五层:数据加密(物理层兜底)

即使黑客直接把硬盘偷走,或者绕过了 DBMS 直接读取物理文件,看到的也是乱码。

分为:

存储加密(磁盘上的文件加密)、传输加密(网线里跑的数据加密,如 SSL/TLS)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 17:41:15

org.openpnp.vision.pipeline.stages.ThresholdAdaptive

文章目录org.openpnp.vision.pipeline.stages.ThresholdAdaptive功能参数例子效果ENDorg.openpnp.vision.pipeline.stages.ThresholdAdaptive 功能 ThresholdAdaptive 是 OpenPnP 视觉管道中的一个自适应阈值二值化阶段,用于处理光照不均的图像。与固定阈值 Thres…

作者头像 李华
网站建设 2026/4/19 17:37:26

ncmdump:免费快速解锁网易云音乐加密文件的终极解决方案

ncmdump:免费快速解锁网易云音乐加密文件的终极解决方案 【免费下载链接】ncmdump 转换网易云音乐 ncm 到 mp3 / flac. Convert Netease Cloud Music ncm files to mp3/flac files. 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdump 还在为网易云音乐下…

作者头像 李华
网站建设 2026/4/19 17:36:59

AAAI 2026 AI 评审试点:效率成本双优,人类评审会被取代吗?

AI 评审论文:接受度逐步提升 不同的人对 AI 评审论文是否靠谱有不同答案,但人们对 AI 评审的接受度正慢慢提升,一些顶级会议在巨大论文投稿量压力下开始推进此事。例如,ICML 2026 放宽了 AI 评审要求,不过还不允许完全…

作者头像 李华
网站建设 2026/4/19 17:36:57

5分钟掌握WebPlotDigitizer:从图表图像智能提取数据的神器

5分钟掌握WebPlotDigitizer:从图表图像智能提取数据的神器 【免费下载链接】WebPlotDigitizer Computer vision assisted tool to extract numerical data from plot images. 项目地址: https://gitcode.com/gh_mirrors/we/WebPlotDigitizer 还在为从科研论文…

作者头像 李华