【笔记】数据库题目整理

前言

可能会考到的数据库题目,按照章节和题型分类。

简答题

  1. 关系模型】简述关系模式与关系实例的区别
    1)关系模式:关系的描述称为关系模式,包括关系名,关系中的属性名,属性向域的映像,属性间的数据依赖关系等。
    2)关系实例:一个关系的特定实例。

  2. 事务】简述事务的定义及特点
    1)定义: 事务是访问并可能更新各种数据项的程序执行单元。这些操作要么都做,要么都不做,是一个不可分割的工作单位。
    2)特点: 【原子性】事务中包含的所有操作要么全做,要么全都不做;【一致性】在事务开始前和结束后,数据库必须保持一致性状态,在事务执行时,可以暂时的不一致;【隔离性】系统必须保证事务不受其它并发事务的影响,隔离性通过并发控制系统实现;【持久性】一个事务一旦提交,它对数据库的影响必须是永久的。

  3. 数据库】从逻辑结构、物理结构、数据处理能力方面,比较关系型数据库与非关系型数据库的优缺点(这可能是扩展题,因为大纲上没有提及过非关系型数据库)
    1)逻辑结构:对于关系型数据库,数据表都预先定义了结构,描述了数据的形式和内容。这一点对于数据建模至关重要,虽然预定义结构带来了可靠性和稳定性,但是修改这些数据比较困难。
    2)物理结构: 对于关系型数据库表格式存储。存储在表的行和列中。它们之间很容易关联协作存储,提取数据很方便。
    3)数据处理能力:关系型数据库为了维护数据的一致性付出了巨大的代价,读写性能比较差。在面对高并发读写时,性能非常差,面对海量数据的时候效率比较低。而非关系型数据库NoSql存储的格式都是键-值类型,并且存储在内存中,对于数据的一致性为弱要求。NoSql无需sql的解析,提高了读写性能。

  4. 关系模式】数据库分为三种模式:内模式、模式、外模式,各有什么作用?
    解答:数据库的三级模式是指内模式、模式、外模式。两级映射指的是外模式-模式和模式-内模式。这样分级可以有效地组织、管理数据,提高了数据库的逻辑独立性和物理独立性。
    内模式:内模式也称存储模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。比如记录的存储方式是顺序存储、B+树存储还是Hash存储。
    模式:模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共视图。【属性】一个数据库只有一个模式;模式是数据库在逻辑上的视图;数据库模式以某一种数据模型为基础;定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成;数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的关系。
    外模式:外模式也称用户模式,是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。【属性】一个数据库可以有多个外模式;外模式就是用户视图;外模式是保证数据安全性的一个有力措施。

  5. 关系模式】什么是实体完整性、参照完整性以及用户定义的完整性?
    实体完整性:关系的主码中的所有属性值不能为空值。
    参照完整性:如果关系R的外部码Fk与关系S中的主码Pk相对应,则R中的每一个元组的Fk值或者等于S中某个元组的Pk值,或者为空值。即要求关系中不允许引用不存在的实体。
    用户定义的完整性:用户针对具体的应用环境定义的完整性约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。主要包括非空约束、唯一约束、检查约束、主键约束、外键约束。

  6. 关系模式】举例说明用户自定义约束
    1)用户针对具体的应用环境定义的完整性约束条件
    非空约束:比如学生表的性别属性不能为空值。
    唯一约束:学生表的学号属性必须唯一。
    检查约束:比如性别要求取值为“1”或“2”,考试成绩在0-100之间。
    主键约束:学生表的学号作为唯一标识,必须非空且唯一。
    外键约束:上课表中,学号作为外键,必须在学生表存在或者为空。

  7. 【事务】什么是两段锁协议?它的特点是什么?
    两段锁协议指每个事务分两个阶段提出加锁和解锁申请。
    增长阶段:事务可以获得锁,但不能释放锁。
    缩减阶段:事务可以释放锁,但不能获得新锁。

  8. 【关系模式】空值定义及特点
    空值表示值未知,不同于零值或空白。没有两个相等的空值。空值参与算数运算和比较运算结果为空值,参与逻辑运算则结果为另一逻辑值。

  9. 【关系数据库设计】什么是多值依赖?
    在这里插入图片描述

  10. 【关系模型】元组之间有顺序吗,为什么?
    关系是一个元组的集合,集合中不考虑顺序,所以元组之间没有顺序。

  11. 【关系模型】视图的概念,表的概念,以及它们的区别
    :基本表是独立存在的表,它所对应的数据实际存储在数据库中。
    视图:视图是从一个表或多个基本表导出的表,在数据库中存储有关视图而不存放视图所对应的数据,视图是一个虚表。
    区别: 【1】表是内容,视图是窗口。【2】视图是虚拟的表,视图展示的数据来自于基本表。【3】视图中不存储具体的数据,而存储的是sql逻辑,基本表的数据发生改变,视图的展示结果也会随着发生改变,它占用少量的物理空间;而表中保存的是数据,占用大的物理空间。

  12. 【事务】试叙述“串行化调度”和“可串行化调度”的区别?
    如果多个事务依次执行,则称事务为串行调度,如果利用分时的方法,同时处理多个事务,则称为事务的并发调度。如果一个并发调度的结果与某一串行调度执行结果等价,则称这个并发调度是可串行化调度。

  13. 什么是DDL?什么是DML?有什么异同?
    DDL:(Data Manipulation Language)数据操纵语言。适用范围:对数据库中的数据进行一些简单的操作,如insert, delete, update, select等。
    DML:(Data Definition Language) 数据定义语言。适用范围:对数据库中的某些对象进行管理,如create和Drop。
    区别:DML操作可以手动控制事务的开启,提交和回滚。DDL是隐性提交的,不能回滚。

  14. 【数据库设计】简述数据库设计的流程
    六个阶段: 【1】需求分析;【2】概念结构设计;【3】逻辑结构设计;【4】数据库物理设计;【5】数据库实施;【6】数据库运行和维护
    这是完整的实际数据库及应用系统的设计过程,不仅包括设计数据库本身,还包括数据库的实施、运行和维护。设计一个完善的数据库应用往往是上述六个阶段的不断反复。

  15. 【事务】什么是封锁?封锁有什么类型?它们的含义是什么?
    封锁:封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该操作对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。封锁是实现并发控制的一个非常重要的技术。
    基本类型:【1】排它锁(Exclusive Locks, X锁)。若事务T对数据对象A加上了X锁,则只允许T读取、修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。因为事务对数据对象进行操作时必须加锁,这页就保证了在T释放A的锁之前,任何其它进程不能对A进行操作。【2】共享锁(Share Locks,S锁),若事务T对数据对象A加上S锁,那么事务T可以读但不可以修改A,其他事务只能再对A加S锁,不能加X锁,直到A释放S锁。这就保证了其它事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。

  16. 【查询优化】什么是索引?建立索引的作用有哪些?
    索引:索引时按照一定顺序对表中的一列或若干列建立的列值与记录行之间的对应关系表。
    作用:【1】快速存储数据;【2】保证数据记录的唯一性;【3】实现表与表之间的参照完整性;【4】在使用order by, group by子句进行数据检索时,利用索引可以减少排序和分组的时间。

  17. 【数据字典】数据字典的内容和作用是什么?
    数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:【1】数据项;【2】数据结构;【3】数据流;【4】数据存储;【5】处理过程。
    数据项是数据的最小组成单位。若干个数据项可以组成一个数据结构
    数据字典通过对数据项数据结构的定义来描述数据流数据存储的逻辑内容。
    数据字典的作用:数据字典是关于数据库中对数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数巨卡设计中不断修改、充实、完善。

应用题

  1. 【E-R】假定一个部门的数据库包括一下信息:
    -)职工的信息:职工号、姓名、住址和所在部门
    -)部门的信息:部门所有职工、经理和销售的产品
    -)产品的信息:产品名、制造商、价格、型号及产品内部编号
    -)制造商的信息:制造商名称、地址、生产的产品名和价格
    1)画出这个数据库的E-R图
    2)写出E-R图对应的关系模式
    3)写出每个关系模式的主码和外码

  2. 【sql】有关系S(SNO, SNAME, DEPT), C(CNO, CNAME), SC(SNO, CNO, SCORE)。关系S、C和SC分被表示学生信息、课程信息和学习选课情况。
    (1)求选修了课程号为C4的学生的学号及成绩
    (2) 求出有2门以上成绩为优(>=90)的学生学号
    (3)将所有课程的分散加5分

  3. 【sql】常规Sql题

  4. 【E-R】常规E-R图

  5. 【关系模式】设有关系模式R(A,B,C,D,E),R的函数依赖为F={A->C,B->C,C->D,DE->C,CE->A}
    (1)求R的所有候选码
    (2)将R分解为3NF,判断是否无损连接

  6. 【事务】判断下面的事务能否实现冲突可串行化,如果不行,请说明理由
    事务的调度:一组事务的调度必须保证:包含所有事务的操作指令;一个事务中指令的顺序必须保持不变。
    串行调度:在串行调度中,属于同一事务的指令紧挨在一起;对于有n个事务的事务组,可以有n!个有效调度。
    并行调度:在并行调度中,来自不同事务的指令可以交叉执行;当并行调度等价于某个串行调度时,则称它是正确的
    冲突指令:当两条指令是不同事务在相同数据项上的操作,并且其中至少有一个是write指令时,则称这两条指令时冲突的。
    冲突等价:如果调度S可以经过一系列非冲突指令交换转换成调度 S ′ S^{'} S,则称这两个调度时冲突等价的(存在结果相同,但非冲突等价的调度)。
    冲突可串行化:当一个调度S与一个串行调度冲突等价时,则称该调度是冲突可串行化的。
    冲突可串行化判定:优先图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值