数据库原理与安全复习笔记

铁佛  金牌会员 | 2024-9-18 06:05:02 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 663|帖子 663|积分 1989

1 概念



  • 产生与发展:人工管理阶段                                         →                                  \to                     → 文件系统阶段                                         →                                  \to                     → 数据库系统阶段。

    • 数据库系统特点:数据的管理者(DBMS);数据结构化;数据共享性高,冗余度低,易于扩充;数据独立性高。
    • DBMS 对数据的控制功能:数据的安全性保护;数据的完整性检查;并发控制;数据库恢复。

  • 数据库技术研究领域:数据库管理系统软件的研发;数据库设计;数据库理论。
  • 数据模型要素

    • 数据结构:描述数据库的组成对象及对象之间的联系。
    • 数据操作:堆数据库中对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。
    • 数据的束缚条件:一组完整性规则。

  • 概念模型

    • 实体:客观存在并可相互区别的事物。
    • 属性:实体所具有的某一特性。
    • 码:唯一标识实体的属性集。
    • 实体型:用实体名及其属性名集合来抽象和描画同类实体。
    • 实体集:同一类型实体的集合。
    • 联系:实体型内部的联系,组成实体的各属性之间的联系;实体型之间的联系,差别实体集之间的联系。
    • 1:1:实体集 A 中每个实体在实体集 B 中至多有一个实体与之对应;反之亦然。
    • 1:n:实体集 A 中每个实体在实体集 B 中有 n 个实体与之对应;反之至多有一个。
    • n:m:实体集 A 中每个实体在实体集 B 中有 n 个实体与之对应;反之有 m 个。
    • E-R 图:矩形标识实体;椭圆表示属性;菱形表示实体间联系;连段连接。

  • 层次模型

    • 概念:有且只有一个结点没有双亲结点 - 根节点;每个结点表示一个记载类型,记载类型间联系为父子间一对多联系;倒立的树,结点的双亲唯一。
    • 优点:天然直观容易明白;数据结构简朴清晰;查询效率高;提供了精良的完整性支持。
    • 缺点:现实世界中许多联系非层次性;稳定处理惩罚需要具有多个双亲结点的结点;查询子女结点必须经过双亲结点;层次下令趋于步伐化。

  • 网状模型

    • 概念:允许一个以上的结点无双新,一个结点可以有多于一个双亲结点;有向图。
    • 优点:能能够更为直接地描述现实世界;拥有精良性能,存取效率高。
    • 缺点:结构复杂,不利于终极用户把握;数据定义和数据利用复杂,嵌入高级语言中不易利用;访问数据时必须选择符合的存取路径,加重编程负担。

  • 关系模型

    • 关系(标):对应一张表。
    • 元组(行):表中一行。
    • 属性(列):表中一列,每个属性有属性名。
    • 码(键):表中某个属性组,可以唯一确定一个元组。
    • 域(取值范围):具有类似数据类型的值的集合;属性取值范围来自某个域。
    • 分量(属性值):元组中的某个属性值。
    • 关系模式:                                                  R                                  (                                  U                                  ,                                  D                                  ,                                               D                                     O                                     M                                              ,                                  F                                  )                                          R(U,D,{\rm DOM},F)                           R(U,D,DOM,F);                                                  R                                          R                           R 关系名,                                                  U                                          U                           U 属性名集,                                                  D                                          D                           D 属性域,                                                  D                                  O                                  M                                          {\rm DOM}                           DOM 属性向域的映像集,                                                  F                                          F                           F 属性间数据的依赖关系集。
    • 根本关系(根本表):现实存储数据的逻辑表示;列是同质的,差别的列可以出自同一个域,列的顺序无所谓;任意两行不能完全类似,行的顺序无所谓;分量必须取原子值。
    • 查询表:查询效果对应的表。
    • 视图表:由根本表或其他视图导出的虚表,非现实存储的数据。
    • 数据利用:操作对象和操作结构都是关系;存储路径向用户隐蔽。
    • 优点:建立在严酷的数学概念基础上;概念单一,数据结构简朴清晰易懂;存取路径对用户透明,更高的数据独立性、更好的安全保密性、简化编程和开辟工作。
    • 缺点:存取路径对用户隐蔽;查询效率不如格式化数据库;为提高性能需堆用户查询哀求优化,增长开辟数据库管理系统难度。

  • 关系完整性

    • 候选码:能够唯一标识一个元组的最小属性组。
    • 主码:候选码中选择一个作为主码。
    • 主属性:候选码中的全部属性。
    • 非主属性(非码属性):不包罗在任何候选码中的属性。
    • 全码:关系模式的全部属性都是候选码。
    • 外码:关系的非码与参照/目标关系主码相对应。
    • 实体完整性:主属性不能为空值(NULL)。
    • 参照完整性:外码值必须为空值或参照关系的主码值。
    • 用户定义的完整性:详细数据必须满足的语义要求;如值唯一、非空值、取值范围等。

  • 数据库模式:三级模式;二级映像。

    • 模式:数据库逻辑结构和特性的描述;型的描述;反映数据的结构及联系;相对稳定。
    • 实例:模式的一个详细值;反映数据库某一时刻的状态;同个模式可以有多个实例;随数据库中的数据更新而变动。
    • 外模式(用户/子模式):数据库用户利用的局部数据的逻辑结构和特性的描述;数据库用户的数据视图,与某一应用有关的数据的逻辑表示;保证数据库安全性(用户只能能看到和访问对应外模式中的数据);保证数据独立性。
    • 模式:数据库中全体数据的逻辑结构和特性的描述;全部用户的公共数据视图;数据库的逻辑结构(数据项的名字、类型、取值范围);数据之间的联系;数据有关的安全性、完整性要求。
    • 内模式(存储模式):数据物理结构和存储方式的描述,数据在数据库内部的组织方式。
    • 外模式/模式映像:应用步伐依据外模式编写,模式改变时只需改变映像而无需修改应用步伐;保证了数据与步伐的逻辑独立性。
    • 模式/内模式映像:数据库存储结构改变时,只需改变映像而无需改变模式,从而无需修改应用步伐;保证了数据与步伐的物理独立性。

  • 外部体系结构(终极用户角度)

    • 单用户结构:应用步伐、DBMS、数据库在同一台机器上,由一个用户独占。
    • 主从式结构:应用步伐、DBMS、数据库都在主机上,终端仅作为 I/O 设备。
    • 分布式结构:数据物理上分布,逻辑上相关联。
    • 客户端/服务器结构:DBMS位于服务器上,应用步伐在客户端上。

  • 管理系统功能与组成

    • 数据定义:定义构成数据库结构的模式、存储模式、外模式、各模式间的映射及有关的束缚条件。
    • 数据利用;数据库运行管理;数据组织、存储、管理;数据库的建立和维护。


存取数据库数据时协同工作方面:应用步伐;DBMS;操作系统;硬件。


  • 数据库设计

    • 目标:结构(数据)设计 - 设计数据库框架或数据库;活动(处理惩罚)设计 - 设计应用步伐、事件处理惩罚。
    • 逻辑数据库:根绝用户要求和特定命据库管理系统的详细特点,以数据库设计理论为依据,设计数据库的全局逻辑结构和每个用户的局部逻辑结构。
    • 物理数据库:在逻辑结构确定后,设计数据库的存储结构及其他实现细节。
    • 步骤:需求分析                                                   →                                          \to                           → 概念模型设计                                                   →                                          \to                           → 逻辑结构设计                                                   →                                          \to                           → 物理结构设计                                                   →                                          \to                           → 数据库物理设计                                                   →                                          \to                           → 数据库实施                                                   →                                          \to                           → 数据库运行和维护。
    • 应用:用户;应用步伐员;DBA(数据库管理员);系统分析员;数据库设计人员。
      DBA:设计与定义数据库系统;资助终极用户利用数据库系统;监督与控制数据库系统的利用和运行;改进和重组数据库系统,调解优化数据库系统性能;转储与恢复数据库;重构数据库。

  • 非关系型数据库(NoSQL):旨在处理惩罚大规模、高并发的数据访问需求;不依赖于固定命据结构,接纳了键值对、文档、列族、图形等模型存储和查询数据。
  • 国产数据库举例:TiDB;openGuass;OceanBase;达梦;GuassDB;TDSQL;PolarDB;GBase;人大金仓;AnalyticDB;GoldenDB;SequoiaDB;TcaplusDB;EsgymDB。
2 安全



  • 盘算机系统的三类安全问题:实体;情况;信息。
  • 数据库安全

    • 非授权用户对数据库的恶意存取和破坏。
    • 数据库中重要或敏感的数据被泄漏。
    • 安全情况的脆弱性。

  • TCSES/TDI 安全品级划分:D - 最小保护;C1 - 自主安全保护;C2 - 受控的存取保护;B1 - 标记安全保护;B2 - 结构化保护;B3 - 安全域;A1 - 验证设计。
  • 规范化

    • 目的:判定好的模式的标准,逐步消除数据依赖中不符合的部分;不会发生插入、删除、更新非常同时淘汰数据冗余。
    • 函数依赖:                                                  R                                  (                                  U                                  )                                          R(U)                           R(U) 为属性集                                                   U                                          U                           U 上关系模式,                                                  X                                  ,                                  Y                                  ∈                                  U                                          X,Y\in U                           X,Y∈U,                                                  ∀                                  r                                  ∈                                  R                                  (                                  U                                  )                                          \forall r\in R(U)                           ∀r∈R(U),                                                  ∀                                  n                                  ,                                  m                                  ∈                                  R                                          \forall n,m\in R                           ∀n,m∈R,                                                  n                                  [                                  X                                  ]                                  =                                  m                                  [                                  X                                  ]                                    ⟹                                    n                                  [                                  Y                                  ]                                  =                                  m                                  [                                  Y                                  ]                                          n[X]=m[X]\implies n[Y]=m[Y]                           n[X]=m[X]⟹n[Y]=m[Y];则称                                                   Y                                          Y                           Y 依赖于                                                   X                                          X                           X 或                                                   X                                          X                           X 确定                                                   Y                                          Y                           Y,记                                                   X                                  →                                  Y                                          X\to Y                           X→Y。
    • 完全依赖:                                                  X                                  →                                  Y                                          X\to Y                           X→Y,但                                                   ∀                                               X                                     ′                                              ⊂                                  X                                          \forall X'\subset X                           ∀X′⊂X,                                                               X                                     ′                                              ↛                                  Y                                          X'\not\to Y                           X′→Y;记                                                   X                                               F                                     →                                              Y                                          X{F \atop \to} Y                           X→F​Y。
    • 部分依赖:                                                  X                                  →                                  Y                                          X\to Y                           X→Y,但                                                   ∃                                               X                                     ′                                              ⊂                                  X                                          \exists X'\subset X                           ∃X′⊂X,                                                               X                                     ′                                              →                                  Y                                          X'\to Y                           X′→Y;记                                                   X                                               P                                     →                                              Y                                          X{P \atop \to} Y                           X→P​Y。
    • 传递依赖:                                                  X                                  →                                  Y                                          X\to Y                           X→Y,                                                  Y                                  ⊄                                  X                                          Y\not\subset X                           Y⊂X,                                                  Y                                  ↛                                  X                                          Y\not\to X                           Y→X,                                                  Y                                  →                                  Z                                          Y\to Z                           Y→Z,                                                  Z                                  ⊄                                  Y                                          Z\not\subset Y                           Z⊂Y;记                                                   X                                               T                                     →                                              Z                                          X{T \atop \to} Z                           X→T​Z。
    • 1NF:属性均为原子属性;存在利用非常和数据冗余。
    • 2NF:1NF,且每个非主属性完全依赖于任何一个候选码;存在删除和插入非常。
    • 3NF:1NF,且非主属性既不传递依赖于码,也不部分依赖于码。
    • BCNF:1NF,且每个决定因素都包罗码。

  • 存储过程:一组 SQL 语句集,经编译后存储在数据库。

    • 优点:淘汰网络流量;提高系统性能;安全性高;可重用性;可自动完成需要预先执行的任务。
    • 种别:带参数,加密,组;系统,扩展,用户自定义。

  • 触发器:用户定义在关系表上的一类由事件驱动特别的存储过程;事件-条件-动作规则。

    • 功能:强化束缚;跟踪变革;级联运行;调用存储过程。
    • 组成:触发器名;表名;触发事件(INSERT/DELET/UPDATE);触发器类型(ROW/STATEMENT);触发条件;触发动作体。
    • DML 触发器:执行 DML 语句;系统将触发器及触发语句作为单个事件,发生错误时整个事件回滚。
    • DDL 触发器:响应 DDL 事件激发;用于执行管理任务。
    • after:在记载修改后触发,用于变更后处理惩罚或检查。
    • instead of:一个表只能创建一个;取代原本操作,在记载变更前被触发。
    • I 表:inserted;保存 insert 和 update 修改后的数据的虚拟表。
    • D 表:deleted;保存 delete 和 update 修改前的数据的虚拟表。

  • 并发控制

    • 事件(ACID):原子性(一个整体全部提交或全部回滚);一致性(不一致不会保存);隔离性(事件之间相互不可见);持久性(提交后不可打消)。
    • 并发:交叉并发 - 单处理惩罚机系统中并行事件的并行操作轮流交叉运行;同时并发 - 多处理惩罚机系统同时运行多个事件。
    • 正确调度准则:可串行化;一致性的充实非必要条件。
    • 数据不一致性:丢失修改(两事件利用重合);不可重复读(读后另一事件更新/删除/插入后再读);读“脏”数据(读后另一事件回滚后再读)。
    • X 锁/排他锁/写锁:只允许本事件读写,其他任何事件不能加任何类型的锁,直到本事件开释。
    • S 锁/共享锁/读锁:本事件可以读但不能写,其他任何事件可以加 S 锁但不能加 X 锁,直到本事件开释。
    • 一级锁:事件修改数据前加 X 锁,结束时开释;防止丢失修改,保证可回滚。
    • 二级锁:一级锁基础上,事件读取数据前加 S 锁,读完后时开释;防止读“脏”数据。
    • 三级锁:一级锁基础上,事件读取数据前加 S 锁,结束时开释;防止不可重复读。
    • 活锁:封锁哀求永远等候;可接纳先来先服务策略避免。
    • 死锁:两个封锁哀求相互永远等候;可接纳一次封锁或顺序封锁避免;可接纳超时法或等候图法诊断。
    • 一次封锁:每个事件一次性将全部要利用的数据全部加锁。
    • 顺序封锁:预先对数据对象规定封锁顺序。
    • 2PL(两段锁):严酷区分为扩展阶段和收缩阶段;扩展阶段只能得到封锁,收缩阶段只能开释封锁;可串行化的充实非必要条件。
    • 粒度:粒度越小,封锁对象越小,并发度越高,系统开销越低。
    • 多粒度锁:多粒度树;对一个结点加锁意味着全部后代结点均加同样类的锁。
    • 显式锁:应事件要求直接加到数据对象上。
    • 隐式锁:该独立对象没有被独立加锁,而由于上级结点加锁。
    • 意向锁:对结点加意向锁说明下层结点正在被加锁;提高并发度,淘汰加锁/解锁开销。

      • IS 锁:表示后代结点预加 S 锁。
      • IX 锁:表示后代结点预加 X 锁。
      • SIX 锁:对本结点加 S 锁,表示后代结点预加 X 锁。


  • 恢复

    • 故障:事件故障;系统故障;介质故障(硬件)。
    • 备份/转储:完全(海量);差量;增量;静态;动态。
    • 日志:记载事件对数据库更新操作。

      • 以记载为单位:事件开始标记;事件更新操作;事件结束标记。
      • 以数据块为单位:事件标识;操作类型;操作对象;更新前旧值;更新后新值。
      • 作用:事件故障和系统故障恢复;动态转储中恢复;静态转储中可提高恢复效率。
      • 原则:登记次序严酷按并发事件执行的时间次序;先写日志再写数据库。

    • 事件故障恢复:反向扫描日志查找故障事件;对事件更新操作进行逆操作;直到事件开始标记。
    • 系统故障恢复:正向扫描日志,全部故障发生前的事件标记记入重做(REDO)队列,故障发生时尚未发成的事件标记记入打消(UNDO)队列;对打消队列事件进行打消;对重做队列事件进行重做。
    • 介质故障恢复:装入最新的数据库后备副本(动态转储还需装入转储开始时刻日志副本,利用 UNDO+REDO 恢复一致性);转入日志副本,重办事件。

  • 权限控制:基于角色;操作系统用户                                         >                                  >                     > 登录用户                                         >                                  >                     > 数据库利用用户                                         >                                  >                     > 数据库对象利用用户。
  • 审计:将用户对数据库全部操作记载;审计员可利用审计日志监控并重现事件,找出非法操作。

    • 事件:服务器事件;系统权限;语句事件;模式对象事件。
    • 功能:根本功能 - 审计查阅;审计规则;审计分析和报表;审计日志管理;审计查询用的专门视图。

  • “三权分立”

    • 系统管理员:DDL 权限。
    • 安全管理员:授权的权限。
    • 审计管理员:配置审计。

3 关系运算

  4 SQL

  1. SELECT <col> AS <tag> FROM <tab> <tag>
  2. JOIN(RIGHT JOIN; LEFT JOIN; CROSS JOIN) <tab> ON <condition>
  3. WHERE <condition> GROUP BY <col> HAVING <condition> ORDER BY <condition>
  4. UNION(INTERSECT; EXCEPT) ...;
  5. UPDATE <tab> SET <col> = <val> WHERE <condition>;
  6. DELETE FROM <tab> WHERE <condition>;
  7. INSERT INTO <tab> VALUES(<val>);
  8. CREATE VIEW <name>(<col>) AS SELECT ...;
  9. DROP VIEW <name>;
复制代码


  • 排序:ASC - 升序(默认);DESC - 降序。
  • 比较:=;>;<;>=;<=;<>;BETWEEN AND;IS NULL。
  • 逻辑:AND;OR;NOT。
  • LIKE:% 匹配 0 个或多个字符;_ 匹配一个字符;[ ] 匹配一个限定字符;[^ ] 不匹配一个限定字符;\ ESCAPE ‘’ 转义字符。
  • 集函数:COUNT;SUM;AVG;MAX;MIN;ALL - 不去重(默认);DISTINCT - 去重。
  • 谓词:IN;ANY;ALL;EXISTS。
5 T-SQL



  • 存储过程:PROCEDURE;WITH ENCRYPTION;EXEC
  • 触发器:TRIGGER
  • 束缚:RULE;DEFUALT;CONSTRAINT
  • 事件:TRANSACTION;READ UNCOMMITED,READ COMMITED,SERIALIZEABLE, SNAPSHOT;COMMIT;ROLLBACK
  • 备份恢复:BACKUP;RESTORE
  • 权限控制:GRANT;REVOKE
  • 审计:AUDIT

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

铁佛

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表