《数据库与安全》学习笔记
- 数据处理的中心问题是数据管理。
- 数据管理是指对数据的分类、组织、编码、存储、检索和维护。
- 随着计算机硬件和软件的发展,数据管理经历了人工管理、文件系统和数据库系统三个发展阶段。
- DBMS提供数据定义语言DDL(Data Define Language),定义表的结构、视图、触发器、索引等,定义有关的约束条件。
- DBMS提供数据操纵语言DML(Data Manipulation Language),实现对数据库的基本操作,包括检索、更新(插入、修改、删除)等。
- DBMS在操作系统(OS)的支持下工作,
- 应用程序在DBMS支持下才能使用数据库。
E-R图:
- 层次模型用一棵“有向树”的数据结构来表示各类实体以及实体间的联系。
- 层次模型表示多对多联系,必须首先将其分解成一对多联系。分解方法有两种:冗余结点法和虚拟结点法。
- 网状模型
- 允许一个以上的节点没有双亲。
- 一个节点可以有多于一个双亲节点。
- 数据模式通常分为三级:外模式、模式和内模式,它们分别反映了看待数据库的三个角度。
数据库安全的目标:
数据库的安全性
数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。
防范对象是非法用户的非法操作
数据库完整性
防止错误信息的输入和输出所造成的无效操作和错误结果,保证数据的正确性、一致性和相容性。
防范对象是合法用户的非法操作
数据库的保密性
数据保密是指用户合法地访问到机密数据
后,不泄露给未经授权的个人和实体。
数据库的可用性
数据库的可用性是指不应拒绝授权用户对数
据库的正常操作,同时保证系统的运行效率
并提供用户友好的人机交互。
- 主属性与非码属性
- 主属性:包含在候选码中的的各属性称为主属性。
- 非码属性:不包含在任何候选码中的属性称为非码属性。
- 主属性和非主属性相排斥、互补。
- 关系模型中三类完整性约束:
实体完整性
参照完整性
用户定义的完整性
- 字符串匹配(模糊查询)
% (百分号) 代表任意长度(长度可以为0)的字符串
例:a%b表示以a开头,以b结尾的任意长度的字符串。如acb,addgb,ab 等都满足该匹配串
_ (下横线) 代表任意单个字符
例:a_b表示以a开头,以b结尾的长度为3的任意字符串。如acb,afb等都满足该匹配串
- 级联删除(修改)
解决两种方法:
第一种,也是最直接的,在删除t_food的数据行之前,先将其所对应的t_book中的数据行删除。
第二种,在建立数据库时,设置主外键on delete cascade。这样,在删除主键对应数据时,外键对应的数据也会被删除。
修改类似,建立数据库时,设置主外键on update cascade
- 系统安全基本原则
隔离原则
最小特权原则
纵深防御原则
用户输入不信任原则
关卡检察原则
失效保护原则
最弱连接安全化原则
建立默认原则
减少攻击面原则
- 数据库的安全性
数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。
防范对象是非法用户的非法操作
- 三级协议的主要区别
- 可串行性是并行事务正确性的唯一准则
- 两段锁概念:事务对数据项的加锁和解锁分为两个阶段完成
- 获得封锁(扩展阶段):在此阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。
- 释放封锁(收缩阶段):在此阶段,事务可以释放任何数据项上的任何类型的锁,但是不能再申请任何锁。
- BIBA模型的基本思想是低完整性的信息不能向高完整性的实体流动。反之可以。即如果信息能从一个实体流向另一个实体时,必须满足前者的完整性等级和实体所属类别都支配后者。
- 支配关系定义如下:
给定两个安全等级I1=<C1,S1>, I2=<C2,S2>,称
1)I1支配I2成立,当且仅当C1≥C2且S1 S2。 记I1≥I2。
2)I1严格支配I2成立,当且仅当C1>C2且S1 S2。 记I1>I2。
对给定的两个安全等级I1,I2,如果I1≥I2和I2≥I1均不成立,则I1和I2是不可 比的。