您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 商业计划书 > 数据库应用程序设计模拟试卷及答案
第1页共7页浙江大学远程教育学院模拟试题卷课程代码名称数据库应用程序设计一、填空题(每格1分,共20分)1.三层C/S结构包括客户机、应用服务器和数据库服务器三部分。2.两个具有相同结构的关系R和S,它们的差运算是由属于R但不属于S的元组组成的集合。3.在E-R图中,用矩形表示实体集,用椭圆形表示属性,用菱形表示联系。4.数据库系统的技术文档包括系统说明书、技术说明书和使用说明书(无先后次序)。5.在Access2002中,文本类型的最大长度为255。6.DSN可以分成三种,分别是系统DSN、用户DSN和文件DSN。其中系统DSN(前三无先后次序)可以被登录到系统中的所有用户使用。7.可通过把TQuery组件的Active属性值设置为True来执行存放在SQL属性中的SQL语句。8.TADOStoreProc组件通过ProcedureName属性指定存放在服务器上的一个存储过程,应用程序可以执行这个存储过程。9.一个Rave报表文件中可以包含多个报表,一个报表中可以包含多张报表页。10.如果客户端要通过HTTP协议连接到应用服务器,就需要使用TWebConnection组件。使用该组件进行连接,首先要设置应用服务器IIS,在应用服务器上,把HTTPsrvr.Dll复制到IIS默认的scripts虚拟目录下并打开默认站点服务。该组件有一个重要的属性URL,用来定位应用服务器,该属性的值应设置为应用服务器上的“HTTPsrvr.Dll”所在的虚拟目录。二、选择题(每题1分,共20分)1.使用Rave报表设计器的A组件,可以把数据库中的位图字段显示在报表上。A.BitMapB.MetaFileC.DataTextD.Section2.下列D组件最适合执行SQL的SELECT语句。A.TADOConnectionB.TADOCommandC.TADOTableD.TADOQuery第2页共7页3.下列不属于两层CS结构的特点是D。A.安装与维护麻烦B.客户端过于庞大C.应用(企业)逻辑放在客户端D.客户端只处理显示逻辑4.要使TQuery组件中的SQL语句执行后返回一个结果数据集,应调用TQuery组件的哪个方法?BA.AddB.OpenC.ExecSQLD.Open和ExecSQL5.要使TDBNavigator组件能够浏览某个数据表中的记录,应把它的DataSource属性设置为B组件名。A.TTableB.TDataSourceC.TFieldD.不需设置6.要给学生信息表(STUDENT)增加一个出生日期字段(日期型),下面正确的是C。A.CREATETABLESTUDENTADD出生日期DATETIMEB.ALTERTABLESTUDENTALTER出生日期DATETIMEC.ALTERTABLESTUDENTADD出生日期DATETIMED.ALTERTABLESTUDENTSET出生日期DATETIME7.在ODBC层次结构中,A包含在ODBC32.DLL中,对用户是透明的,其任务是管理ODBC驱动程序,是ODBC中最重要的部件。A.驱动程序管理器D.ODBCAPIC.ODBC管理器B.数据源名8.在Access2002中,要定义数据表某个字段的属性,应在D视图中进行。A.数据表B.数据库C.关系D.表设计9.在数据库桌面中已经建立了一个数据库别名“MYALLAS”,现在要让TTable组件能够访问该别名下的数据表,应把它的D属性设置为该别名值。A.TableTypeB.TableNameC.DatabaseD.DatabaseName10.下列的哪个运算不是关系运算中的传统的集合运算?CA.并B.差C.投影D.交11.“主机-终端”数据库应用系统的特点是终端只处理A逻辑?A.显示B.应用C.事务D.数据12.通过TADOTable组件的A属性,可以设定正在被操作的数据表的名字。A.TableNameB.TableDirectC.CommandTypeD.CommandText第3页共7页13.TQuery组件主要用于执行SQL语句,它执行的SQL语句存放在D属性中。A.DatabaseNameB.TableNameC.DataSourceD.SQL14.要使TDataSource组件与TTable组件相联系,应把它的A属性设置为TTable组件的名称。A.DataSetB.DataFieldC.DataSourceD.DatabaseName15.使用DatabaseDesktop程序,不能完成下列的哪个功能?DA.创建和维护数据库表B.创建和维护数据库别名C.执行SQL语句D.创建三层结构的数据库程序16.关于主键的说法不正确的是哪个?CA.它能够唯一地标识表中的每条记录B.在主键字段中不允许Null值的存在C.只能由一个字段组成D.可用于与其他表中的外键建立关系17.下列的哪一项不是逻辑设计第一阶段(分析用户需求)产生的?DA.用户活动图B.数据流图C.数据字典D.局部E-R图18.通过TRvProject组件可以可视化地访问Rave报表,TRvProject组件的C属性用来指明应用程序使用的Rave报表项目文件的文件名。。A.ExecuteB.LoadFromFileC.ProjectFileD.ReportName19.在关系运算中,根据具有相同属性名的字段相同进行联结,且在联结结果中去掉重复属性,这样的运算是下面哪一个?BA.内部联结(连接)B.自然联结(连接)C.等值联结(连接)D.外部联结(连接)20.在关系模型中,同一个关系中的不同属性,其属性名B。A.可以相同B.不能相同C.可以相同,但数据类型不同D.必须相同三、缩略语解释(每题2分,共10分)1.ODBC开放数据库连接,是数据库访问的标准2.HTTP文本传输协议,基于TCP/IP,是因特网中最常用的网络传输协议3.DBS由DBMS、应用程序、支持数据库运行的软硬件环境和DBA构成系统4.RDO远程数据对象,微软用于访问远程数据对象的技术5.MADC由微软提供的用于进行数据访问的最新技术,包括DAO,RDO,ADO,ODBC和RDS等四、程序阅读(每题5分,共20分)第4页共7页1.请解释下面一段程序的作用。ProcedureTform1.table1BeforeDelete(DataSet:TDataSet);Begin//table1中的表是学生信息表Strytable2.indexName:=‘XH’;//学号作业索引名,table2中的表是选修表SCiftable2.findkey([DataSet.fieldbyname(‘学号’).Asstring])thenbegin//程序代码略,利用TQuery组件删除相应table2中的记录end;exceptonE:EDBEngineErrordoshowmessage(‘不能删除该记录’);end;End;ProcedureTform1.table1AfterPost(DataSet:TDataSet);Beginshowmessage(‘数据保存成功’);End;这是一个级联删除的示例,在删除S表前,先搜索SC表,若发现有与当前记录关联的记录存在,就先删除之。如果在删除操作中遇到例外,将终止删除操作。2.阅读下面的一段程序,请比较与第1题中代码的差别。ProcedureTform1.table1AfterDelete(DataSet:TDataSet);Begin//table1中的表是学生信息表Stable2.indexName:=‘XH’;//学号作业索引名,table2中的表是选修表SCiftable2.findkey([DataSet.fieldbyname(‘学号’).Asstring])thenbegin//程序代码略,利用TQuery组件删除相应table2中的记录end;End;这段同样是级联删除的示例,但与第1题不同的是,它是先删除S表记录,然后再根据被删除记录来决定是否删除SC表中的相应记录。而且,即使发生例外,也不终止删除操作。3.分析第1题和第2题中存在的主要问题,解决这一问题的方法是什么,可以利用什么组件来解决这一问题。(提示:上述两段代码都涉及到两个表的删除操作)第5页共7页第1题和第2题都涉及两个表的删除操作,可能会导致数据的一致性问题。解决的方法是利用事务处理机制,这一点可以利用TDatabase组件。利用该组件的事务处理方法可以解决这一问题。4.解释下面的代码的作用。并对其进行注释。procedureTForm1.Button1Click(Sender:TObject);begindatasource1.DataSet:=table1;dbgrid1.DataSource:=datasource1;table1.Close;table1.DatabaseName:='aa';table1.TableName:=‘Students’;table1.Open;end;procedureTForm1.Button1Click(Sender:TObject);begin//Button1单击触发事件datasource1.DataSet:=table1;//设置TDataSource组件,使之与table1关联dbgrid1.DataSource:=datasource1;//设置TDBGrid组件,使之与TDataSource关联table1.Close;//关闭table1,为设置其他属性进行准备table1.DatabaseName:='aa';//设置table1的数据源table1.TableName:=‘Students’;//设置table1的待操作表table1.Open;//取回数据集,并显示在关联组件上end;这段代码通过TDBGrid组件将组件table1中的表Students内容显示出来,并且此显示操作是通过单击按钮Button1来激发的。第6页共7页五、编程题(每题5分,共30分)1.请将下面的程序补充完整,使之完成返回SC(选修表)中选修了课程号(Cno)为“01”的记录。并将打开数据集后的当前记录的前三个字段值显示在组件edit1(文本编辑条)中。Query1.Close;//关闭Query1Query1..Clear;//清除待执行语句Query1.SQL.(‘SELECT*FROMSCWHERECno=’’01’’’);//查询语句定义Query1.;//执行查询;//显示内容至edit1上Query1.Close;Query1.SQL.Clear;Query1.SQL.Add(‘SELECT*FROMSCWHERECno=’’01’’’);Query1.OpenEdit1.text:=Query1.fields[0].asstring+Query.fields[1].asstring+Query1.fields[2].asstring;2.在上一题的基础上,补充一段代码,将返回数据集中撮后一条记录的“Sno”、“Cno”和“Grade”字段内容显示到组件edit2(文本编辑条)中。Query1.Last;Edit2.text:=Query1.fieldbyname(‘sno’).asstring+Query1.fieldbyname(‘Cno’).asstring+Query1.fieldbyname(‘Grade’).asstring;3.改造第1题中的代码,使之使用参数的方式进行查询,从edit3(文本编辑条)中读取用户输入作为待查询的课程号,并以参数的形式传递给Query1,从而动态地返回选修记录。Query1.SQL.Add(‘SELECT*FROMSCWHERECno=:cn’);Query1.parambyname(‘cn’).asstring:=edit3.text;Query1.Open;4.请将下面的程序补充完整,使之完成能够执行用户输入的SQL语句,该语句由edit4来获取。ADOComman
本文标题:数据库应用程序设计模拟试卷及答案
链接地址:https://www.777doc.com/doc-2428385 .html