《2022年数据库复习材料 .pdf》由会员分享,可在线阅读,更多相关《2022年数据库复习材料 .pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库复习材料1(选择)。试描述数据、数据库、数据库管理系统、数据库系统的概念(l)数据(Data):描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。(2)数据库(DataBase,简称DB):数据库是长期储存在计算机内的、有组织的、可共享的数据集合。(3)数据库系统(DataBas。Sytem,简称DBS):数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。(4)数据库管理系统(DataBase Management sytem,简称DBMs):数据库管理系统是位于用户与操作系统之间的一
2、层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。2(选择)试述数据库系统特点:(l)数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。(2)数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用以多种不同的语言共享使用。(3)数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。(4)数据由DBMS 统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据。(选择)试述数据模型的概念、数据模型的作用和数据模型的三
3、个要素。数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。(l)数据结构:是所研究的对象类型的集合,是对系统静态特性的描述。(2)数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。(3)数据的约束条件:是一组完整性规则的集合。构架。4(选择)试述概念模型的作用。概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库
4、设计人员和用户之间进行交流的语言。5(简答)试给出3 个实际部门的E 一 R 图,要求实体型之间具有一对一、一对多、多对多各种不同的联系。6(简答)什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理员对模式内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式模式的映像做相应改变,可以使外模式保持不变。名师
5、资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 6 页 -应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。P74页第三题7设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1)求供应工程J1零件的供应商号码SNO:Sno(Sno=J1(SPJ))2)求供应工程J1零件 P1的供应商号码SNO:Sno(Sno=J1 Pno=P1(SPJ)3)求供应工程J1零件为红色的供应商号码SNO:Sno(Pno=P1(COLOR
6、=红(P)SPJ))4)求没有使用天津供应商生产的红色零件的工程号JNO:Jno(SPJ)-JNO(city=天津 Color=红(SSPJ P)5)求至少用了供应商S1所供应的全部零件的工程号JNO:Jno,Pno(SPJ)Pno(Sno=S1(SPJ)8.针对上题中建立的4 个表试用sQL 语言完成第二章习题5 中的查询。(l)求供应工程Jl 零件的供应商号码SNO;SELECT DISTSNOFROMSPJ WHEREJNO=J1(2)求供应工程Jl 零件Pl 的供应商号码SNO;SELECT DISTSNOFROMSPJWHEREJNO=J1AND PNO=P1(3)求供应工程Jl 零
7、件为红色的供应商号码SNO;SELECT SNOFROMSPJ,P WHEREJNO=J1ANDSPJ.PNO=P.PNO AND COLOR=红(4)求没有使用天津供应商生产的红色零件的工程号JNO;SELECT DISTJNOFROM SPJ WHEREJNONOTIN(SELEJNOFROMSPJ,P,S WHERES.CITY=天津 AND COLOR=红 ANDS.SNO=SPJ.SNO ANDP.PNO=SPJ.PNO)。(5)求至少用了供应商Sl 所供应的全部零件的工程号JNO;由于 VFP不允许子查询嵌套太深,将查询分为两步A、查询 S1供应商供应的零件号SELECT DIST
8、PNO FROMSPJ WHERESNO=S1 结果是(P1,P2)B、查询哪一个工程既使用P1零件又使用P2 零件。SELECT JNOFROMSPJWHEREPNO=P1AND JNOIN(SELECT JNOFROMSPJWHEREPNO=P2)8针对习题3 中的四个表试用SQL语言完成以下各项操作:(1)找出所有供应商的姓名和所在城市。SELECT SNAME,CITYFROMS(2)找出所有零件的名称、颜色、重量。SELECT PNAME,COLOR,WEIGHT FROMP(3)找出使用供应商S1所供应零件的工程号码。SELECT DISTJNOFROMSPJWHERESNO=S1
9、(4)找出工程项目J2使用的各种零件的名称及其数量。SELECT PNAME,QTYFROMSPJ,PWHEREP.PNO=SPJ.PNO AND SPJ.JNO=J2(5)找出上海厂商供应的所有零件号码。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 6 页 -SELECT PNOFROMSPJ,S WHERES.SNO=SPJ.SNO AND CITY=上海(6)出使用上海产的零件的工程名称。SELECT JNAMEFROMSPJ,S,JWHERES.SNO=SPJ.SNO AND S.CITY=上海 AND J.JNO=SPJ.JNO(7)找出没有使用天津产的零件的工程号码
10、。注意:SELECT DISPJNO FROMSPJWHEREJNONOT IN(SELECT DISTJNO FROM SPJ,S WHERES.SNO=SPJ.SNO ANDS.CITY=天津)适用于 JNO是唯一或不唯一的情况.注意:SELECT DISTJNOFROMSPJ,S WHERES.SNO=SPJ.SNO AND S.CITY 天津 适用于JNO是唯一的情况(8)把全部红色零件的颜色改成蓝色。UPDATEP SETCOLOR=蓝WHERECOLOR=红(9)由 S5供给 J4的零件 P6 改为由 S3供应。UPDATE SPJ SETSNO=S3WHERESNO=S5AND
11、JNO=J4ANDPNO=P6(10)从供应商关系中删除供应商号是S2 的记录,并从供应情况关系中删除相应的记录。A、DELETE FROMSWHERESNO=S2B、DELETE FROMSPJ WHERESNO=S2(11)请将(S2,J6,P4,200)插入供应情况关系。INSERT INTOSPJ VALUES(S2,J6,P4,200)9 什么是基本表?什么是视图?两者的区别和联系是什么?基本表是本身独立存在的表,在sQL 中一个关系就对应一个表。视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存
12、放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。10、所有的视图是否都可以更新?为什么?不是。视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。因为有些视图的更新不能惟一有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的.11什么是数据库中的自主存取控制方法和强制存取控制方法?自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一
13、个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。12.SQL 语言中提供了哪些数据控制(自主存取控制)的语句?请试举几例说明它们的使用方法。SQL 中的自主存取控制是通过GRANT语句和 REVOKE语句来实现的。如:GRANTSELECT,INSERT ON StudentTO 王平WITH GRANTOPTION;就将 Student 表的 SELECT和 INSERT权限授予了用户王平,后面的“WITH GRANTOPTION”子句表示用户王平同时也获得了“授权”的权限,即可以把得到的权限继续授予其他用户。REVOKE INSERTON Student
14、FROM 王平 CASCADE;就将 Student 表的 INSERT权限从用户王平处收回,选项CASCADE表示,如果用户王平将Student 的 INSERT权限又转授给了其他用户,那么这些权限也将从其他用户处收回。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 6 页 -13.8请用 SQL的 GRANT 和 REVOKE 语句(加上视图机制)完成以下授权定义或存取控制功能:(a)用户王明对两个表有SELECT权力。GRANTSELECT ON 职工,部门TO 王明(b)用户李勇对两个表有INSERT和 DELETE权力。GRANTINSERT,DELETEON 职工,部
15、门TO 李勇(c)每个职工只对自己的记录有SELECT权力。GRANTSELECT ON 职工WHENUSER()=NAMETOALL;(d)用户刘星对职工表有SELECT权力,对工资字段具有更新权力。GRANTSELECT,UPDATE(工资)ON 职工TO 刘星(e)用户张新具有修改这两个表的结构的权力。GRANTALTER TABLEON 职工,部门TO 张新;(f)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。GRANTALLPRIVILIGES ON 职工,部门TO 周平WITHGRANTOPTION;(g)用户杨兰具有从每个部门职工中SELECT最
16、高工资、最低工资、平均工资的权力,他不能查看每个人的工资。CREATE VIEW 部门工资ASSELECT部门.名称,MAX(工资),MIN(工资),AVG(工资)FROM 职工,部门WHERE 职工.部门号=部门.部门号GROUPBY 职工.部门号GRANTSELECT ON 部门工资TO 杨兰;14.什么是数据库的完整性?数据库的完整性是指数据的正确性和相容性。15.数据库的完整性概念与数据库的安全性概念有什么区别和联系?数据的完整性和安全性是两个不同的概念,但是有一定的联系。前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garba:e InGa
17、rba:e out)所造成的无效操作和错误结果。后者是保护数据库防止恶意的破坏和非法的存取。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。什么是数据库的完整性约束条件?可分为哪几类?完整性约束条件是指数据库中的数据应该满足的语义约束条件。一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。静态列级约束是对一个列的取值域的说明,包括以下几个方面:(l)对数据类型的约束,包名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 6 页 -括数据的类型、长度、单位、精度等;(2)对数据格式的约束;(3
18、)对取值范围或取值集合的约束;(4)对空值的约束;(5)其他约束。静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。常见的静态关系约束有:(l)实体完整性约束;(2)参照完整性约束;(3)函数依赖约束。动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:(l)修改列定义时的约束;(2)修改列值时的约束。动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件。动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件
19、。17.数据字典的内容和作用是什么?答:数据字典是系统中各类数据描述的集合。数据字典的内容通常包括:(l)数据项;(2)数据结构;(3)数据流;(4)数据存储;(5)处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构。数据字典通过对数据项和数据结构的定义来描述数据流和数据存储的逻辑内容。数据字典的作用:数据字典是关于数据库中数据的描述,在需求分析阶段建立,是下一步进行概念设计的基础,并在数据库设计过程中不断修改、充实、完盖。18.规范化理论对数据库设计有什么指导意义?答:规范化理论为数据库设计人员判断关系模式的优劣提供了理论标准,可用以指导关系数据模型的优化,用
20、来预测模式可能出现的问题,为设计人员提供了自动产生各种模式的算法工具,使数据库设计工作有了严格的理论基础。19.试述 RDBMS查询优化的一般准则。答:下面的优化策略一般能提高查询效率:(l)选择运算应尽可能先做;(2)把投影运算和选择运算同时进行;(3)把投影同其前或其后的双目运算结合起来执行;(4)把某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接运算;(5)找出公共子表达式;(6)选取合适的连接算法。20.试述事务的概念及事务的4 个特性。事务具有4 个特性:原子性(Atomicity)、一致性(consistency)、隔离性(Isolation)和持续性(Durability)
21、。21.为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。答:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。例如某工厂的库存管理系统中,要把数量为Q 的某种零件从仓库1 移到仓库2 存放。则可以定义一个事务T,T 包括两个操作;Ql=Ql 一 Q,Q2=Q2+Q。如果 T 非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q。22.数据库运行中可能产生的故障有哪几
22、类?哪些故障影响事务的正常执行?哪些故障破坏数据库数据?答:数据库系统中可能发生各种各样的故障,大致可以分以下几类:事务内部的故障;(2)系统故障;(3)介质故障;名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 6 页 -(4)计算机病毒。事务故障、系统故障和介质故障影响事务的正常执行;介质故障和计算机病毒破坏数据库数据。23数据库转储的意义是什么?试比较各种数据转储方法。数据转储是数据库恢复中采用的基本技术。当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。静态转储:在系统中无运行事务时进行的转储操作,同样,新的事务必须等待转储结束才能执行。动态转储:指转储
23、期间允许对数据库进行存取或修改。但是,转储结束时后援副本上的数据并不能保证正确有效。海量转储是指每次转储全部数据库。增量转储则指每次只转储上一次转储后更新过的数据。24.什么是日志文件?为什么要设立日志文件?(1)日志文件是用来记录事务对数据库的更新操作的文件。(2)设立日志文件的目的是:进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。25登记日志文件时为什么必须先写日志文件,后写数据库?把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。如果先写了数据库修改,而在运行记录中没有登记这
24、个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO 操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。26 并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏夕数据。避免不一致性的方法和技术就是并发控制。27.什么是封锁?基本的封锁类型有几种?试述它们的含义。封锁就是事务T 在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。基本的封锁类型有两种:排它锁(ExclusiveLocks,简
25、称 x 锁)和共享锁(ShareLocks,简称S 锁)。如何用封锁机制保证数据的一致性?DBMS 按照一定的封锁协议,对并发操作进行控制,使得多个并发操作有序地执行,就可以避免丢失修改、不可重复读和读“脏夕数据等数据不一致性。29.什么是活锁?什么是死锁?活锁的含义是该等待事务等待时间太长,似乎被锁住了,实际上可能被激活。30.试述活锁的产生原因和解决方法。答:活锁产生的原因:当一系列封锁不能按照其先后顺序执行时,就可能导致一些事务无限期等待某个封锁,从而导致活锁。避免活锁的简单方法是采用先来先服务的策略。当多个事务请求封锁同一数据对象时,封锁子系统按请求封锁的先后次序对事务排队,数据对象上的锁一旦释放就批准申请队列中第一个事务获得锁。31.什么是死锁,预防死锁的若干方法。是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。破坏互斥条件破坏不可剥夺条件破坏零散请求条件破坏循环等待条件名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 6 页 -