复试数据库部分整理(day3

数据模型包括层次、网状和关系模型,关系是元组集合,具有实体完整性和参照完整性约束。数据库设计涉及需求分析、概念结构设计、逻辑结构设计等阶段。事务是数据库操作的基本单位,需满足ACID属性。并发控制通过锁机制确保数据一致性,而触发器则用于强化完整性约束并处理特定事件。
摘要由CSDN通过智能技术生成
  1. 数据模型是什么
  1. 数据模型是描述数据特征及数据间关系的模型。

  1. 会描述数据对象的三个要素,即数据结构,数据操作,数据的完整性约束。

  1. 基本的数据模型有层次模型,网状模型,关系模型。对应的数据结构分别是树,图,二维表。

  1. 其中,关系是元组的集合,一个关系肯定是一张二维表,而不是任何二维表都能表示关系。关系的第一行通常是属性名,关系中属性和元组是不可再分的,元组的次序是无关紧要的。

2.关系与关系模式与关系数据库
  1. 关系是元组的集合,每一张表是一种具体的关系。关系模式是对关系结构的描述定义,是关系的型,按关系模式装入数据后即形成关系。关系模式是静态稳定的,关系是动态变化的。一个关系只能对应一个关系模式,一个关系模式可以对应多个关系。

  1. 关系数据库是建立在关系模式上的关系的集合,关系数据库的型是关系模式的集合,值是关系的集合。

3.关系的完整性约束
  1. 实体完整性,关系的主键不能为空

  1. 参照完整性,关系的外键要么为空,要么引用一个实际存在的主键值

  1. 用户定义的完整性。

  1. 通过定义主键来实现实体完整性,通过定义外键来实现参照完整性,通过定义域约束,检查约束等实现用户定义的完整性。

4.三级模式与两级映射
  1. 三级模式由外到内是子模式,模式,内模式。 子模式是用户所见使用的局部数据的逻辑结构和特征的描述,是根据用户所需对模式的抽取。 模式是对全体数据逻辑结构和特征的描述,是装入数据的框架。 内模式是对数据物理结构和存储方法的描述,位于数据库最底层,其设计直接影响性能。

  1. 数据独立性是数据与程序互不依赖。物理独立性是指数据库物理结构的改变不影响逻辑结构和应用程序,可以由内模式/模式映像来保证。逻辑独立性是指数据库逻辑结构的改变不影响应用程序,可以由模式/子模式来保证。

5.视图与视图的作用
  1. 视图是根据用户查询需要从一个或几个基本表中导出的虚表,并非物理存在,不占用存储空间。对视图引用的基本表的更新会实时再现在视图上,对于视图数据的更新操作会转换为对基本表的操作。

  1. 简化数据库结构及查询操作,使用户将注意力集中到他关心的部分数据上。 多角度更灵活地共享数据。 提供安全保护,使机密数据不出现在不应看到这些数据的用户的视图上。

6.表的几种连接方式
  1. 内连接,常见的有等值连接和自然连接。从两个关系的笛卡尔积中选取属性间满足一定条件的元组。自然连接要求两关系有相同的属性组,并在结果中去除重复的属性组。

  1. 外连接,左外右外,以一张为基表,一张为外表,基表的所有行所有列都会显示,外表不匹配的列值会设为null。全外连接两张表所有行列都会显示,不匹配的列值设为null。

7.数据库设计的几个阶段
  1. 需求分析,收集分析用户需求,定义数据库的主要目标,形成需求说明书

  1. 概念结构设计,对用户需求进行归纳抽象,自顶向下的需求分析(首先定义全局概念结构框架,然后逐步细化),自底向上概念结构设计(首先定义各局部应用的概念结构,然后集合起来得到全局概念结构),形成一个独立于DBMS的信息模型,用E-R图表示。

  1. 逻辑结构设计,将概念结构转换为某个DBMS支持的数据模型。

  1. 物理结构设计,选取合适的物理结构

  1. 数据库实施,使用数据库语言与宿主语言,根据逻辑和物理设计建立数据库。

  1. 运行与维护。在运行过程中不断对其进行评价与修改。

8.事务与并发控制
  1. 事务由一系列数据库操作组成,这些操作要么全部成功要么全部失败,不对数据库留下任何影响。是数据库系统工作的一个不可分割的基本单位。

  1. ACID:A:原子性,事物是不可分割的原子操作,要么,要么。 C:一致性,事物对数据库的操作必须遵守一定的完整性约束,一旦查出数据库的完整性受到破坏,则撤销该事物对库的任何影响。 I:隔离性,指两个或多个事物可以同时运行而不互相影响。 D:持久性,一个事物成功提交后,其工作结果会永久保存在数据库中,系统发生故障也能保持或恢复。

  1. 并发控制是通过微观上交错执行顺序的正确安排来保证事物宏观并发执行的正确性,独立性完整性一致性。

9.锁与并发调度
  1. 一个给定的并发调度,当且仅当它是可串行化的,才被认为是正确的调度。

  1. 普遍采用封锁的方法实现并发调度的可串行性。

  1. 常见的有两段锁协议:事务分为两个阶段:第一个阶段获得封锁,在此阶段事务可以申请获得锁,但不能释放任何锁。第二个阶段事务可以释放任何锁,但不能再申请任何锁。

时间戳排序机制,赋予每个事务唯一的时间戳来进行调度。

10.锁相关
  1. 基本类型:写锁和读锁。写锁:若某事务T对数据A加写锁,则只允许T对A进行读取和修改,其他事务都不能对A再加任何类型的锁,知道T释放A上的锁。读锁:若T对A加读锁,则T可以读A但不能修改A,其他事务也只能对A加读锁,知道T释放A上的锁。

  1. 活锁与死锁:活锁解决:先来先服务。死锁预防:一次封锁法,顺序封锁法。诊断死锁:超时法,等待图法。接触死锁:选择一个处理死锁代价最小的事务,撤销,释放该事务所有锁。

11.触发器
  1. 触发器是一类靠事件驱动的特殊过程,一旦由用户定义,任何对触发器规定的数据的更新操作均激活相应的触发器采取应对措施,它被系统自动地执行。

  1. 是一种动态约束,可以强化完整性约束,对于违反完整性约束的操作,触发器会主动消除该操作引起的负面影响。可以联级运算,如某表的触发器包含对另一个表的数据操作,而这又会引起另一个表触发器的触发。

11.故障恢复
  1. 事务故障:事务回滚,撤销该事务。

  1. 系统故障:检查点之前结束的事务无需恢复,检查点之后结束的或开始的事务根据运行日志恢复:即故障点之前结束的重做,故障时未结束的撤销。

  1. 介质故障:装入最新的数据库副本与相应的日志文件,重做已完成的事务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值