【文档说明】数据库系统课堂提问-课件.ppt,共(100)页,1.762 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-92490.html
以下为本文档部分文字说明:
11ORACLE2SQLServer3DB24SYBASE5INFORMIX6SQLANYWHERE7FOXPRO8DBASE9DOMINAL10ACCESS请说出几个DBMS产品来?21人2数据3硬件4软件请说出DBS的主要组成部份?31数据定义功能2数据组织、存储和管理功能3数据操纵功
能4数据库的事务管理和运行管理5数据库的建立和维护功能6其他功能DBMS的主要功能有哪些?4数据结构化数据的共享性高,冗余度低,易扩充数据独立性高数据由DBMS统一管理和控制数据库系统的特点有哪
些?5数据的安全性保护数据的完整性检测并发控制数据库恢复DBMS提供的数据控制功能有哪些?6层次模型网状模型关系模型面向对象模型对象关系模型按照数据结构的类型,常用的数据模型有哪些?71概念模型2逻辑模型和物理模型按照应用目的,数据模型可分为什么?数据结构数据操作数据的
完整性约束条件数据模型的组成要素有哪些?81.一对一联系2.一对多联系3.多对多联系实体型间的联系有哪些?1.一对多联系请问班主任和班级之间的联系是什么?9请画出题库的E-R图。题库表题目编号类别编号完整
题面难度系数主观题答案备注题库答案表题目编号问题编号答案序号答案内容正确答案否流水号1n101、关系模型中数据的逻辑结构是一张二维表,它由行和列组成。2、关系模型中键选择并不一定唯一。如果关系模型键的属性数目总数小于关系模型中属性数目总数,则至少整个属性的组合
一定是键。关系模型的逻辑结构是什么,关系模型的键选择是否唯一?为什么?111.单用户结构2.主从式结构3.分布式结构4.客户/服务器结构5.浏览器/应用服务器/数据库服务器多层结构从数据库最终用户角度看,数据库系统的结构可分为哪些?12利用ER图设计用以保存电话本的信息表结构?13
1、关系数据结构;2、关系操作(包括查询操作和编辑操作)3、三类完整性结束实体完整性参照完整性用户定义完整性关系模型有哪些组成要素?141主码:(学号,课程号)2主属性:学号,课程号3非码属性:成绩设有关系选修(学号,课程号,成绩)?指出主码,主属性,非码属性
分别是什么?151.不知道2.不确定3.无意义某个字段值为空值是什么意思?什么是实体完整性?若属性A是基本关系R的主属性,则属性A不能取空值16计算:设R,S如下,计算R∪S,R∩S,R-S,R×SRcbacba221111Scbacba23122117SRc
ba221SRcbacbacba231221111SRcba111SRcbacbacbacbacbacbacbacba231221231221221111
22111118计算:设R,S如下,计算Rr.b=s.bS,A(R),σB=‘b2’(S)RABCa1b1c1a1b2c2SABCa1b2c2a1b3c219Rr.b=s.bSRARBRCSASBSCa1b2c2a1b2c2A(R)Aa1σB=‘b2’
(S)ABCa1b2c220P38页第12题21试证明在学生选课关系中,请证明SC(SNO,CNO,G)∈2NF[证明]首先每个学生的任何一门课只能有一个成绩,所以码为(SNO,CNO),非主属性为(G)。且属性组(SNO,CNO)函数确定
(G)。问题转化为需要证明(G)完全函数依赖于(SNO,CNO)。因为(SNO,CNO)的真子集(SNO),(CNO)都不能函数确定(G),所以(SNO,CNO)完全函数确定(G)。根据2NF定义,SC(SNO,CNO,G)∈2NF。22简述规范化理论的
优缺点。[证明]优点:规范化理论可以减少插入异常、删除异常、数据冗余度高等问题。缺点:它可能使得查询效率降低,编程工作难度加大,另外分割表时要适可而止,保持适当的数据冗余有助于提高数据的存取效率23请问SQL语言的特点有那些?综合统一高度的非过程化面向集合
的操作方式以同一种语法结构提供两种使用方式语言简捷、易学易用。24利用SQL语言,创建数据表T_xsda,包含的属性有Fi_id,Fs_xm,Fs_xb,Fd_csrq,其中Fi_id做主键。CREATETABLET_xsda(Fi
_idintNOTNULLprimarykey,Fs_xmvarchar(50)NULL,Fs_xbchar(2)NULL,Fd_csrqdatetimeNULL);25写一个用户自定义函数Fun_Score,输入的一个参数为
整数,当此参数值小于60时,返回不合格;60到74时,返回合格;75到84时,返回良;85到100时,返回优。CREATEFUNCTIONdbo.Fun_Score(@FI_Scoreint)RETURNSVarchar(30)ASBEGINDECLARE@FS_RETURNVarchar
(30)IF@FI_Score>84RETURN('优')261对不同版本的操作系统选择相应版本的SQLServer,并注意其对硬件、软件环境的要求。2安装时,注意为SA用户创建密码。3二次或升级安装时,应停止SQL的一切服务,并完全删除相应文件
和相应的登记注册项,如果相应的数据文件依然有用,应该事先备份。安装SQLServer时应注意哪些问题?27利用SQL语言,删除数据表T_xsda。DROPTABLET_xsda;28为student增加一个出生日期
的字段,名为d_csrq。altertablestudentaddd_csrqdatetime29为student创建在字段年龄Sage,性别Ssex和所在系Sdept的索引,名为i_asd。createindexi_a
sdonStudent(Sage,Ssex,Sdept)30删除student名为i_asd的索引。dropindexstudent.i_asd31删除student的字段,名为D_csrq。altertablestude
ntdropcolumnd_csrq32针对第二章习题5,利用SQL完成如下查询.Selectpname,color,weightFromp;2.找出所有零件的名称,颜色,重量33针对第二章习题5,利用SQL完成如下查询.Selectp.p
name,spj.qtyFromp,spjWherep.pno=spj.pnoandspj.jno=‘J2’;3.找出工程项目J2使用的各种零件的名称及数量。34针对第二章习题5,利用SQL完成如下查询.SelectdistinctJNOFromSPJWhereSNO=‘S1’;4.
找出使用供应商S1所供应零件的工程号码.35编写一个表值返回函数,输入为学生姓氏,输出为该姓氏的所有学生信息。CREATEFUNCTIONft_name(@fs_namevarchar(4))RETURNSTABLEASRETURN(SELECT
*fromstudentwheresnamelike@fs_name+'%');36jobs表中job_desc字段描述了工作性质,查询包含有‘Manager’的所有记录。Select*fromjobswherejob_desc
like'%Manager%'学员成绩表sc中有English,Math,Politic三字段,求这三门课的总成绩total,并按高低进行排序。SelectEnglish+Math+PoliticasTotalFromScOrd
erbyTotal37authors表中有au_fname和au_lname字段,查询姓为’Dean’名为’Straight’的记录。Select*FromauthorswhereAu_lname='Dean'andau_fn
ame='Straight'38查找student表中,成绩为中间两名的同学的信息selectstudentno,sname,point,phonefromstudentexceptselect*from(select*from(SELECTTOP5studentno,sname,p
oint,phoneFROMstudentorderbypoint)ai39查询计算机系年龄在20岁以上(含20),且姓刘的所有同学的姓名。SelectSnameFromStudentwhereSdept=‘CS’andSage>
=20andSnamelike‘刘%’40在学生成绩sc表中,统计学生的总学分以及选课的数目,并按总学分排序。selectsno,count(distinctcno)as选课数,sum(grade)as总学分f
romscgroupbysnoorderby总学分41在定单orders表中,按船籍shipregion和客户customerid统计其定单数以及运费freight总数。结果按船籍和客户排序。selectshipregion,Customeri
d,count(*)as定单数,sum(freight)as总费用fromordersgroupbyshipregion,CustomerIDorderbyshipregion,customerid42在产品表Product
s中列出了每种产品的供货信息,其中supplierid是供货商编号字段,ProductID是每种产品的编号,并且为主键,统计供货商能够提供的产品种类数,并显示多于2个种类的供货商,结果按供货商编号排序。selectsupplierid,供货种类=count(*)frompro
ductsgroupbysupplierIDhavingcount(*)>2orderbysupplierid43定单表orders中有顾客编号customerID字段,定单编号orderid(主键),运费(freight)等字段,顾客表customers中有顾客编号custo
merID字段(主键),公司名字companyname,联系电话phone等字段。显示每条定单的编号,运费,联系公司名字及联系电话。selecta.orderid,a.freight,b.companyn
ame,b.phonefromordersa,customersbwherea.customerid=b.customerid44查询至少选修了学生200215122选修的全部课程的学生号码selectd
istinctsnofromscscxwherenotexists(selectcnofromscwheresno='200215122'exceptselectcnofromscwheresc.sno=scx.sno)45查询期末成绩比该选修课程平均期
末成绩低的学生的学号、课程号和期末成绩SELECTstudentno,score.courseno,finalFROMscore,(SELECTcourseno,AVG(final)avg_finalFROMscoregroupbycourseno)bwheres
core.courseno=b.coursenoandscore.final<b.avg_final46利用子查询,在定单表orders和顾客表customers中查询城市city为Berlin的顾客的所有定单。
select*fromorderswherecustomeridin(selectcustomeridfromcustomerswherecity='Berlin')47设学生成绩表t_score,包含的属性有fs_xh,fs_kc,fi_cj,fd_ksrq
,写出SQL语句先列表学生的每门课成绩,再统计每个学生的平均成绩,按学号顺序排列。Select*from(Select*Fromt_scoreunionSelectfs_xh,’平均成绩’,avg(fi_cj),getdate()Fromt_scoreGroupbyfs_x
h)bOrderbyfs_xh,fd_ksrq48设1,2,3班同学的成绩记录表分别为t_1,t_2,t_3,每个表中有学生学号(FS_XH),成绩(FI_CJ),每门课程成绩为一条记录,则按总成绩顺序统计每个学生的总成绩,并显示总成绩>300分的同学,写出相应的SQL语句。Selectfs
_xh,sum(fi_cj)fi_zcjFrom(Selectfs_xh,fi_cjFromt_1UnionSelectfs_xh,fi_cjfromt_2UnionSelectfs_xh,fi_cjfrom
t_3)cGroupbyfs_xhHavingsum(fi_cj)>300Orderbysum(fi_cj)49找出score表中的非法学生数据selectdistinctstudentnofromscoreexcep
tselectdistinctstudentnofromstudentselectdistinctstudentnofromscorewherenotexists(select*fromstudentwherestudent.student
no=50设教师档案表有20条记录,教师基本工资记录表有15条记录,两表中仅有8条记录相对应,请问分别做内联接,教师档案表的左外联接,或右外联接,全外联接时分别应有多少条记录。内联接:8左外联接:20右外联接:15全外联接:2751设有表T1、T2包含
有相同的字段(FI_ID,FS_NAME),不考虑主键可能导致的错误,写出SQL语句,请将T1的所有记录输入到T2中,同时向T2输入数据(8,‘王平’)。insertintot2select*fromt1insertintot2values(8,'王平')52写出SQL语句,将T
1中的FI_ID=1的记录删除掉,将FI_ID=11的记录号更改为5555,FS_NAME=‘李彬’。deletefromt1wherefi_id=1updatet1setfi_id=5555,fs_name='李彬'wheref
i_id=1153设有表T1、T2、T3包含有相同的字段(FI_ID,FS_NAME),使用视图从三个表的并集中按ID编号选取后5条记录,请问应该如操作?createviewv_t123asselect*fromt1unionselect*fromt2unionselect*fromt
3selecttop5*fromv_t123orderbyfi_iddesc54查询score表中,既选修了’c05103’又选修了’c05108’的学生。selectstudentnofromscorewh
erecourseno='c05103'intersectselectstudentnofromscorewherecourseno='c05108'55查询student表中,男性且姓许的同学select*FROMstudentWHEREsex='男'inters
ectselect*fromstudentwheresnamelike'许%'56把score表中的final增加5%,如果对应的point高于750分。updatescoresetfinal=final*1.05wherestudentnoin(s
electstudentnofromstudentwherepoint>750)57查询选修了全部课程的学生姓名selectstudentnofromscoregroupbystudentnohavingCOUNT(distinctcourseno)=(selectCO
UNT(distinctcourseno)fromscore)58视图的作用有哪些?1.视图能够简化用户的操作2.视图使用户能以多种角度看待同一数据3.视图对重构数据库提供了一定程度的逻辑独立性4.视图能够对机密数据提供安全保护59计算机系统的安全性可分为哪三大类?1、技术安全类2、管理安全
类3、政策法律类60计算机系统的安全性的两大标准分别是?1、TCSEC可信计算机系统评估准则2、CC61试述实现数据库安全性控制的常用方法和技术?用户标识和鉴别存取控制视图机制审计数据加密62数据库完整性和安全性有何区别与联系?完整性是为了防止数据库中存在不符合语义的数据,防
止错误信息的输入和输出。安全性是保护数据库,防止恶意的破坏和非法的存取。它的防范对象是非法用户和非法操作。63把对表S的Insert权限授予用户张勇,并允许他再将此权限授予其他用户.GRANTINSERTONT
ABLESTO张勇Withgrantoption64把查询SPJ表和修改QTY属性的权限授给用户李天明.Grantselect,update(qty)OntablespjTo李天明65把查询SPJ表和修改QTY属性的权限从用户李天
明收回。Revokeselect,update(qty)Ontablespjfrom李天明66创建用户李天明创建角色学生将学生角色授予李天明Createuser李天明;Createrole学生;Grant学生to李天明6768数据库完整性和安全性有何区别与联系?完整性是为了
防止数据库中存在不符合语义的数据,防止错误信息的输入和输出。安全性是保护数据库,防止恶意的破坏和非法的存取。它的防范对象是非法用户和非法操作。69数据库的安全性控制主要涉及哪些方面?用户标识与鉴别存取控制自主存取控制强制存取控制视图机制审计数据加密统
计数据的安全性70为SC表增加一个fk_cno的约束,它规定字段cno是SC表的外键,参照于表course表字段cno,并且,如果course某条记录被删除,则SC表中的相应记录也将删除。Altertablescaddconstraintfk_cno
foreignkey(cno)referencescourse(cno)ondeletecascade71为SC表增加一个检测grade的约束,名为gr_ck,要求成绩不能低于0分。altertablescaddcon
straintgr_ckcheck(grade>=0)72编写一个数据库触发器,当任何时候某个部门从dept表中删除时,该触发器将从emp表中删除该部门的所有雇员。CREATEORREPLACETRIGGERdel_
emp_deptnoBEFOREDELETEONdeptFOREACHROWBEGINDELETEFROMempWHEREdeptno=:OLD.deptno;END;73编写一下触发器,完成功能:如果一个教师还有课上,则不能删除教师的基本信息。createtriggerbefore_dele
teonTeacher_infoforeachrowdeclarenumrowsINTEGER;begin/*检测是否授课*/selectcount(*)intonumrowsfromT_授课where:new.FI_ID=T_授课.
FI_ID;if(:new.FI_IDisnotnullandnumrows<>0)thenraise_application_error(-20007,‘不能删除,因为相关老师还在上课.');endif;7
4写一个用户自定义函数Fun_Score,输入的一个参数为整数,当此参数值小于60时,返回不合格;60到74时,返回合格;75到84时,返回良;85到100时,返回优。CREATEFUNCTIONdbo.Fun_Score(@FI_Scoreint)RETURNSVarchar(30)ASBEG
INDECLARE@FS_RETURNVarchar(30)IF@FI_Score>84RETURN('优')75在ERWin中,表与表之间的关系是靠什么来维护的?有哪些关系?触发器包括父表的(删除、插入、更新)触发器子表的(删除、插入、更新)触发器76在ERWin
中,有几种模式类型,分别有什么用途?Logical:用于显示关系数据模式的结构,提供给程序设计人员和一般用户使用,和具体的DBMS无关。Physical:用于创建物理数据库(表),主要供程序人员使用,它和具体的D
BMS有关。77数据依赖主要有哪几种?函数依赖多值依赖不好的关系模式主要会有哪些毛病?插入异常删除异常更新异常数据冗余度高78试证明在学生选课关系中,(SNO,CNO)完全函数确定(G)[证明]首先每个学生的任何一门课只能有
一个成绩,所以(SNO,CNO)函数确定(G)。另外(SNO,CNO)的真子集(SNO),(CNO)都不能函数确定(G),所以(SNO,CNO)完全函数确定(G)。79根据函数依赖的定义,“请问唯一标识一个元组
的属性组就称作候选码”这个描述是否正确?如果错误请怎样修改?如果关系模式R(X,Y,Z),如果(X)→(Z),则(X,Y)与(Z)的关系是什么?(Z)对(X,Y)部份函数依赖。错误,“唯一标识一个元组的最少属性组
就称作候选码”。F80试证明在学生选课关系中,请证明SC(SNO,CNO,G)∈2NF[证明]首先每个学生的任何一门课只能有一个成绩,所以码为(SNO,CNO),非主属性为(G)。且属性组(SNO,CNO)函数确定(G)。问
题转化为需要证明(G)完全函数依赖于(SNO,CNO)。因为(SNO,CNO)的真子集(SNO),(CNO)都不能函数确定(G),所以(SNO,CNO)完全函数确定(G)。根据2NF定义,SC(SNO,CNO,G)∈
2NF。81在关系模式STJ中,每一教师T只教一门课J,每门课J有若干教师T,某一学生S选定某门课,就对应一个固定的教师T。请证明STJ∈3NF,但不属于BCNF[证明]首先由定义直接可得(S,J)->T,(S,T)->J,T->J。码为(S,
J)或(S,T)。因而此问中没有任何非码属性,不构成任何非码属性对码传递依赖或部份依赖,所以STJ∈3NF。另外,T->J,但T并非码,更不会含有码,因此STJ不属于BCNF。82简述规范化理论的优缺点。[证明]优点:规范化理论可以减少插入异常、删除异常、数据冗
余度高等问题。缺点:它可能使得查询效率降低,编程工作难度加大,另外分割表时要适可而止,保持适当的数据冗余有助于提高数据的存取效率83数据库设计的基本步骤有哪些?需求分析;概念结构设计;逻辑结构设计;物理结构设
计;数据库运行和维护;84在需要分析中,常用的调查方法有哪些?(1)跟班作业(2)开调查会(3)请专人介绍(4)询问(5)设计调查表请用户填写(6)查阅记录85在需要分析中,调查的具体步骤有哪些?(1)调查组织机构情况(2)调查各部门的业务活动情况(3)明确用户对新系
统的各种要求(4)确定新系统的边界86在概念结构设计中,常用的方法有哪些?1)自顶向下。2)自底向上。3)逐步扩张。4)混合策略。87数据库的运行和维护主要包括哪些内容?数据库的转储和恢复数据库的安全性、完整性控制数据库性能的监督、分析和改造数据库的重组织与重构造数据库
视图集成的两种方式是什么?多个分E-R图一次集成逐步集成88查询处理的步骤有哪些?查询分析查询检查查询优化代数优化物理优化查询执行89实际系统对查询优化的具体实现步骤有哪些?把查询转换成某种内部表示。把语法树转换成标准(优化)形式。选择低层的存取路径
。生成查询计划、选择代价最小的。90什么是事务,事务的特性有哪些?事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。事务的特性包括:原子性一致性隔离性持续性91常见的故障种类有哪些?1事务内部
的故障2系统故障3介质故障4计算机病毒92Oracle中常见的备份方法有哪些?1全库备份2增量备份3累积备份93为我校学生选课系统的ORACLE数据库设计一个备份方案。忙时:1每周日晚做一次完全备份2周一、二、四、六做增量备份3周三、周五做
累积备份闲时1每月一号做完全备份2每周日做增量备份3半月做累积备份94什么是日志文件?为什么需要日志文件?日志文件是用来记录事务对数据库的更新操作的文件。设立日志文件的目的是:进行事务故障恢复;进行系统故障恢
复;协助后备副本进行介质故障恢复。95登记日志文件时为什么必须先写日志文件,后写数据库?把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成一个。如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无
法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是最多执行一次UNDO操作,并不会影响数据库的正确性。所以一定要先写日志文件,再写数据库的修改。96并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况?丢失修改(两个事务T1和T2读入同一数
据并修改,T2提交的结果破坏了T1提交的结果,导致T1的修改丢失)。不可重复读(T1读取数据后,T2执行更新操作,使T1无法再现前一次读结果)。读脏数据(T1修改某一数据,并将其写回磁盘,T2读取后,T1由于某种原因被回滚,导
致T2读到的是无效数据)。避免不一致性的方法和技术就是并发控制。最常用的技术是封锁技术。97基本的封锁类型有几种?试述它们的含义。排它锁(X锁)。若事务T对数据对象A加上X锁,则只允许允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保
证了其他事务在T释放A上的锁之前不能再读取和修改A。共享锁(S锁)。若事务T对数据对象A加上S锁,则事务T可以读但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对
A做任何修改。98三级封锁协议的内容是什么?一级封锁协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。一级封锁协议可以防止丢失修改,并保障事务是可恢复的。二级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,数据读完后可释放S锁。本协议防止了丢
失修改,而且进一步防止了读肮脏数据。三级封锁协议:一级封锁协议加上事务T在读取数据R之前必须先对其加S锁,直到事务读完后才释放。本协议可以解决丢失修改和不读肮脏数据、还防止了不可重复读数。99设T1、T2、T3是如下3个事
务,设A的初值为0。T1:A:=A+2;T2:A:=A*2;T3:A:=A**2;若这3个事务允许并行执行,则有多少可能的正确结果,请一一列举出来。A的最终结果可能有2、4、8、16。串行执行次序有:T1T2T3T1T3T2T2T1
T3T2T3T1T3T1T2T3T2T1100什么是两段锁协议?A的最终结果可能有2、4、8、16。串行执行次序有:T1T2T3T1T3T2T2T1T3T2T3T1T3T1T2T3T2T1