数据库应用程序设计模拟试卷及答案.doc_第1页
数据库应用程序设计模拟试卷及答案.doc_第2页
数据库应用程序设计模拟试卷及答案.doc_第3页
数据库应用程序设计模拟试卷及答案.doc_第4页
数据库应用程序设计模拟试卷及答案.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浙江大学远程教育学院模拟试题卷课程代码名称数据库应用程序设计 一、填空题(每格1分,共20分)1三层C/S结构包括客户机、应用服务器和 数据库服务器 三部分。2两个具有相同结构的关系R和S,它们的 差 运算是由属于R但不属于S的元组组成的集合。3在E-R图中,用矩形表示 实体集 ,用椭圆形表示 属性 ,用菱形表示 联系 。4数据库系统的技术文档包括 系统说明书 、 技术说明书 和 使用说明书(无先后次序) 。5在Access 2002中,文本类型的最大长度为 255 。6DSN可以分成三种,分别是 系统DSN 、 用户DSN 和 文件DSN 。其中 系统DSN(前三无先后次序) 可以被登录到系统中的所有用户使用。7可通过把TQuery组件的Active属性值设置为 True 来执行存放在SQL属性中的SQL语句。8TADOStoreProc组件通过 ProcedureName 属性指定存放在服务器上的一个存储过程,应用程序可以执行这个存储过程。9一个Rave报表文件中可以包含 多 个报表,一个报表中可以包含 多 张报表页。10如果客户端要通过 HTTP 协议连接到应用服务器,就需要使用TWebConnection组件。使用该组件进行连接,首先要设置应用服务器IIS,在应用服务器上,把 HTTPsrvr.Dll 复制到IIS默认的scripts虚拟目录下并打开默认站点服务。该组件有一个重要的属性 URL ,用来定位应用服务器,该属性的值应设置为应用服务器上的“HTTPsrvr.Dll”所在的虚拟目录。二、选择题(每题1分,共20分)1. 使用Rave报表设计器的 A 组件,可以把数据库中的位图字段显示在报表上。ABitMapBMetaFileCDataTextDSection2. 下列 D 组件最适合执行SQL的SELECT语句。ATADOConnectionBTADOCommandCTADOTableDTADOQuery3. 下列不属于两层CS结构的特点是 D 。A安装与维护麻烦B客户端过于庞大C应用(企业)逻辑放在客户端D客户端只处理显示逻辑4. 要使TQuery组件中的SQL语句执行后返回一个结果数据集,应调用TQuery组件的哪个方法? BAAddBOpenCExecSQLDOpen和ExecSQL5. 要使TDBNavigator组件能够浏览某个数据表中的记录,应把它的DataSource属性设置为 B 组件名。ATTableBTDataSourceCTFieldD不需设置6. 要给学生信息表(STUDENT)增加一个出生日期字段(日期型),下面正确的是 C 。ACREATE TABLE STUDENT ADD 出生日期 DATETIMEBALTER TABLE STUDENT ALTER出生日期 DATETIMECALTER TABLE STUDENT ADD出生日期 DATETIMEDALTER TABLE STUDENT SET出生日期 DATETIME7. 在ODBC层次结构中, A 包含在ODBC32.DLL中,对用户是透明的,其任务是管理ODBC驱动程序,是ODBC中最重要的部件。A驱动程序管理器DODBC APICODBC管理器B数据源名8. 在Access 2002中,要定义数据表某个字段的属性,应在 D 视图中进行。A数据表B数据库C关系D表设计9. 在数据库桌面中已经建立了一个数据库别名“MYALLAS”,现在要让TTable组件能够访问该别名下的数据表,应把它的 D 属性设置为该别名值。 ATableTypeBTableNameCDatabaseDDatabaseName10. 下列的哪个运算不是关系运算中的传统的集合运算? CA并B差C投影D交11. “主机-终端”数据库应用系统的特点是终端只处理 A 逻辑?A显示B应用C事务D数据12. 通过TADOTable组件的 A 属性,可以设定正在被操作的数据表的名字。ATableNameBTableDirectCCommandTypeDCommandText13. TQuery组件主要用于执行SQL语句,它执行的SQL语句存放在 D 属性中。ADatabaseNameBTableNameCDataSourceDSQL14. 要使TDataSource组件与TTable组件相联系,应把它的 A 属性设置为TTable组件的名称。ADataSetBDataFieldCDataSourceDDatabaseName15. 使用Database Desktop程序,不能完成下列的哪个功能? DA创建和维护数据库表B创建和维护数据库别名C执行SQL语句D创建三层结构的数据库程序16. 关于主键的说法不正确的是哪个? CA它能够唯一地标识表中的每条记录B在主键字段中不允许Null值的存在C只能由一个字段组成D可用于与其他表中的外键建立关系17. 下列的哪一项不是逻辑设计第一阶段(分析用户需求)产生的? DA用户活动图B数据流图C数据字典D局部E-R图18. 通过TRvProject组件可以可视化地访问Rave报表,TRvProject组件的 C 属性用来指明应用程序使用的Rave报表项目文件的文件名。AExecuteBLoadFromFileCProjectFileDReportName19. 在关系运算中,根据具有相同属性名的字段相同进行联结,且在联结结果中去掉重复属性,这样的运算是下面哪一个? 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分)1请解释下面一段程序的作用。Procedure Tform1.table1BeforeDelete(DataSet: TDataSet);Begin/table1中的表是学生信息表S try table2.indexName := XH; /学号作业索引名,table2中的表是选修表SC if table2.findkey(DataSet.fieldbyname(学号).Asstring) then begin/程序代码略,利用TQuery组件删除相应table2中的记录 end; except on E:EDBEngineError do showmessage(不能删除该记录); end;End;Procedure Tform1.table1AfterPost(DataSet: TDataSet);Begin showmessage(数据保存成功);End;这是一个级联删除的示例,在删除S表前,先搜索SC表,若发现有与当前记录关联的记录存在,就先删除之。 如果在删除操作中遇到例外,将终止删除操作。2阅读下面的一段程序,请比较与第1题中代码的差别。Procedure Tform1.table1AfterDelete(DataSet: TDataSet);Begin/table1中的表是学生信息表S table2.indexName := XH; /学号作业索引名,table2中的表是选修表SC if table2.findkey(DataSet.fieldbyname(学号).Asstring) then begin/程序代码略,利用TQuery组件删除相应table2中的记录 end;End;这段同样是级联删除的示例,但与第1题不同的是,它是先删除S表记录,然后再根据被删除记录来决定是否删除SC表中的相应记录。而且,即使发生例外,也不终止删除操作。3分析第1题和第2题中存在的主要问题,解决这一问题的方法是什么,可以利用什么组件来解决这一问题。(提示:上述两段代码都涉及到两个表的删除操作)第1题和第2题都涉及两个表的删除操作,可能会导致数据的一致性问题。解决的方法是利用事务处理机制,这一点可以利用TDatabase组件。利用该组件的事务处理方法可以解决这一问题。4解释下面的代码的作用。并对其进行注释。procedure TForm1.Button1Click(Sender: TObject);begin datasource1.DataSet := table1; dbgrid1.DataSource := datasource1; table1.Close; table1.DatabaseName := aa; table1.TableName := Students; table1.Open;end;procedure TForm1.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来激发的。五、编程题(每题5分,共30分)1. 请将下面的程序补充完整,使之完成返回SC(选修表)中选修了课程号(Cno)为“01”的记录。并将打开数据集后的当前记录的前三个字段值显示在组件edit1(文本编辑条)中。Query1.Close;/关闭Query1Query1. .Clear;/清除待执行语句Query1.SQL. (SELECT * FROM SC WHERE Cno=01);/查询语句定义Query1. ;/执行查询 ;/显示内容至edit1上Query1.Close;Query1.SQL.Clear;Query1.SQL.Add(SELECT * FROM SC WHERE Cno=01);Query1.OpenEdit1.text := Query1.fields0.asstring+Query.fields1.asstring+Query1.fields2.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 * FROM SC WHERE Cno=:cn); Query1.parambyname(cn).asstring := edit3.text; Query1.Open;4. 请将下面的程序补充完整,使之完成能够执行用户输入的SQL语句,该语句由edit4来获取。 ADOCommand1. := CmdText;/设置命令类型 ADOCommand1. := .text;/设置命令文本 ADOCommand1. ;/执行命令ADOCommand1.CommandType := CmdText; ADOCommand1.CommandText := edit4.text; ADOCommand1.Excute;5. 如果通过TADOQuery组件来完成第4题的任务,代码如何书写?(假设定义了TADOQuery组件的实例为ADOQuery1)。由于不能保证用户输入的SQL语句一定正确,因此需要添加一些代码,保证程序运行的正确,即将出现SQL语句语法问题时,在label1(文本标签)上显示“SQL语句有错,请重新输入。”ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(edit4.text); Try ADO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论