您现在的位置:  网站首页工学类数据库系统原理

2007年10月数据库系统原理(实践)


 
试题类型:WORD文档 试题时间:2007年10月
所属省份 试卷资费免费下载
网上书店卓越网上搜索看看 试卷收藏加入收藏夹
试卷评级

        分享到:

 


     下载列表
 
          
       
          2007年10月数据库系统原理(实践)
       
 
     试卷内容预览
 
  

2007年10月数据库系统原理(实践)

上海市高等教育自学考试
计算机信息管理、网络、软件专业
(独立本科段)
《数据库系统原理》实践性环节考核大纲
(复旦大学主考,2007年9月修订)
一、考核目标
1. 具有熟练使用PowerBuilder 9.0建立本地数据库和基本表、视图的能力。
2.掌握使用PowerBuilder 9.0建立数据库应用程序的方法。
二、运行环境
1. 平台:Windows 2000
2. PowerBuilder 9.0 软件
三、考核方式
实行闭卷考核。
四、考核时间和日期
上机考核每次为1小时;考核日期另行规定。
五、考核范围
1. 数据库的基本操作
建立数据库;连接数据库;建立表、主键、外键;
数据插入、查询、删除和修改;建立视图。
2. 建立数据库应用程序
建立工作空间、目标、应用;建立数据窗口对象;
建立主窗口(含数据窗口、命令按鈕、静态文本框和单行编辑器等控件);
书写脚本;运行应用程序。
六、上机参考书籍及内容
《数据库系统原理》,全国高等教育自学考试指导委员会组编,丁宝康主编,经济科学出版社2007年版。
教材“第8章 PowerBuilder 9.0简介及应用”中 8.2节(“学生选课系统”开发过程)中“‘数据操作’窗口”的有关内容。具体上机样题见下面内容七。

七、上机样题
(一)上机题目
在PowerBuilder9.0环境中完成下面两个任务:
·建立一个有关学生、课程、选修等有关信息的数据库;
·建立有关数据浏览、插入、查找、修改和删除等操作的应用程序及界面。
(二)操作步骤 (应严格按照下列步骤操作)
1. 建立数据库newdb (数据库文件newdb.db必须保存在C:\temp目录下)。
(自动连接数据库,ODBC数据源名也为newdb)。

2. 在数据库newdb中建立三张表:
s(sno,sname,age,sex)
c(cno,cname,tname)
sc(sno,cno, score)
上述属性中,age和score为smallint型,其余均为char型。
在表s中,主键是sno; 在表c中,主键是cno;
在表sc中,主键是(sno,cno),外键有两个:sno和cno。
请分别为这三个表输入下列记录:
s表: c表: sc表:
sno
sname
age
sex

cno
cname
tname

sno
cno
score

s1
wen
18
m

c1
pascal
shi

s1
c1
95

s2
bao
25
f

c2
basic
lou

s1
c2
90

s3
li
20
f

c3
c
ma

s1
c3
85

s4
he
22
m

c4
c++
men

s1
c4
80










s2
c4
75

3.建立统计学生平均成绩的视图:s_sc(sno,sname,avg_score)
(注意:建立视图后,应把数据库先Disconnect,再Connect)

4. 建工作空间 (C:\temp\student.pbw)
建目标 (C:\temp\student.pbt)
建应用 (C:\temp\student.pbl)
5. 在应用中建立四个数据窗口对象d_s、d_sc、d_c、d_s_sc,
分别显示三个表s、sc、c和视图s_sc的数据。

6. 在应用中建立主窗口w_main,主窗口中应包含:
·四个数据窗口控件(dw_1、dw_2、dw_3、dw_4),
分别显示表s、表sc、表c、和视图s_sc的数据。
·八个命令按钮控件。
·一个静态文本控件:放“输入数据:”字样。
·一个单行编辑器控件(sle_1):用于输入数据,以便进行查找和修改。
程序的主界面如下:















7. 在应用各对象中书写脚本,使该应用具有下列功能:
① 应用运行开始时,出现w_main窗口,其中四个数据窗口控件中内容为空白。
② 点击“BROWSE”按钮,显示表s、表sc、表c和视图s_sc的内容,并可浏览。
③ 点击“RESET”按钮,能把四个数据窗口控件中内容置为空白。
④ 点击“INSERT_SC”按钮,可在sc表中插入一条记录,内容请自定;
再点击“OK”按钮,可把这条记录插入到数据库中。
⑤ 点击“DELETE_SC”按钮,可在sc表中删除当前记录;
再点击“OK”按钮,可把这条记录从数据库中删除。
⑥ 在单行编辑器中输入一个整数(譬如5)后,点击“UPDATE_SC”按钮,
可将sc表当前记录的成绩值增加这个整数值(5);
再点击“OK”按钮,可把这条记录的修改写入数据库中。
⑦ 在单行编辑器中输入一个学号(譬如s1)后,点击“QUERY_SNO”按钮,
可在s表、sc表和视图s_sc中显示该学生情况和其所学课程及平均成绩情况。
⑧ 点击“EXIT”按钮,返回(退出应用)。

8.运行应用student。

9.据考场规定的方法,把C:\temp目录下的内容发送到服务器的存储器中。

(三)参考答案 (编写脚本)
1.在应用student.pbl的open事件中写脚本:
SQLCA.DBMS="ODBC" //数据库厂商的名称
SQLCA.AutoCommit=False //定义程序是手工提交事务
SQLCA.DBParm="ConnectString=′DSN=newdb′" //DBMS所需的额外信息
/*上述三条可从DB Profile对话框中的Preview选项的内容复制、粘贴得到*/
connect; //连接数据源newdb!
open(w_main) //打开主窗口w_main
2.在主窗口w_main的各个对象中书写脚本:
① 在主窗口w_main的open事件中写脚本:
dw_1.settransobject(sqlca) //给数据窗口控件dw_1设置通讯区域sqlca
dw_2.settransobject(sqlca) //给数据窗口控件dw_2设置通讯区域sqlca
dw_3.settransobject(sqlca) //给数据窗口控件dw_3设置通讯区域sqlca
dw_4.settransobject(sqlca) //给数据窗口控件dw_4设置通讯区域sqlca
sle_1.setfocus() //将焦点设置到控件sle_1
② 命令按钮BROWSE的Clicked事件:
dw_1.retrieve() //从数据库的s表中检索全部数据
dw_2.retrieve() //从数据库的sc表中检索全部数据
dw_3.retrieve() //从数据库的c表中检索全部数据
dw_4.retrieve() //从视图s_sc中检索全部数据


③ 命令按钮RESET的Clicked事件:
string query
dw_1.reset() //清除数据窗口控件dw_1中的所有行
dw_2.reset() //清除数据窗口控件dw_2中的所有行
dw_3.reset() //清除数据窗口控件dw_3中的所有行
dw_4.reset() //清除数据窗口控件dw_4中的所有行
query="" //置过滤条件为空
dw_1.setfilter(query) //修改dw_1的过滤条件
dw_1.filter() //过滤数据
dw_2.setfilter(query) //修改dw_2的过滤条件
dw_2.filter() //过滤数据
dw_4.setfilter(query) //修改dw_4的过滤条件
dw_4.filter() //过滤数据
sle_1.text="" //置单行编辑器为空
sle_1.setfocus() //将焦点设置到控件sle_1
④ 命令按钮INSERT_SC的Clicked事件:
dw_2.insertrow(0) //在sc表的尾部插入一行
dw_2.scrolltorow(dw_2.rowcount()) //把指定行设置为当前行
dw_2.setfocus() //将焦点设置到控件dw_2
⑤ 命令按钮DELETE_SC的Clicked事件:
dw_2.deleterow(0) //从数据库的sc表中删除当前行
⑥ 命令按钮UPDATE_SC的Clicked事件:
int g1,g2
g1=integer(sle_1.text) //取单行编辑器中的整数
g2=dw_2.GetItemNumber(dw_2.GetRow(),3) //取当前记录的原grade值
dw_2.SetItem(dw_2.GetRow(),3,g2+g1) //在原grade值上增加g1值
⑦ 命令按钮OK的Clicked事件:
if dw_2.update()=1 then //将修改传送到数据库,成功否
commit; //传送成功,事务提交
else
rollback; //传送不成功,事务回退
end if
⑧ 命令按钮QUERY_SNO的Clicked事件:
string query
dw_3.reset() //清除数据窗口控件dw_3中的所有行
query="sno=’"+sle_1.text+"’" //设置过滤条件
dw_1.setfilter(query) //修改dw_1的过滤条件
dw_1.filter() //过滤数据
dw_1.retrieve() //从s表中显示检索到的数据
dw_2.setfilter(query) //修改dw_2的过滤条件
dw_2.filter() //过滤数据
dw_2.retrieve() //从sc表中显示检索到的数据



dw_4.setfilter(query) //修改dw_4的过滤条件
dw_4.filter() //过滤数据
dw_4.retrieve() //从视图s_sc中显示检索到的数据
sle_1.setfocus() //将焦点设置到控件sle_1
⑨ 命令按钮EXIT的Clicked事件:
close(parent) //关闭按钮所在的窗口

(四)程序运行结果
程序编制完成以后,单击PowerBar上的Run按钮就可以运行程序了,程序界面如下所示。


(五)系统中各对象之间的联系示意图









......
......
 
    更多其他年份试题
    全国2009年10月自学考试数据库系统原理试题  (WORD)
    全国2009年1月自考数据库系统原理试题  (WORD)
    全国2008年10月自学考试数据库系统原理试题  (WORD)
    2008年1月全国自学考试试题数据库系统原理试卷  (WORD)
    2007年10月数据库系统原理(实践)  (WORD)
    2007年10月自考试题数据库系统原理试卷  (WORD)
    2007年7月自考数据库系统原理试题试卷真题  (WORD)
    2007年4月自学考试数据库系统原理试题试卷真题  (WORD)
 
     相关课程
        色彩学       色彩与构成
        森林保护学       森林防火
        森林资源经营管理       商法
        商法(二)       商法原理与实务
        伤寒论
 
     本站声明
自己也曾经是自考生,当初考的是计算机专业的专科,花了我四年半年时间。许多朋友跟我说自考太难了,他们快要坚持不下去了。我自己的经验是,其实自考不难,难的是坚持。 我不相信人天生下来会有谁比谁更聪明的脑袋瓜,只相信谁比谁更努力。努力看书,多做题,多花时间在学习上面,一定能够成功。加油吧!

考一场试下来,需要花费很多精力,也需要花去不少钱。在此我向大家保证,我的网站一定会奉行免费的政策,无论如何,我都不会使网站变成收费模式。

如果本站收集的内容侵犯了你的权利,也请告诉我,我会进行核实后并立即予以删除。

如果认为此网站还可以,告诉你的朋友们吧,我会一如继往,努力拼命的,哈哈!