实验指导书班级:090402姓名:郑锦坤序言数据库是数据管理的最新技术,是计算机科学的重要分支。
通过学习重点让大家掌握数据库技术的程序设计思想和方法,学习开发管理系统的技术,并结合PB8.0以上版本和SQL SERVER 2000以上版本上机环境编程测试。
为了达到这个目的,这里安排五个实验单元。
实验报告的内容1.题目描述每个实验的内容是什么。
2.需求分析用E-R图描述数据库的模式设计及每个关系模式的建立;描述数据字典及程序数据流;每个事件、函数或过程的头和规格说明;3.源程序清单和结果源程序要加注释,要有测试数据及结果。
实验1:学习SQL 语句与SQL SERVER的数据库环境(4学时)本次实验的主要目的在于学会使用SQL SERVER环境建库的方法,学会SQL SERVER企业管理器和查询分析器的使用,通过数据库操纵环境,了解库的建立、表的建立、数据库的查询实现方法。
实验数据如下:StudentSC实验报告 1 日期:一.SQL语句实验题目:1.建立课程表2.建立学生表3.建立选课表4.查询所有学生的详细信息SELECT Student.SCLASS,Student.SNO,Student.SNAME, Student.SSEX, Student.SAGE , Student.SDEPT,O,SC.GRADE,AME,Course.CPNO,Course. CCREDITFROM Course,Student,SCWHERE SC.SCLASS=Student.SCLASS AND SC.SNO=Student.SNO AND O=O5.查询1班的学生号学及姓名SELECT SNO,SNAMEFROM StudentWHERE SCLASS='1'6.查询‘刘晨’的出生年7.查询姓‘刘’的学生的详细情况SELECT Student.SCLASS,Student.SNO,Student.SNAME, Student.SSEX, Student.SAGE , Student.SDEPT,O,SC.GRADE,AME,Course.CPNO,Course. CCREDITFROM Course,Student,SCWHERE Student.SNO=SC.SNO AND O=O AND SNAME LIKE '刘%';8.查询选修了1号课的学生姓名、性别、成绩SELECT DISTINCT SNAME,SSEX,GRADEFROM Student,SCWHERE Student.SNO=SC.SNO AND Student.SCLASS=SC.SCLASS AND CNO ='1';9.查询没有先行课的课程的课号和课名SELECT CNO ,CNAMEFROM CourseWHERE CPNO IS NULL10.查询2班的所有女生的情况SELECT Student.*,SC.*,Course.*FROM Course,Student,SCWHERE Student.SCLASS='2' AND Student.SNO=SC.SNO ANDO=OAND Student.SSEX='女'AND Student.SCLASS=SC.SCLASS;11.查询学分为2到3之间的课程号及课程名SELECT CNO , CNAMEFROM CourseWHERE CCREDIT BETWEEN 2 AND 312.查询选修1或2号课的学生的班号、学号、姓名、课程名及成绩SELECT Student.SCLASS, Student.SNO,Student.SNAME,AME,SC.GRADEFROM Course,Student,SCWHERE Student.SNO=SC.SNO AND O=O ANDStudent.SCLASS=SC.SCLASS AND O IN('1','2');13.查询2班至少选修一门其先行课为1号课的学生的班号、学号、姓名、性别、系、课程号及成绩14.查询2号科成绩最高的学生班号、学号SELECT TOP 1 SCLASS ,SNOFROM SCWHERE CNO='2'ORDER BY GRADE DESC15.查询1班2号课成绩最低的学生班号、学号16.查询选修2号课且成绩不是最低的同学班号、学号二、学习掌握SQL SERVER 2000环境数据库备份方法练习SQL SERVER 数据库备份与恢复技术方法。
二.源程序清单和结果实验2:学习SQL 语句的数据操纵(4学时)本次实验的主要目的在于学会使用SQL 语言的增、删、改、查功能及学会多表间的连接操作。
实验数据如下:StudentSC实验报告2日期:一.题目:1.查询选了1号课且选了2号课的学生的班号、学号Select distinct SC1.sclass ,SC1.snoFrom SC SC1,SC SC2where SC1.sclass=SC2.sclass ANDSC1.sno=SC2.sno ANDo=1 ANDo=22. 查询选了1号课但不选2号课的学生的班号、学号Select sclass ,snoFrom scWhere cno=1 AND sno not in(select snofrom SCwhere cno='2')3.查询1班平均分在85分以上的同学班号、学号、姓名、性别、系、各科课程号及成绩S elect SC.sclass,SC.sno,sname,ssex,Sdept,cno,gradeFrom Student,SCWhere Student.sclass=SC.sclass ANDStudent.sno=SC.sno ANDStudent.sclass=1 ANDSC.sno in (select snofrom SCGroup by snoHAVING AVG(grade)>85)4.查询至少选了1班2号同学所选课的所有班号、学号及同学姓名select distinct Sclass, Sno, Snamefrom Studentwhere not exists(select *from SC SCYwhere SCY.Sno='2' and SCY.Sclass='1' andnot exists(select *from SC SCZwhere SCZ.Sno=Student.Sno and SCZ.Sclass = Student.Sclass and o = o))5.查询不选1号课的学生班号及学号select sclass, snamefrom Studentwhere not exists(select *From SCwhere sno=Student.sno ANDcno=1)6.查询选2号课的学生名字及相应2号课成绩,按成绩从高到低排序select sname ,gradefrom Student ,SCwhere Student.sclass=SC.sclass ANDStudent.sno=SC.sno ANDcno=2order by grade DESC7.统计学生选修课程的班号、学号及总学分select Student.sclass, Student.sno, SUM(ccredit) Totalfrom Student ,SC,Coursewhere Student.sclass=SC.sclass ANDStudent.sno=SC.sno ANDo=ogroup by Student.Sclass, Student.Sno8.统计1班选修3号课的班号及平均分Select AVG(grade)From SCWhere sclass=1 AND cno=39.把个人信息及选课信息插入到Student和SC 表及新增加一门“无机化学”课程信息insertinto Student (sclass,sno,sname,ssex,sage,Sdept)values(312,123,'郑锦坤','男',21,'IS')10. 删除选修3号课的所有选课信息并显示删除后的结果DeleteFrom SCWhere cno=3;Select *From SC11. 把选修1号课的所有男同学年龄增加1岁并显示最终学生Student信息Update StudentSET sage=sage+1;Select *From StudentWhere ssex='男'二、熟悉PB环境熟悉PB编程环境,完成PB实用教程中(第2、3版)实验1。
实验3:学习PB与SQL SEREVR数据库的连接方法本次实验的主要目的是掌握PB8.0以上环境及语句的使用,学习PB 与SQL SEREVR数据库的连接方法与编程技巧。
实验报告3日期:一.题目:题目见PB实用教程(第2、3版)中实验2、实验3及实验4,编程序,数据库采用SQL SERVER,然后上机调试运行。
<实验2:PowerScript语言与事件脚本>实验内容:1.创建2.8节应用程序实例---计算机器声明窗口中的变量给1~10编写脚本语言清除按钮的脚本语言‘+’‘-’‘*’‘/’的脚本语言‘=’脚本语言做出的计算器的效果2.创建解一元二次方程aX^2+bX+c=0的应用程序打开窗口编写计算按钮的脚本语言实验效果<实验3:窗口与常用控件编程(一)>实验内容: 1.创建3.5.2节窗口设计实例1.建立工作空间和应用2. 建立一个主窗口对象3. 为主窗口对象编写脚本4.打开主窗口脚本5.保存应用程序2.创建4.6节常用的窗口控件编程实例4.6.1创建窗口应用程序和基本窗口 1.创建应用程序2.创建应用程序窗口(w_widget)3.在窗口中创建命令按钮4.6.2通过窗口创建新窗口w11.在w_widget窗口的基础上创建新窗口w12.在窗口w1中创建并设置静态文本控件(Static Text)st_13.在窗口w1中创建并设置单行编辑框控件(SingleLineEdit)sle_14.在窗口w_widget中创建并设置命令按钮控件cb_25.在窗口w1中创建并设置图片(Picture)控件p_14.6.3通过窗口继承创建新窗口w21.在w_widget窗口的基础之上创建一个新窗口w22.在窗口w2中创建并设置选项卡Tab控件tab_13.在窗口w2中tab_1的基础上插入并设置选项卡控件tabpage_24.在窗口w2的tab_1中创建并设置多行编辑(MultiLineEdit)控件mle_15.为多行编辑框mle_1添加查找,替换的功能(类似于写字板)6.在窗口w2的tabpage_2中创建并设置单选钮(RadioButton),复选框(CheckBox)控件rb_1,cbx_17.在窗口w2的tabpage_2中创建并设置图像按钮(PictureButton)控件pb_1和命令按钮cb_64.6.4通过窗口w1定义的登录界面进入窗口w2<实验4:数据库的创建与建立>实验内容1.创建Adaptive Server AnyWhere 数据库2.在PowerBuilder 开发环境中连接其他数据库3.在数据库中创建表4.为数据库表指定关键字5.在数据库表中输入数据库6.在数据库表中修改数据和删除记录思考与练习(1) PowerBuilder 可以使用什么样的数据库?(2)在PowerBuilder中,创建数据库的基本操作过程是怎样的?(3)在PowerBuilder中,数据源是什么?如何创建数据源?(4) DB Profile的作用是什么?如何为数据库配置DB Profile实验4 学习嵌入SQL及PB常用功能控件的编程使用(4学时)本次实验的主要目的是掌握嵌入SQL及PB常用功能控件,学会使用嵌入SQL对数据库进行单表精确查询、模糊查询的方法。