数据库复习

1.数据管理技术的产生和发展

(1)人工管理阶段:
①不保存数据
②应用程序管理数据
③数据不共享,冗余度大
④程序和数据不具有独立性

(2)文件系统管理阶段:
①数据可以长期保存
②文件系统管理数据
③数据共享性差,冗余度大
④数据独立性差

(3)数据库系统管理阶段:
①数据结构化
②数据的共享性高,冗余度低,易扩充
③数据独立性高
④数据由DBMS统一管理控制

⑤数据库管理系统的功能:
1)数据库的定义功能:
DBMS提供DDL定义数据库的三级结构、两级映像,定义数据的完整性约束、保密限制等约束
2)数据库的操纵功能:
DBMS提供DML实现对数据的操作,基本操作有检索和更新
3)数据库的保护功能:
DBMS通过数据库的恢复、数据库的并发控制、数据完整性和数据安全性控制来实现对数据库的保护
4)数据库的维护功能:
包括数据载入、转换、转储,数据库的改组以及性能监控等功能
5)数据库的字典功能:
存放着三级结构定义,数据库运行时的统计信息,对数据库的操作都要通过数据字典来实现

2.数据库特点

(1)永久存储
(2)有组织
(3)可共享

3.数据模型的组成:

(1)数据结构—静态特征描述
(2)数据操作—动态特征描述 查询和更新
(3)完整性约束条件

4.数据模型的分类

(1)概念模型
①按照用户的观点
②E-R图
③信息世界基本概念:
1)唯一标识实体的属性集称为码
2)属性:不能再分成更小的数据项
3)联系
a.1:1/ 1:n/ n : m

(2)逻辑模型
①按计算机系统
②层次模型
1)树状结构
2)方便表示一对多联系
③网状模型
1)链接指针
2)方便表示多对多
④关系模型
1)二维表表示数据
2)表是逻辑结构而不是物理结构

(3)物理模型:具体的存储方法和存取方式

5.数据库结构的三级模式:

①外模式(局部)
1)由用户和应用程序定义
2)一个数据库可以有多个外模式
②概念模式(模式)(全局)
1)由DBA定义
③内模式
1)存储结构定义
2)一个数据库只有一个内模式

(2)数据库的二级映像:提高数据和程序的独立性
①外模式/模式映像:
1)定义了外模式与概念模式之间的对应关系
2)保证逻辑独立性
②模式/内模式映像:
1)唯一的
2)定义了全局逻辑结构与存储结构之间的对应关系
3)保证物理独立性:用户的应用程序与存储在磁盘上数据库中的数据是相互独立的

6.数据库管理系统功能:

(1)数据定义
(2)数据操纵
(3)优化与执行
(4)数据安全与完整性
(5)数据恢复与并发
(6)数据字典

7.关系的完整性:保证数据库数据的正确性和相容性

(1)域完整性:属性的值域的完整性

(2)实体完整性:所有表必须有主码,且主码不能为空值
①不允许无主码的记录
②不允许有与其他记录的主码值相同的记录

(3)参照完整性:
①外码取值必须参照主码取值
②不允许引用不存在的记录
③外码要么为空值,要么是其参照关系的值

(4)用户定义的完整性:针对某一具体关系数据库的约束条件

8.基本查询操作:选择、投影、并、差、笛卡儿积

9.传统的集合运算:并、差、交、笛卡儿积

10.专门的关系运算:

(1)选择:水平分割
(2)投影:垂直分割
(3)连接
①自然连接:要求有共同属性 投影、选择、笛卡尔积
(4)除

11.SQL语言特点:

(1)综合统一
(2)高度非过程化
(3)面向集合的操作方式
(4)语言简捷,易学易用
(5)提供两种使用方式:独立(交互)和嵌入

12.CONSTRANT 约束名 CHECK ( Ssex IN (‘男’, ‘女’))

13.ALTER使用

(1)ALTER TABLE Student DROP CONSTRAINT CK_STU_AGE
(2)ALTER TABLE Student DROP COLUMN Sname
(3)ALTER TABLE Student ADD dBirth DATETIME
(4)ALTER TABLE Student ALTER COLUMN Smajor VARCHAR(20)

14.通配符含义

通配符描述示例
%包含任意字符串‘王%’表示寻找姓王的
_任何单个字符‘王_’表示寻找姓王且为两个字名字的人
[]范围
[^]不属于该范围的

15.使用视图不可以加快查询速度,且视图不可以用于修改数据

16.索引并非越多越好,索引是数据库的一种对象,是为了优化存取路径

17.数据依赖对关系模式的影响:

(1)数据冗余太大
(2)更新异常
(3)插入异常
(4)删除异常

18.范式:

(1)第一范式:原子性,不可再分

(2)第二范式:
①数据表里的每一条数据记录,都是可唯一标识的,而且所有的非主键字段,都必须完全依赖主键,不能只依赖主键的一部分
②实体属性完全依赖于主关键字
③消除了非主属性部分依赖,变成完全依赖

(3)第三范式:
①数据表中的所有非主键字段不能依赖于其他非主键字段
②非主属性之间不能有依赖关系,相互独立
③消除了非主属性传递依赖

19.概念结构设计:自顶向下,自底向上(主要)、由内向外、混合策略

20.概念模式转化为关系数据模型:

(1)每一个实体类型转换为一个关系模式

(2)实体之间的联系不同情况不同处理:
①1:1
②1:n
③n:n

(3)概念模型:对信息世界建模,它是由现实世界到信息世界的第一层抽象

21.数据库设计的主要六个阶段:

需求分析、概念结构设计(设计局部E-R图、集成局部E-R图、优化全局E-R图)、逻辑结构设计、物理结构设计(①确定物理结构 ②评价物理结构)、数据库实施、数据库运行和维护

22.事务的特征:

(1)原子性、一致性、隔离性、持久性(ACID)
(2)事务是用户定义的一个数据操作序列,要么全部执行要么都不执行,是一个不可分割的工作单元
(3)破坏ACID的可能原因:
①多事务并行运行,不同事务之间可能有交叉情况
②事务在运行过程中被强迫停止

23.并发操作引发的问题:

(1)丢失更新问题:两个事务 T1 和 T2 读入同一数据并修改,T2 提交的结果覆盖了 T1 提交的结果,导致 T1 的修改被丢失
(2)读“脏”数据:事务 T1 修改某一数据,并将其写回磁盘,事务 T2 读取同一数据后,T1 由于某种原因被撤销,这时 T1 已修改过的数据恢复原值,T2 读到的数据就与数据库中的数据不一致,则 T2 读到的就为“脏”数据,即不正确的数据
(3)不可重复读:T1读取数据后,事务几次执行更新操作,使 T1 无法再现前一次读取结果

24.并发控制措施:

(1)封锁:(为解决并发操作导致的数据不一致问题)
①排他锁/写锁(X锁):不能再加别的任何类型的锁
②共享锁/读锁(S锁);可读不可改,其他事务也只能对他加S,不能加X锁

(2)规则:
①一级封锁协议:事务在修改前,必须先加一个X锁
②二级封锁协议:在一级的基础上,如果再读取其他数据,先加S锁
③三级封锁协议:在一级的基础上,如果再读取其他数据,先加S锁,但必须等到事务结束才能释放

25.数据库故障:

(1)故障类型:
①事务内部故障:
1)在事务运行至正常终点前被终止
2)使用UNDO
②系统故障:
1)造成系统停止运行,使系统重新启动的任何事件
2)例如操作系统故障、突然停电、硬件错误
③介质故障:
1)磁盘上的物理数据和日志文件被破坏
2)例如磁盘损坏
④计算机病毒

(2)故障恢复:
①建立冗余数据:
1)数据转储:
a.静态转储:系统无运行事务时
b.动态转储:并行执行
c.海量转储:每次转储整个数据库
d.增量转储:只转储更新的
2)登记日志文件
②实施数据库恢复

26.备份(BACKUP DATABASE):

(1)类型:
①完整备份:对所有信息备份,可作为系统失败时恢复数据库的基础
②差异备份:最近一次数据库备份以来发生的数据变化进行备份
③事务日志备份:对数据库发生的事务进行备份

(2)备份内容:
①系统数据库:必须完整备份
②用户数据库:必须完整备份
③事务日志:系统自动维护

(3)备份策略:
①完整备份
②完整备份加日志备份
③完整备份加日志备份加差异备份

(4)第一次对数据库备份必须使用完整备份

27.数据库恢复顺序(RESTORE DATABASE):

(1)恢复最近的完整数据库备份
(2)恢复最近的差异数据库备份
(3)按照先后顺序恢复所有日志备份

28.安全控制过程:

(1)确定用户是否为数据库服务器合法用户(具有登录用户)
(2)确认用户是否为特定数据库的合法用户(具有访问数据库的权限)
(3)确认用户是否具有合适的操作权限(操作数据库的权限)

29.数据独立性:

(1)物理独立性
(2)逻辑独立性

30.反规范化常用方法:

(1)合并1:1联系的表
(2)合并1:n联系的表
(3)复制1:n联系1端表的数据到n端
(4)复制m:n联系中的m端和n端数据到新产生的联系表中

31.NOSQL数据库:

(1)产生背景:
①大数据时代挑战
②关系数据库瓶颈

(2)非关系型数据库

(3)特征:
①不需要预定义模式
②无共享架构
③弹性可扩展
④分区
⑤异步复制
⑥BASE

(4)NOSQL数据库分类:
①键值存储数据库(key-value):使用哈希表 Redis、Amazon’s Dynamo
②列存储数据库:用于应对分布式存储的海量数据 Cassandra、HBase
③文档型数据库 MongoDB、CouchDB、RavenDB
④图形数据库(Graph)Neo4J、Infinite Graph

(5)适用场景:
①数据模型比较简单
②需要灵活性更强的IT系统
③对数据库性能要求较高
④不需要高度的数据一致性
⑤对于给定key,比较容易映射复杂值的环境

32.基本表和视图:

(1)基本表:数据库中独立存在的表,在SQL中一个关系就对应一张表
(2)视图:是一种数据库对象,是从一个或多个基表或视图中导出的虚表,其本质就是SQL查询 是外模式
(3)区别:基表是实际保存数据的实体,而视图本身并不存放数据
(4)联系:试图是在基表之上建立的
(5)采用视图不能加快查询速度,因为对视图的查询都会转化为对基表的查询,称为视图消解,会耗时,速度更慢

33.候选码的属性称为主属性

34.冲突:

(1)属性冲突:
①属性域的冲突:属性值的类型、取值范围、取值集合
②属性值单位的冲突:单位冲突

(2)命名冲突:
①同名冲突:相同名称不同意义
②异名冲突

(3)结构冲突
①同一对象在不同局部E-R图有不同的抽象:在这里是实体,在那里是属性
②同一实体在不同局部E-R图有不同的属性
③实体间联系在不同局部E-R图类型不同:在这里是一对多,在那里是多对多

  • 35
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值