数据库原理习题一、核心知识点1、数据库系统和文件系统的比较。
文件系统:数据可长期保存、由文件系统管理数据,但是数据共享性差,冗余度大,数据独立性差;数据库系统:数据库实现整体数据的结构化、数据的共享性高,冗余度低,意扩充、数据独立性高、数据由DBMS统一管理和控制2、简述数据库系统的三级模式结构。
外模式/模式、模式、内模式3、简述数据库系统三级模式结构中的两级映像,并说明其优点。
两级映像:外模式/模式映像模式/内模式优点:这两级映像保证了数据库系统中的数据具有较高的逻辑独立性和物理独立性4、简述数据模型的三要素。
数据结构、数据操作、数据的完整性约束5、简述数据库独立性的特点。
数据独立性是由DBMS二级映像功能来保证的,数据与程序的独立性大大减少了应用程序的维护和修改6、简述数据库系统的组成部分数据库、硬件、软件、人员7、简述DBA的主要职责。
数据库管理员(DBA)负责全面管理和控制数据库系统,其主要职责有;设计与定义数据库系统;帮助最终用户使用数据库系统;监督与控制数据库系统的使用和运行;转储与恢复数据库;改进和重组数据库系统,调优数据库系统的性能;重构数据库8、简述关系模型的特点。
关系中每一个字段也称字段,不可再分,是最基本的单位;每一列数据项是同属性的。
列数根据需要而设,且各列的顺序是任意的;每一行记录由一个事物的诸多属性组成,记录的顺序可以是任意的;一个关系是一张二维表,不允许有相同的字段名,也不允许有相同的记录行9、简述关系模型的组成部分。
关系数据结构、关系操作集合、关系完整性约束10、简述关系的性质。
1对11对0..*1对1..*关系中不允许出现相同的元组关系中元组的顺序(即行序)可任意关系中属性的顺序可任意同一属性名下的各个属性值必须来自同一个域,必须是同一类型的数据关系中各个属性必须有不同的名字,不同的属性可来自同一个域,即它们的分量可以取自同一个域。
关系中每一个分量必须是不可分的数据项,或者说所有的属性值都是原子的,即是一个确定的值,而不是值的集合。
11、简述关系的完整性。
关系完整性是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。
完整性通常包括域完整性,实体完整性、参照完整性须满足的完整性约束条件。
12、简述自然连接和等值连接的区别。
连接运算符是“=”的连接运算称为等值连接。
它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉13、简述视图和关系的区别。
计算机数据库中的视图是一个虚拟表,其内容由查询定义。
同真实的表一样,视图包含一系列带有名称的列和行数据。
但是,视图并不在数据库中以存储的数据值集形式存在。
行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
也是机械制图术语,在机械制图中,将物体按正投影法向投影面投射时所得到的投影称为“视图”。
14、简述内连接和外连接的区别。
内连接包括三种,一般连接、等值连接和自然连接。
内连接时返回查询结果集合中的仅是符合查询条件的。
采用外连接是,他返回到查询结果集合中的不仅仅是包含符合连接条件的行,而且还包括坐表(左外连接)、右表(右外连接)或两个边接表(全外连接)中的所有数据行。
15、简述在SQL语言中实现子查询的方法和各自的特点。
1、单行子查询、2、多行子查询、3、多列子查询、4嵌套查询16、简述嵌入式SQL语言需要解决的问题。
嵌入式SQL语言是在源代码中用特殊标记标记SQL代码段,非嵌入式SQL是指调用函数库来完成相应的功能17、简述使用游标的四个步骤。
游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。
每个游标区都有一个名字。
用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理打开游标循环取数关闭游标18、简述在SQL中建表时如何实现对关系完整性。
通过实体完整性,参照完整性和用户定义的完整性19、简述游标的特点。
20、简述关系数据库设计中存在的问题。
数据冗余、数据依赖、插入异常、删除异常、更新异常21、函数依赖的概念;1. 函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。
2. 函数依赖是语义范畴的概念。
只能根据数据的语义来确定函数依赖。
3. 数据库设计者可以对现实世界作强制的规定。
例如规定不允许同名人出有同名人存在,则拒绝装入该元组。
22、简述1NF,2NF,3NF,BCNF解决的模式设计中的问题。
1NF:表中无重复的列;2NF:消除部分依赖; 3NF:消除非主属性对码的传递依赖23、简述E-R模型之间的冲突类型及相应的解决方法。
24、简述E-R模型向关系模型转换的基本规则。
实体:实体转换为关系,实体的属性转换为关系的属性联系:1:1 双方的主码均作为对方的外码1:n 将一方的主码作为多方的外码n:n 将联系转换为关系,联系的属性转换为关系的属性,双方的主码作为该关系的主码属性25、简述数据库保护中安全性控制的一般方法。
1、用户表示与鉴别;2、存取控制;3、自主存取控制方法;4、授权与回收26、简述事务的概念及特点。
事务是用户定义的一个数据库操作系列,这些操作要么全做要么全不做,是一个;事物具有原子性、一致性、隔离性和持续性;27、简述事务的并发操作带来的数据不一致性的类型。
丢失修改、不可重复读、读脏数据28、简述封锁的类型及含义。
封锁就是事务T在对某个数据对象列如表、记录等操作之前,先向系统发出请求,对其加锁。
加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他事务不能跟新此数据对象。
29、封锁粒度的概念。
封锁对象的大小称为封锁粒度30、简述封锁协议类型及含义。
排它锁(X锁、写锁):若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能在对A加任何类型的的锁,直到T释放A上的锁。
这保证了其他事务在T释放A之前不能在读取和修改A共享锁(S锁、读锁):若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能在对A加上S锁,而不能加X锁,直到T释放A上的S锁。
这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改31、简述恢复的策略。
当系统允许到过程中发生故障,利用数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。
(事务故障的恢复和系统故障的恢复)32、简述两段琐的含义及解决的问题。
事务分为两个阶段,第一个阶段是获得封锁,也称为扩展阶段。
在这阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。
第二阶段是释放封锁,也称为收缩阶段。
在这阶段,事务可以释放任何数据项上的任何类型的锁,但是不能再申请任何锁33、简述常用数据模型的数据结构。
层次模型用树型结构表示实体及其之间联系的模型。
就象金字塔一样的那种,分上下级网络模型用网络结构表示实体类型及其实体之间联系的模型。
顾名思义,一个事物和另外的几个都有联系……这样构成一张网状图关系模型对关系的描述成为关系模式,一个关系模式,对应一个关系文件的结构。
就是表示了各种事物之间的关系,是立体的,三维的。
面向对象模型对象关系模型34、简述关系完整性及规则。
关系模型的完整性规则是对关系的某种约束条件。
任何关系在任何时刻都要满足这些语义约束。
包括实体完整性、参照完整性和用户定义的完整性31、给定关系模式判断达到第几范式,并说明原因,至少要求BCNF。
32简述嵌入式SQL语言需要解决的问题。
33简述视图的概念及视图与数据独立性的关系。
视图是从一个或几个表(或视图)导出的表。
他与基本表不同,是一个虚表。
数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。
34简述1NF,2NF,3NF,BCNF的概念。
1NF:关系中每一分量不可再分。
即不能以集合、序列等作为属性值2NF:若R∈1NF,且每个非主属性完全依赖于码,则称R∈2NF(消除非主属性对码的部分依赖)3NF:关系模式R< U , F >中,若不存在这样的码X,属性组Y及非主属性Z(Z Y),使得X→Y , Y→Z , Y→X成立则称R∈3NF(消除非主属性对码的传递依赖)35事务的调度:正确的地调度的含义及并行串行调度。
事务的执行顺序称为一个调度,表示事务的指令在系统中执行的时间顺序一组事务的调度必须保证:包含了所有事务的操作指令、一个事务中的指令的顺序必须保持不变串行调度:在串行调度中,属于同一事务的指令紧挨在一起;对于有n个事务的事务组,可以有n!个有效调度并行调度:在并行调度中,来自不同事务的指令可以交叉执行;当并行调度等价于某个串行调度时,则称它是正确的36简述三级封锁协议的含义及解决的问题。
封锁就是一个事务对某个数据对象加锁,取得对它一定的控制,限制其它事务对该数据对象使用。
并发控制的基本方法就是封锁。
0级封锁:短X锁,(在事务中途就可以释放)1级封锁:长X锁;可以有效的防止丢失更新;但是不能防止读“脏”不可重复读的出现。
2级封锁:短S锁,长X锁;可以防止丢失修改,读“脏”数据;不能防止不可重复读。
3级封锁:长S锁,长X锁;可以防止丢失修改,读“脏”,不可重复读。
37死锁的定义及发生的条件。
定义:两个事务都封锁了一些数据对象,并相互等待对方释放另一些数据对象以便对其封锁,结果两个事务都不能结束,则发生死锁发生条件:①互斥条件:事务请求对资源的独占控制。
②等待条件:事务已持有一定资源,又去申请并等待其它资源。
③非抢占条件:直到资源被持有它的事务释放之前,不可能将该资源强制从持有它的事务夺去④循环等待条件:存在事务相互等待的等待圈。
38两段锁的含义及解决的问题。
内容:①在对任何数据进行读写之前,事务首先要获得对该数据的封锁。
②在释放一个封锁之后,事务不再获得任何其它封锁。
即事务分为两个阶段:生长阶段:获得封锁。
收缩阶段:释放封锁。
定理:若所有事务均遵从两段锁协议,则这些事务的所有并行调度都是可串行化的。
39 恢复的概念把数据库、文档或其他信息从一个错误状态恢复到某一已知的正确状态叫恢复40设有一个记录商品采购信息的关系模式:R(商品号,商品名,规格,采购日期,采购单价,采购数量,采购员编号,采购员姓名)。
如果规定:每名采购员可负责多种商品的采购,但每种商品只能由一个人员负责采购;商品的采购单价随市场行情而定。
请判定该关系模式属于第几范式,并说明原因。
41给定关系模式R(sno,sdept,mname,cname,grade),其中各属性的含义是: sno :学号,sdept :系代码,mname :系主任,cname :课程名,grade成绩,请判定该关系模式属于第几范式,并说明原因。