当前位置: 首页 > news >正文

数据库的安全与保护

一、数据库的安全性

1、安全性

数据库的安全性是指保护数据库,防止不合法的 使用,以免数据的泄漏、更改和破坏。 对数据库的不合法使用,称为数据库的滥用。

数据库的滥用

        无意的滥用

                ➢ 事务处理时发生系统故障

                ➢ 并发访问数据库时引起异常

                ➢ 数据的分布式处理引起异常

                ➢ 违反数据完整性约束的逻辑错误

        恶意的滥用

                ➢ 未经授权的读数据(窃取信息)

                 ➢ 未经授权的修改数据(破坏信息)

数据库的安全性是指尽可能 避免对数据库恶意的滥用

2、SQL中的安全机制

视图

视图是取自数据库一部分内容建立起来的表,但视图 仅是一个定义,并不实际存储在数据库中。 视图机制使系统具有三个优点:

数据安全性

数据独立性

操作简便性

用户(或应用程序)使用数据库的方式称为“权限”。

访问数据权限种类:

➢ 读权限:允许用户读数据,但不能修改数据。

➢ 插入权限:允许用户插入新的数据,但不能修改数据。

➢ 修改权限:允许用户修改数据,但不能删除数据。

➢ 删除权限:允许用户删除数据。

系统可以授给用户上述权限种的一个或多个,也可 以不授予上述任何一个权限。

用户权限

授权语句:

GRANT ON TO [WITH GRANT OPTION]

如:GRANT UPDATE ON S TO LOU WITH GRANT OPTION

GRANT INSERT(S#,C#) ON SC TO LOU

回收语句:

REVOKE ON FROM [RESTRICT|CASCADE]

CASCADE:回收权限时引起连锁回收,即把该用户转授的权限 同时收回。

RESTRICT:只有当不存在连锁回收现象时才能回收权限。

如:REVOKE SELECT, UPDATE ON S FROM WANG CASCADE

3、数据加密

用密码存储口令和数据;

数据传输采用密码传输。

4、自然环境的安全性 如火灾 水灾 地震 灰尘

二、数据库的完整性

在数据库投入运行后,应该保持数据库中的数据是正确的, 避免非法的更新。

非法更新包括:

输入本身错误数据

操作或程序错误

系统故障

并发事务错误

人为故意破坏

1、完整性子系统

数据库的完整性是指数据库中数据始终保持正确状态,防 止不符合语义的错误数据的输入和输出。

➢实体完整性 ➢引用(参照)完整性 ➢用户自定义完整性。

完整性子系统主要功能:

➢ 监督事务的执行,并测试是否违反完整性;

➢ 若有违反现象,则采取恰当的动作,譬如拒绝、 报告违反情况、改正错误等。

我们介绍SQL中的:

➢ 主键约束

主键约束是数据库中最重要的一种约束,在关系 中,主键值不允许为空,也不允许重复出现。

主键子句: 

CREATE TABLE S

(S# CHAR(4) NOT NULL,

SNAME CHAR(8) NOT NULL,

AGE SMALLINT,

SEX CHAR(2),

PRIMARY KEY (S#))

主键短语:

 CREATE TABLE S

(S# CHAR(4) PRIMARY KEY,

SNAME CHAR(8) NOT NULL,

AGE SMALLINT,

SEX CHAR(2))

➢ 外键约束

CREATE TABLE SC

(S# CHAR(4) NOT NULL,

C# CHAR(4) NOT NULL,

GRADE SMALLINT,

PRIMARY KEY (S#,C#),

FOREIGN KEY (S#) REFERENCES S(S#),

FOREIGN KEY (C#) REFERENCES C(C#),

CHECK (GRADE IS NULL) OR (GRADE BETWEEN 0 AND 100))

作为主键的关系 -》作为外键的关系

基本关系 -》依赖关系

对基本关系的删除操作和修改主键值的操作,会 对依赖关系产生影响。

一般可采用三种方式:

➢ RESTRICT方式

只有当依赖关系中没有一个外键值与要删除(修 改)的基本关系中主键值相对应时,系统才能执行删 除(修改)操作,否则拒绝此删除(修改)操作。

➢ CASCADE方式

将依赖关系中所有外键值与基本关系中要删除 (修改)的主键值相对应的元组一起删除(修改)。

➢ SET NULL方式

删除基本关系元组(修改基本关系主键值)时, 将依赖关系中所有与基本关系中被删除(修改)主键 值相对应的外键值置为空值。

➢ 属性值约束

        ➢ 非空值约束

如果要求某个属性的值不允许为空值,可在属性定 义后加上关键字“NOT NULL” 。

CREATE TABLE S

(S# CHAR(4) NOT NULL,

SNAME CHAR(8) NOT NULL,

……)

        ➢ 基于属性的检查子句(CHECK子句)

对一个属性的值加以限制。

CREATE TABLE SC

(……,

GRADE SMALLINT,

……,

CHECK (GRADE IS NULL) OR (GRADE BETWEEN 0 AND 100))

➢ 全局约束

三、事务

四、数据库的并发控制

五、数据库的恢复

http://www.dtcms.com/a/532721.html

相关文章:

  • 网站不同wordpress加分页
  • FFmpeg 基本数据结构 AVCodecContext分析
  • (全闭环)FUNC_FullCloseLoop
  • 出口外贸网站建设铜川网站建设哪家好
  • Gorm(五)钩子实践
  • 我怎么才能找到免费的VR场景以及用于虚拟人的舞蹈动作?
  • 九江企业网站制作苏州园区建设网站首页
  • 怎么将很多ppt批量转换成pptx?图文操作指南
  • 阜宁做网站哪家公司最好wordpress仿论坛主题
  • Perplexity Comet: AI 浏览器免费使用GPT5、Claude4、Gemini2.5Pro
  • Git的原理与使用 -- 基础操作
  • python自动化004:api(接口)最基础的框架
  • 家具行业网站整站模板网站开发公司方案
  • wordpress网站多语言南昌关键词优化平台
  • c#接口请求报错
  • Linux小课堂: 网络接口与连接监控命令详解
  • 做网站九州科技汕头网站建设浩森宇特
  • GitHub等平台形成的开源文化正在重塑可以调
  • 流批了,pdf批量转excel
  • GitHub等平台形成的开源文化正在重塑家庭日快
  • 怎么在搜索引擎做网站登记metropro wordpress
  • Appium 手机自动化控制教程
  • 节流(throttle) 是一种优化高频触发事件的技术
  • 免费空间域名可以做淘宝客网站推广吗优秀网站开发公司
  • 决策树(ID3、C4.5与CART)——从信息增益、信息增益率到基尼系数
  • 图神经网络在观点动力学中的应用
  • SQL学习之常用的数据库命令和基础查询
  • 做爰网站1000部扬中营销网站建设
  • 优化网页性能指标:提升用户体验的关键
  • 淮北矿业工程建设公司网站wordpress如何做拼团