数据库设计及应用试题参考答案.doc_第1页
数据库设计及应用试题参考答案.doc_第2页
数据库设计及应用试题参考答案.doc_第3页
数据库设计及应用试题参考答案.doc_第4页
数据库设计及应用试题参考答案.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

重庆大学数据库设计及应用 课程试题(A卷)参考答案系名 网络学院 专业 信息管理与信息系统 年级2002-学号-姓名-(时间120分钟,闭卷)题号一二三四五六七八九十总分得分一、简答题(每题4分,共20分)1、 简述SQL Server企业管理器和查询分析器的功能企业管理器是一种遵从mmc的用户界面,使用户得以定义和运行sql server服务器组,在服务器上执行sql server管理任务,在服务器上定义和管理sql server数据库和对象,登陆用户等,通过唤醒调用查询分析器,交互地设计和调试SQL语句,批处理和脚本,唤醒调用SQL SERVER定义的各种向导。查询分析器是一个图形用户界面,用以交互地设计和测试T-SQL语句,批处理和脚本。2、 简述SQL Server中约束的类型及其含义SQL SERVER中的约束有:DEFAULT约束:当向数据库中输入值时,如果没有明确的输入值,系统会向其中输入指定的值。CHECK约束:通过逻辑表达式来判断限定插入到表中的值。PRIMARY KEY约束:定义有该约束的列的值不许相同,不许为空。FOREIGN KEY约束:当向定义有该约束的列插入或更新的值必须在另一张被参照的表的特定的列中存在。UNIQUE约束:定义有该约束的列的值不许相同,可以为空。NOT NULL约束:定义有该约束的列的值不许为空。3 简述在PB中连接数据库的基本思路和步骤;在PB中,要操作数据库,一般通过各种驱动程序来建立与数据库的连接,各种驱动程序对应具体的数据库。其步骤如下:(1)定义数据源,打开ODBC,进入UNILITIES,再进入ODBC ADMISTRITOR,通过ODBC管理程序,选择并添加ODBC驱动程序,然后为数据源设置属性。(2)配置数据库连接参数,如DB PROFILE等,然后点击CONNECT,这样就完成了对数据库的连接。4 简述数据库应用的客户/服务器模式;客户/服务器模式结构可以根据实际情况将应用程序或应用逻辑划分在客户工作站和服务器中,为了完成一项特定的任务,工作站和服务器可以协同工作,客户工作站向服务器发出处理请求,服务器返回的是处理结果,这种结构可以充分发挥客户工作站和服务器两 方面的性能。5 简述数据窗口对象与数据窗口控件的用途,以及它们之间的联系与区别。数据窗口对象是定义数据和数据自身的一些特性的。数据窗口控件是通过数据窗口对象控制和操作数据。其区别和联系体现在:数据窗口对象定义好之后,要与其数据窗口控件相关联,数据窗口控件是数据窗口对象的容器,通过数据窗口控件操作数据窗口对象,进而操作数据库,数据窗口控 件是面向用户的,而数据窗口对象是面向数据库的,PB中将两者紧密地结合在一起。二、按要求写出SQL语句(每题5分,共30分)1、 在student数据库中创建表stu_information, 表中包括的学生信息分别为:学生编号、学生姓名、出生日期、性别、籍贯、家庭住址、邮政编码、电话号码、高考入学成绩、所在系编号。可以使用中文字段名,各字段的类型及长度自定,要求同时定义出主键学生编号、学生姓名不能为空两个约束。Use StudentGo Create table dbo.stu_information(学生编号int constraint sno_check primary key not null,学生姓名Char(10) constraint sname_check not null,出生日期Char(10),性别Char(1),籍贯Varchar(10),家庭地址Char(20),邮编Char(6),电话号码Char(8),高考入学成绩Int ,所在系编号int)2、 在第1题所建表的基础上,增加下列约束:籍贯缺省值为“重庆”、家庭住址缺省值为“未知”、邮政编码必须为6位数字、所在系编号为外键(参照department表的主键系编号)。Alter table stu_information AddConstraint 2w_1 default 重庆 for cityConstraint 2w_2 default 未知 for 家庭住址Constraint 2w_3 check(邮编 like(0-9, 0-9, 0-9, 0-9, 0-9, 0-9)Constraint 2w_4 foreign key 所在系编号 referenes department(系编号) 3、 在student表上建立索引myindex,该索引建立在家庭地址和邮政编码上。Creaete index myindex on dbo.student(家庭地址,邮编)4、 在第三大题所提供的数据库上建立视图viewtest(课程编号,课程名称,学分,选修人数,平均成绩),并基于该视图查询选修“Java程序设计”课程的学生人数及平均成绩。Use studentGoCreate view viewtest(课程编号,课程名称,学历,选修人数,平均成绩)As Select a.courseid,a,coursename,a.credit,count(b.stuid),avg(b.grade)From course a,stu_course b where a.courseid=b.courseid group by (a.coursename)Select 学生人数,平均成绩from viewtest Where 课程名称= Java程序设计5、 创建一个带参数的存储过程myproc,该存储过程查询指定性别和籍贯的学生的编号、姓名、性别、籍贯、高考入学成绩,性别和籍贯条件由两个参数Xinbie和Jiguan指定,如果参数为NULL或不正确,则显示错误提示信息,并退出该存储过程。执行该存储过程。Use student GoCreate PROC myprocxinbie nchar(1),jiguan nvarchar(10)As if(xinbie is null or jiguyan is nullBegin Raiserror(不存在或输入有误,5,5)ReturnEndSelect 学生编号,姓名,性别,籍贯,邮编,电话号码,高考成绩From stu_informationWhere 性别like xinbie and 籍贯like Jiguan)Exec myprocxinbie=男jiguan=重庆go6、 使用COMPUTE BY 和COMPUTE子句,查询所有的学生信息,并按籍贯计算学生的人数和学生的总人数。Select 学生编号,姓名,生日,性别,籍贯,地址,邮编,电话号码,高考成绩From stu_informationCompute count (学生编号) by 籍贯Compute count(学生编号)二、按要求编写Power Builder程序(共50分)说明:(1)所有程序所依据的数据库为student.db,对应的ODBC数据源为student(连接数据库的用户明和密码已在数据源中设置完毕),数据库中有三个表,其结构分别为:student (stuid char(8), name char(10, gender char(2), birthday date, department char(30)course (courseid char(6), coursename char(30), credit smallint )stu_course (stuid char(8), courseid char(6), grade float )(2)在Power Builder 代码中连接数据库的相关参数设置基本语法如下:SQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = Connectstring=DSN=*1程序功能如图1所示,请写出所有相关的程序代码。(10分)图1说明:程序运行后即显示图1的功能,按退出按钮结束程序。要求:(1)程序必须结构完整;(2)所有对象和控件的名称自定(命名符合PB规范);(3)写出数据窗口对象所需数据源的SELECT语句。对象:application 对象:student Window对象:w_main W_main中的控件StaticText:st_1 Datawindow:dw_1 CommandButton:cb_1 事件代码:1)Student.open()事件:SQLCA.DBMS= “ODBC”SQLCA.Autocommit=falseSQLCA.DBParm= “ConnectString”=DSN=Student”Connect;Open(w_main)2)Student.close()事件:Disconnect;3)w_main.open()事件:Dw_1.setTransobject(sqlca)Dw_1.retrieve()4)cb_1.clicked()事件:Close(parent)数据窗口对象的Select语句:Select courseid,coursename,credit from course2 程序功能如图2所示,请写出除Application对象之外的所有相关的程序代码。(10分)图2说明:程序运行后,显示图2的功能,但单行编辑框中无文字,数据窗口中也无数据显示;在单行编辑框中输入要查询的课程名称后,单击“检索”按钮,即在数据窗口中显示选修该课程的所有学生的学号,姓名、所在系和成绩,如图2所示。要求:(1)程序必须结构完整;(2)所有对象和控件的名称自定(命名符合PB规范);(3)写出数据窗口对象所需数据源的SELECT语句。对象:Application对象:studentWindows对象:w_mainW_main上的控件:Statictext:st_1Statictext:st_2Singlelineedit:sle_1Commandbutton:cb_1Commandbutton:cb_2Datawindow:dw_1事件代码:1) cb_1.clicked()事件:string ss=sle_1.textdw_1.settransobject(sqlcadw_1.retrieve(s)2)cb_2.clicked事件:Close(w_main)数据窗口对象的select 语句:Select stuid,name,department,grade from student,stu_course,courseWhere student.stuid=stu_course.stuid And course.courseid=stu_course.couseid And course.coursename-:cn3 数据窗口对象如图3所示,请写出设计该数据窗口的详细过程。(12分)图3步骤如下:1)new-datewiondow-选择显示风格group2)选择数据源quick select 选择表student中的列department,stuid,name,gender3)将department选为分组的标准4)在header里将内容改为:学生基本情况表5)在detail中添加computed field Year(today()-year(birthday) 并将名字改为 age6)在header group detail中添加Count (stuid)Avg(age)7)在summary里添加Count(stuid)Avg(age)8)在相应位置添加静态文本“人数”,“平均年龄”,“总人数”,“总平均年龄”9)将列名改为对应内容4 程序功能如图4所示,请写出除Application对象之外的所有相关的程序代码。(18分)图4说明:程序运行后,显示图4的功能,但下拉式列表框中无文字,数据窗口中也无数据显示;用鼠标在下拉式列表框选择了要查询的课程名称后,立即在数据窗口中显示选修该课程的所有学生的学号、姓名、所在系和成绩,如图4所示;然后,用鼠标双击数据窗口中任意一行纪录,则弹出另外一个窗口,在该窗口中显示被双击的记录所代表的学生的所有选课记录(包括课程名称、学分和成绩)。要求:(1)程序必须结构完整;(2)所有对象和控件的名称自定(命名符合PB规范);(3)写出数据窗口对象所需数据源的SELECT语句。(4)下拉式列表框的列表项目必须在窗口打开时,由程序从数据库中检索出所有的课程名称,然后追加到该下拉式列表框的列表项目中。1)window对象w1,w2Datawindow 对象dw3W1 上的控件:datawindow dwc3, Statictext st3,Commandbutton cb3Dropdownlistbox db1W2上的控件: datawindow dwc42)事件代码:a),w1.open()事件:Dwclare cn cursor for select coursename from course;Open cn;String sDo while sqlca.sqlcode100Fetch cn into :sDb1.additem(s)LoopClose cn;b),db1.selectionchanged()事件:string s1s1=db1.textdwc3.settransobject(sqlca)dwc3.retrieve(s1)c

温馨提示

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

评论

0/150

提交评论