系统架构设计师教程 第18章 18.6 数据库系统的安全设计 笔记

18.6 数据库系统的安全设计

从数据库管理系统的 角度而言,要采取的安全策略一般为用户管理、存取控制、数据加密、审计跟踪和攻击检测。

18.6.1 数据库安全设计的评估标准

可信计算机系统评估标准 (Trusted Computer System Evaluation Criteria,TCSEC) 桔皮书 (简称为DoD85)

可信计算机评估标准关于可信数据库管理系统的解释 (Trusted Database Interpretation,TDI)

18.6.2 数据库的完整性设计

数据库完整性是指数据库中数据的正确性和相容性。

数据库完整性由各种各样的完整性约束来保证,

1.数据库完整性设计原则

在实施数据库完整性设计时,基本原则:

(1)根据数据库完整性约束的类型确定其实现的系统层次和方式,并提前考虑对系统性能 的影响。

(2)实体完整性约束、引用完整性约束,在不影响系统 关键性能的前提下需尽量应用。

(3)慎用触发器功能

(4)在需求分析阶段就必须制定完整性约束的命名规范

(5)要根据业务规则对数据库完整性进行细致的测试

(6)要有专职的数据库设计小组,负载数据库相关工作

(7)应采用合适的CASE工具来降低数据库设计各阶段的工作量

2.数据库完整性的作用

(1)数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不合语义的数据。

(2)利用基于DBMS 的完整性控制机制来实现业务规则,易于定义,容易理解,可以降低应用程序的复杂性,提高应用程序的运行效率。

(3)合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效能

(4)在应用软件的功能测试中,完善的数据库完整性有助于尽早发现应用软件的错误。

(5)数据库完整性约束可分为6类:列级静态约束、元组级静态约束、关系级静态约束、 列级动态约束、元组级动态约束和关系级动态约束。

动态约束通常由应用软件来实现。

3.数据库完整性设计示例

1)需求分析阶段

确定作为数据库完整性的业务规则

2)概念结构设计阶段

实体关系将转化为实体完整性约束和引用完整性约束

3)逻辑结构设计阶段

依据 DBMS提供的完整性约束机制,逐条选择合适的方式加以实现

相关推荐
银发控、1 天前
MySQL联合索引
数据库·mysql
予枫的编程笔记1 天前
【MySQL修炼篇】从踩坑到精通:事务隔离级别的3大异常(脏读/幻读/不可重复读)解决方案
数据库·mysql·后端开发·数据库事务·事务隔离级别·rr级别·脏读幻读不可重复读
花火Neko`1 天前
openwrt防火墙安全配置
网络·安全·智能路由器·istoreos
成茂峰1 天前
软考高级·系统架构设计师 | 一、绪论
架构·系统架构·软考高级·系统架构设计师
云蝠呼叫大模型联络中心1 天前
深度解析|云蝠智能大模型呼叫系统架构:神鹤双擎 + 暴风引擎,低延迟高并发解锁呼叫中心降本增效新路径
系统架构·tts·asr·外呼系统·ai外呼·大模型呼叫·voiceagent
珠海西格电力科技1 天前
微电网系统架构设计:并网/孤岛双模式运行与控制策略
网络·人工智能·物联网·系统架构·云计算·智慧城市
FreeBuf_1 天前
AI扩大攻击面,大国博弈引发安全新挑战
人工智能·安全·chatgpt
AZ996ZA1 天前
自学linux第十八天:【Linux运维实战】系统性能优化与安全加固精要
linux·运维·安全·性能优化
一起养小猫1 天前
Flutter for OpenHarmony 实战:记账应用数据统计与可视化
开发语言·jvm·数据库·flutter·信息可视化·harmonyos
世界尽头与你1 天前
(修复方案)CVE-2023-22047: Oracle PeopleSoft Enterprise PeopleTools 未授权访问漏洞
数据库·安全·oracle·渗透测试