经济文库 - 千万精品文档,你想要的都能搜到,下载即用。

《数据库系统原理》实践性环节考核大纲.doc

Feel sad 感到悲伤5 页 901 KB 访问 4052.97下载文档
《数据库系统原理》实践性环节考核大纲.doc《数据库系统原理》实践性环节考核大纲.doc《数据库系统原理》实践性环节考核大纲.doc《数据库系统原理》实践性环节考核大纲.doc《数据库系统原理》实践性环节考核大纲.doc
当前文档共5页 2.97
下载后继续阅读

《数据库系统原理》实践性环节考核大纲.doc

上海市高等教育自学考试 计算机信息管理、网络、软件专业 (独立本科段) 《数据库系统原理》实践性环节考核大纲 (复旦大学主考,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) 。 (2007/9/12) (数据库系统原理,上机考核大纲,共 5 页) 1 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 s2 s3 s4 wen bao li he 18 25 20 22 m f f m c1 c2 c3 c4 pascal basic c c++ shi lou ma men s1 s1 s1 s1 c1 c2 c3 c4 95 90 85 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):用于输入数据,以便进行查找和修改。 程序的主界面如下: 显示表 S 的数据 显示表 SC 的数据 显示表 C 的数据 dw_1 dw_2 dw_3 输入数据: 显示视图 S_SC 的数据 dw_4 BROWSE INSERT_SC UPDATE_SC QUERY_SNO RESET 陈 DELETE_SC OK EXIT 单行编辑器控件(sle_1) 8 个命令按钮控件 (2007/9/12) (数据库系统原理,上机考核大纲,共 5 页) 2 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 所需的额外信息 connect; //连接数据源 newdb! open(w_main) //打开主窗口 w_main 2.在主窗口 w_main 的各个对象中书写脚本: ① 在主窗口 w_main 的 open 事件中写脚本: dw_1.settransobject(sqlca) dw_2.settransobject(sqlca) dw_3.settransobject(sqlca) dw_4.settransobject(sqlca) sle_1.setfocus() //给数据窗口控件 dw_1 设置通讯区域 sqlca //给数据窗口控件 dw_2 设置通讯区域 sqlca //给数据窗口控件 dw_3 设置通讯区域 sqlca //给数据窗口控件 dw_4 设置通讯区域 sqlca //将焦点设置到控件 sle_1 ② 命令按钮 BROWSE 的 Clicked 事件: dw_1.retrieve() dw_2.retrieve() dw_3.retrieve() dw_4.retrieve() //从数据库的 s 表中检索全部数据 //从数据库的 sc 表中检索全部数据 //从数据库的 c 表中检索全部数据 //从视图 s_sc 中检索全部数据 (2007/9/12) (数据库系统原理,上机考核大纲,共 5 页) 3 ③ 命令按钮 RESET 的 Clicked 事件: string query dw_1.reset() dw_2.reset() dw_3.reset() dw_4.reset() query="" dw_1.setfilter(query) dw_1.filter() dw_2.setfilter(query) dw_2.filter() dw_4.setfilter(query) dw_4.filter() sle_1.text="" sle_1.setfocus() //清除数据窗口控件 dw_1 中的所有行 //清除数据窗口控件 dw_2 中的所有行 //清除数据窗口控件 dw_3 中的所有行 //清除数据窗口控件 dw_4 中的所有行 //置过滤条件为空 //修改 dw_1 的过滤条件 //过滤数据 //修改 dw_2 的过滤条件 //过滤数据 //修改 dw_4 的过滤条件 //过滤数据 //置单行编辑器为空 //将焦点设置到控件 sle_1 ④ 命令按钮 INSERT_SC 的 Clicked 事件: dw_2.insertrow(0) dw_2.scrolltorow(dw_2.rowcount()) dw_2.setfocus() //在 sc 表的尾部插入一行 //把指定行设置为当前行 //将焦点设置到控件 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) dw_2.SetItem(dw_2.GetRow(),3,g2+g1) //取单行编辑器中的整数 //取当前记录的原 grade 值 //在原 grade 值上增加 g1 值 ⑦ 命令按钮 OK 的 Clicked 事件: if dw_2.update()=1 then commit; else rollback; end if //将修改传送到数据库,成功否 //传送成功,事务提交 //传送不成功,事务回退 ⑧ 命令按钮 QUERY_SNO 的 Clicked 事件: string query dw_3.reset() query="sno='"+sle_1.text+"'" dw_1.setfilter(query) dw_1.filter() dw_1.retrieve() dw_2.setfilter(query) dw_2.filter() dw_2.retrieve() (2007/9/12) //清除数据窗口控件 dw_3 中的所有行 //设置过滤条件 //修改 dw_1 的过滤条件 //过滤数据 //从 s 表中显示检索到的数据 //修改 dw_2 的过滤条件 //过滤数据 //从 sc 表中显示检索到的数据 (数据库系统原理,上机考核大纲,共 5 页) 4 dw_4.setfilter(query) dw_4.filter() dw_4.retrieve() sle_1.setfocus() //修改 dw_4 的过滤条件 //过滤数据 //从视图 s_sc 中显示检索到的数据 //将焦点设置到控件 sle_1 ⑨ 命令按钮 EXIT 的 Clicked 事件: close(parent) //关闭按钮所在的窗口 (四)程序运行结果 程序编制完成以后,单击PowerBar上的Run按钮就可以运行程序了,程序界面如下所示。 (五)系统中各对象之间的联系示意图 应用 Application 窗口 windows 数据窗口 DataWindows student open 数据库 Database newdb w_main (数据源名 也是 newdb) d_s 表S dw_1 dw_2 dw_3 dw_4 d_sc 输入数据: B I U Q R D OK E 表 SC d_c 表C d_s_sc 视图 S_SC (大纲结束) (2007/9/12) (数据库系统原理,上机考核大纲,共 5 页) 5

相关文章