• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

数据库期末复习

互联网 diligentman 3天前 7次浏览

知识点

一、数据库系统概论

  1. DB:数据库
    DBMS:数据库管理系统(数据库系统核心,管理和控制数据)
    DBS:数据库系统
  2. 人工管理阶段
    文件系统管理阶段:程序与数据有了一定独立性
    数据库系统管理阶段

数据库期末复习
数据库期末复习
4. 数据库系统特点:
数据结构化、共享高、冗余低、易扩充、数据独立性高

二、数据库系统结构

  1. 数据模型:概念模型(如E-R模型)、逻辑模型(如层次、网状、关系模型)、物理模型
  2. 数据库系统的三级模式:外模式、概念模式、内模式。
    外模式:即用户模式,局部数据。一个数据库可有多个外模式。
    概念模式:所有用户的公共数据视图。一个数据库只有一个概念模式。
    内模式:物理结构和存储结构的描述。一个数据库只有一个内模式。
  3. 数据库的二级映像:
  • 外模式 / 模式映像:保证程序与数据的逻辑独立性。
  • 模式 / 内模式映像:保证数据的物理独立性。

三、关系数据库基础

  1. 关系:关系就是表,但不能说表就是关系。(因为关系是一种特殊的表、而表的形式可以多种多样)
  2. 每一行数据称为一个元组或一条记录。
    每一列称为一个属性。
  3. 一个关系所有的码构成主码,即候选码。
  4. 关系的完整性:实体完整性(主码唯一且不为空)、参照完整性(参照属性能找到或取空值)
  5. 两个关系R、S能进行并、交、差运算,必须有相同的属性个数,即并相容性。
  6. 集合运算:
    并、交、差、笛卡尔积:刷题。
  7. 关系运算:
    选择(σ):选出一行。
    投影(π):投出一列。
    连接、除:刷题

四、关系数据库标准语言SQL

  1. 数值类型:tinyint、int、decimal等
    文本类型:char、varchar(长度可变、非unicode)、nchar、nvarchar(长度可变、unicode)
    日期时间类型:date(0001-01-01 ~ 9999-12-31)、time(00:00:00.000 ~ 23:59:59.999)、datetime
  2. 数据库的创建,表的创建、删除、修改、查询:见代码(P45~P72)
  3. 视图:一种数据库对象,是从一个或多个数据表或视图导出的虚表,试图的结构和数据是对数据表进行查询的结果(注:视图查询降低查询性能)
  4. 视图与表的联系与区别?
  • 视图是已经编译好的sql语句,而表不是。视图没有实际的物理记录,而表有。
  • 表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表
  • 表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在
  • 基表中的数据发生变化,从视图中查询出的数据也随之改变,而视图的改变不影响基表
  • 表是内模式,视图是外模式
  1. 索引:数据库的附加表,建立列的值和记录地址的映射,以加快查询速度
  2. 聚集索引和非聚集索引区别?
  • 聚集索引物理存储连续;非聚集索引是逻辑上的连续,物理存储不连续
  • 聚集索引一个表只能有一个;非聚集索引一个表可有多个

五、关系数据库设计理论

  1. 平凡函数依赖:X–>Y,Y是X的子集。
    非平凡函数依赖:X–>Y,Y不是X的子集。
    完全函数依赖:X–>Y,设Z是X的真子集,没有Z–>Y。
    部分函数依赖:X–>Y,设Z是X的真子集,有Z–>Y。
    传递函数依赖:X–>Z,有X–>Y和Y–>Z,且无Y–>X。
  2. 第一范式(1NF):所有属性都是不可分的基本数据线,即列不可分
    数据库期末复习
    第二范式(2NF):满足1NF,非主属性完全依赖于码
    数据库期末复习
    第三范式(3NF):满足2NF,不存在非主属性传递函数依赖于码。
    如,学生表(学号, 系名, 宿舍区)属于2NF,不属于3NF,因为有学号—>系名,学号—>宿舍区,则有学号—>系名—>宿舍区,即宿舍区传递依赖于学号。
    BC范式(BCNF):满足3NF,不存在主属性对非所在码的传递依赖和部分依赖。
    如下属于3NF,不属于BCNF。
    数据库期末复习
  3. 为什么引入范式理论?
    规范化目的是使结构更合理,消除存储异常,使数据冗余尽量小;便于插入、删除和更新;提高表设计的灵活性。范式级别越高,异常越少,但性能降低。
  4. 反规范化:为提高数据检索性能,引入适当冗余。反规范化加重了维护数据库完整性的代价,常用触发器和事务防止情况发生。

六、数据库设计

  1. 数据库设计的基本步骤:
    需求分析
    概念结构设计(E-R图)
    逻辑结构设计(关系模型)
    物理结果设计
    数据库实施
    数据库运行与维护

七、数据库保护

  1. 事务:用户定义的一个数据操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单元。
  2. 事务的特征:
    原子性:事务是数据库的逻辑工作单位
    一致性
    隔离性
    持久性
  3. 并发操作引发的问题
    丢失更新问题:同时读同一数据并修改。
    读“脏”数据:读取了未提交事务的数据。
    不可重复读(幻读现象):两次读同一数据不一样,另一个事务修改了数据。并发操作破坏了事务的隔离性。
  4. 并发控制措施:封锁
  5. 写锁(排他锁):即X锁,已有X锁或S锁时,不能加X锁
    读锁(共享锁):即S锁,只有S锁时,可加S锁
  6. 封锁协议
    数据库期末复习
  7. 死锁预防:一次封锁法、顺序封锁法
  8. 可串行化调度:结果正确,当且仅当其结果与按某一顺序的串行执行的结果相同时,该策略为可串行化调度策略。两段锁协议可保证并发调度可串行化。
  9. 两段锁协议:先封锁,后解锁
  • 遵循两段锁协议,一定可串行化;可串行化,不一定遵循两段锁协议
  • 遵循两段锁协议,仍可能发生死锁
  1. 数据库故障类型
    事务内部故障:非预期,不能由程序处理。如运算溢出、死锁。
    系统故障(软故障):如硬件错误、停电。
    介质故障(硬故障):外存故障,如磁盘损坏。
    计算机病毒
  2. 数据转储:静态转储、动态转储
  3. “先写日志文件”原则

八、安全管理

  1. 安全控制:确认登录账户,确认访问数据库权限,确认操作数据库权限。
  2. 用户分类:系统管理员、数据库对象拥有者、普通用户。
  3. 角色:一组具有相同权限的用户。

九、备份和恢复数据库

  1. 备份类型
    完整备份:所有数据库信息备份
    差异备份:对最近一次数据库备份发生变化的数据进行备份
    事务日志备份
  2. 备份内容:系统数据库、用户数据库、事务日志

十、NoSQL数据库

  1. 四大分类
    键-值存储数据库:如Redis
    列存储数据库:如HBase
    文档型数据库:如MongoDB
    图形数据库:如Neo4J
  2. 适用情况:数据模型简单、系统灵活性强、数据库性能高、数据不必高度一致

代码

  1. 表插入、删除、修改
  • INSERT INTO Student(Sno,Sname,Ssex,Sdept,Sage) VALUES (’201920123’,’张大荣’,’男’,’法学院’,19)
  • DELETE FROM COURSE WHERE C_ID NOT IN (SELECT C_ID FROM GRADE)
  • UPDATE Student set Sage=Sage+1
  1. 表查询
  • 多表连接
    SELECT Sno,Sname,Smajor
    FROM Student S
    JOIN SC ON S.sno=SC.sno
    JOIN Course C ON C.cno=SC.cno
    WHERE Cname=’数据库原理及应用’
  • 子查询(嵌套查询)
    SELECT Sno,Sname,Smajor
    FROM Student
    WHERE SNO IN (SELECT SNO FROM SC
    WHERE CNO=(SELECT CNO FROM COURSE WHERE CNAME=’ 数据库原理及应用’)
  • 子查询(嵌套查询)
    SELECT Sno,Grade FROM SC
    WHERE Cno=’B003’ and grade>( SELECT AVG(Grade) FROM SC WHERE Cno=’B003’)
  • 模糊查询
    SELECT Sname,Sdept,EMAIL
    FROM Student
    WHERE EMAIL LIKE ‘_@%’
  1. 存储创建、执行
    Create Procedure prcAVG @课程名 char(30)
    AS
    BEGIN
    Select AVG(Grade)
    From SC
    where Cno=(Select Cno From Course
    where Cname= @课程名
    )
    END
    EXECUTE prcAVG ‘数据库原理及应用’

  2. 视图创建
    create view smajor_num
    as
    select Smajor ,count(*) nums
    from student
    group by smajor

  3. 权限授予
    GRANT SELECT,UPDATE ON STUDENT TO JOHN

E-R图转关系模型

转换规则
数据库期末复习
数据库期末复习
数据库期末复习


喜欢 (0)