文章目录
- 真题(前面的为真题,后面的为期末题)
- 书上补充概念
-
- 1,关系模式的三个组成部分
- 2,关系模式和关系的区别
- 3,试述关系模型的完整性规则。在参照完整性中,什么情况下外码属性的值可以为空值?
- 4,等值连接与自然连接的区别和联系?
- 5,代数的基本运算有哪些?如何用这些基本运算表示其他运算。
- 7,候选码和主码的关系
- 8,什么是关系完备性?
- 9,试述SQL的特点?
- 10,说明在drop table 时,Restrict 和cascade的区别?
- 11,什么是基本表,什么是视图?两者的区别和联系是什么?
- 12,视图的优点
- 13,那类视图是可以 更新的?那类视图是不可以更新的?举例说明。
- 14,什么是数据库安全性
- 15,数据库安全性控制的常用方法和技术?
- 16,什么是数据库的自主存取控制方法和强制存取控制方法?
- 17,授权语句(看看即可,标准SQL,不针对特定数据库)
- 18,解释MAC中的主体、客体、敏感度标记的含义?并举例说明MAC机制如何确定主体能否存取客体的。
- 19,什么是数据库的审计功能,为什么要提供审计功能?
- 20, 安全标准(康康就行)
- 21,什么是数据库的完整性?
- 22, 数据库的完整性概念与数据库的安全性概念有什么区别和联系?
- 23,什么是数据库完整性约束条件
- 24,RDBMS(关系数据库管理系统)机制应具有哪三个方面的功能?
- 25,断言的设置,触发器的设置
- 26,解释函数依赖,部分函数依赖,完全函数依赖,传递函数依赖,候选码,超码,主码,外码,全码(all-key)
- 27,关于模式的算法
- 28,常见范式判断
- 29,数据库设计的过程
- 30,试述数据库设计过程中形成的数据库模式
- 31,需求分析阶段的设计目标是什么?调查的内容是什么?
- 32,数据字典的内容和作用是什么?
- 33,定义并解释概念模型中以下术语。
- 34,试述数据库物理设计的内容和步骤。
- 35,什么是数据库的再组织和重构造?为什么要进行数据库的再组织和重构造?
- 36,各子系统的E-R图之间的冲突类型
- 37, 数据模型的分解
- 38,存储过程
- 39,数据库为什么要进行并发控制,并发控制能保障事务的哪些特性?
- 40,并发操作可能会带来哪几类数据不一致?用什么方法能避免各种不一致?
- 41,什么是活锁?阐述活锁产生的原因和解决办法?
- 42,什么是死锁?给出预防死锁的若干办法?
- 43,给出检测死锁发生的一种方法,当发生死锁后如何解除死锁?
- 44,什么是封锁?封锁的基本类型有几种?试述他们的含义。
- 45,封锁协议。
- 46,两段锁协议。
- 47,多粒度封锁
- 48,为什么要引入意向锁?什么是意向锁?
- 49,试述常用的意向锁,并给出相容矩阵。
- 50,RDBMS查询优化的一般准则
- 51,试述关系数据库管理系统查询优化的一般步骤?
- 错题
真题(前面的为真题,后面的为期末题)
1,大数据和BI数据分析有什么不同,根据应用大数据的场景、来源和技术架构分析一下。
BI(Business Intelligence),中文翻译是商务智能,是一套完整的解决方案,用来将组织中现有的数据进行有效的整合,快速准确的提供报表并提出决策依据,帮助组织做出明智的业务经营决策。
**大数据(Big Data)**是从收集的海量数据中,通过算法将这些来自不同渠道、格式的数据进行直接分析,从中寻找到数据之间的相关性。简单而言,大数据更偏重于发现,以及猜测并印证的循环逼近过程。
第一、从数据来源角度
大数据应用的数据来源,不仅仅包括非结构化的数据,还有各种系统数据,数据库数据。其中非结构化数据主要是集中在互联网以及一些社交网站上的数据以及一些机器设备的数据,这些都构成了大数据应用的数据来源。对于大数据的分析工具来说,现阶段也是对于非结构化的数据分析的比较多。
BI系统则是在数据集成方面的技术越来越成熟,对于数据的提取,一个各种数据挖掘的要求来说,数据集成平台会帮助企业实现数据的流通和交互使用,在企业内部实施BI应用就是为了可以更好的对数据进行分享和使用。
第二、应用场景
BI与大数据区别在于前者更倾向于决策,对事实描述更多是基于群体共性,帮助决策者掌握宏观统计趋势,适合经营运营指标支撑类问题,大数据则内涵更广,倾向于刻画个体,更多的在于个性化的决策。
大数据 技术架构:
大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库,云计算平台。
2,数据库有哪些范式,他们的定义是什么?什么时候可以不遵守范式?
设计关系型数据库的时候,需要遵守不同的规范要求,这些不同的规范要求称之为不同的范式。
1NF:每个分量必须是不可分的数据项。
2NF: 若R∈1NF,且每一个非主属性完全依赖于码,则R∈2NF
3NF:若R∈2NF,且每一个非主属性不传递依赖于码。
BCNF:所有主属性对每个不包含它的码,也是完全函数依赖。
反范式化设计:没有冗余的数据库设计可以做到。但是,没有冗余的数据未必是最好的数据库,有时为了提高运行效率就必须降低范式标准,适当保留冗余数据,具体做法是:再概念数据模型设计时遵守第三范式,降低范式标准放到物理模式设计时考虑。降低范式就是增加字段,允许冗余,达到空间换时间的目的。
ADD:
范式化
- 优点
- 减少数据冗余
- 数据表更新快,体积小
- 缺点
- 对于查询需要多个表进行关联,导致性能降低
- 更难以进行索引优化
反范式
- 优点
- 可以减少表的关联
- 更好的进行索引优化
- 缺点
- 存在数据冗余及数据维护异常
- 对数据的修改需要更多的成本
3,什么是事务和程序?他们之间有什么区别?
事务:事务是数据库提供的一种手段,通过这一手段,应用程序将一系列数据库操作组合在一起作为一个整体以便数据库系统提供一组保证,也就是事务的ACID性。
程序:由序列组成,告诉计算机如何完成一个具体的任务,一般来讲一个程序中可以包含多个事务。
4,事务的四个特性
原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Durability)
- A:事务的更新操作必须作为一个整体,要么全部成功,要么全部失败。
- C:事务的执行结果必须使DB从一个一致状态变到另外一个一致状态。(DB只包含成功事务的提交结果)
- I:一个 事务的执行不能被其他事务干扰
- D:一旦事务被提交,那么它对数据所作的修改将是持久性的,无论发生何种机器和系统故障。
5,登记日志的原则是什么?为什么?
原则:
- 登记的次序严格按照并发事务的执行时间次序。
- 必须先写日志文件,后些数据库。
原因:数据的修改写到数据库中和对应的日志,写到日志文件中是两个不同的操作。故障可能在这两个操作之间发生。如果先写了数据库修改,没有对应的日志记录,那么以后就无法恢复这个修改。若先些日志,没有修改数据库,则按照日志文件恢复时只是多执行了了次不必要的UNDO操作,不会影响数据库的正确性。
6,为什么事务的非正常结束会影响DB的正确性。
事务的执行结果必须从一个一致状态变到另外一个一致状态。若DBMS运行发生故障,有些事务尚未完成就被中断,这些未完成的事务对DB的修改有一部分已经写入了物理数据库,这是数据库就有可能处于不正确状态。(可以举个栗子,银行转账的例子)
7,针对不同的故障,试给出恢复策略和方法。
- 事务故障(事务在运行至正常终止点前被终止)
- 反向扫描文件日志,查找该事务的更新操作。
- 对该事务的更新执行逆操作。直至读到此事务的开始标记。
- 系统故障(未完成事务对data的更新可能已经写入数据库,或已经提交的事务对数据库的更新还留在缓存未写入数据库)
- 正向扫描日志,找出故障发生前已经提交的事务放入REDO队列,未完成的事务放进UNDO队列。
- 对REDO队列中的事务进行重做。
- 对UNDO队列的事务进行撤销
- 介质故障(磁盘上的物理数据和日志文件都被破坏)
- 装入最新的数据