数据库实践课报告.docx
《数据库实践课报告.docx》由会员分享,可在线阅读,更多相关《数据库实践课报告.docx(13页珍藏版)》请在冰豆网上搜索。
数据库实践课报告
一:
简单介绍开发软件PowerBilder;
其主要特点如下:
(1)可视化、多特性的开发工具。
全面支持Windows或WindowsNT所提供的控制、事件和函数。
PowerScript语言提供了几百个内部函数,并且具有一个面向对象的编译器和调试器,可以随时编译新增加的代码,带有完整的在线帮助和编程实例。
(2)功能强大的面向对象技术。
支持通过对类的定义来建立可视或不可视对象模型,同时支持所有面向对象编程技术,如继承、数据封装和函数多态性等。
这些特性确保了应用程序的可靠性,提高了软件的可维护性。
(3)支持高效的复杂应用程序。
对基于Windows环境的应用程序提供了完备的支持,这些环境包括Windows、WindowsNT和WinOS/2。
开发人员可以使用PowerBuilder内置的WatcomC/C++来定义、编译和调试一个类。
(4)企业数据库的连接能力。
PowerBuilder的主要特色是DataWindow(数据窗口),通过DataWindow可以方便地对数据库进行各种操作,也可以处理各种报表,而无需编写SQL语句,可以直接与Sybase、SQLServer、Informix、Oracle等大型数据库连接。
(5)强大的查询、报表和图形功能。
PowerBuilder提供的可视化查询生成器和多个表的快速选择器可以建立查询对象,并把查询结果作为各种报表的数据来源。
二.对学籍管理软件的需求以及可行性分析
目前各大高校扩招,学生人数年年增加,因此学校工作人员要整理的学生个人信息以及学籍管理工作也就日趋繁琐,因此开发学籍管理管理软件的需求迫切,也是相当必要的。
开发学籍管理软件,有助于教学者或操作者进行学生的学籍管理,方便随时可能的添加、查询、修改等工作,也是工作人员从繁琐的填表、查表中解脱出来,这样可使得供需双方都获得满意的结果,促进报表、统计信息的规范化,同时又提高了工作效率、降低了学籍管理的维护费用。
至于其可行性,也是毋庸置疑的,目前的PowerBuilder在数据查询、报表的建立等方面已经相当成熟,完全可以此为基础进行对学生相关信息的管理和维护。
从以上来看,开发学籍管理软件对各企事业单位以及高校都是很有需求的,并且可行性高。
以下是具体需求及可行性分析:
1.总体需求
(1)完善学籍管理系统;
(2)使得教学办公对学生档案管理更快捷;
(3)减轻行政人员的工作负担。
2.功能需求
①浏览学生学籍的所有信息
②制定招生计划并能进行学生注册登记管理
③能够通过学生的部分信息找到个人学籍的相关信息
④相关人员能对包含学生的学籍信息进行管理
⑤能对学生有关信息进行相关统计计算
3.性能需求
①数据精确度:
查询时应保证查全率,所有相应域包含查询关键字的记录都应能查到
②时间特性:
一般操作的响应时间应在1-2秒内,高效快捷。
③适应性:
对前面提到的运行环境要求不应存在困难。
(三)可行性分析
1.技术可行性:
目前,全国计算机越来越普及,几乎每个学校都配有计算机,为我的这套软件提供了硬件环境。
以计算机为基础的管理系统使教师和管理者摆脱了那种繁杂、易错的记录及管理方式,通过计算机以及配套的软件,用户可以采用全新的方式从不同的地方存取各种信息。
从客户/服务器方式上发展起来的框架结构为我们提供了开发本系统的基础。
2.经济可行性:
就学校自身来说,它也是需要这样一个软件的。
我们在计算机还没有普及之前,信息都必须通过在纸上填写来实现,这样既浪费时间又容易出错,。
随着信息时代的来临,我们的各项工作都要讲求效率,成绩和学籍管理也不例外,这就为我的软件提供了使用群体。
3.系统运行可行性:
本系统可以运行在Win95,Win98,Win2000操作系统之上,就是说市场上流行的操作系统都可以支持。
4.用户使用可行性:
本操作简单,有计算机基础的人无需培训即可使用,即使是没有计算机基础的人只需经过简单的培训就可以很熟练的使用本系统。
系统运行后,就用户方而言,由于用户使用本系统时,不会也不必关心系统内部的结构及实现方法,即对用户来说是透明的,所以本系统对用户而言,是定位在界面友好、操作方便、功能齐全的原则上的,用户只需简单的用鼠标点击各界面上的选项卡或按钮就能执行相应的功能,就管理者而言,关心的是如何处理各种数据,只要把用户的信息输入计算机,管理者就可运行相应的后台程序进行处理。
通过上述分析可知:
学籍管理软件的需求和可行性都可以等到保证,因此开发学籍管理软件是必要的。
三软件的总体功能框图;
登录窗口
数据维护
数据查询
退出
学生基本信息表,学院表,课程表,课程类别表,成绩,成绩表,专业表,籍贯表
学生信息查询,成绩查询
四软件的数据字典
常用数据字典格式
表名:
STUDENT含义:
学生基本信息表
字段名称
字段含义
数据类型
宽度
NULL
注
XSXH
学号
CHAR
10
NO
主关键字
XSXM
姓名
CHAR
8
NO
XSXB
性别
CHAR
1
Y
XSNL
年龄
INTEGER
Y
XSRQ
出生日期
CHAR
8
Y
JGBH
籍贯
CHAR
2
Y
XSSFZ
身份证
CHAR
18
Y
XSRX
入学日期
CHAR
8
Y
FYBH
学院
CHAR
2
Y
ZYBH
专业
CHAR
3
Y
XSBJ
班级
CHAR
10
Y
XSZZ
住址
VARCHAR
20
Y
注:
1、XSXB:
用“0”代表女,“1”代表男;
2、XSCSRQ:
出生日期用“”表示1990年10月25日,出生日期同理;
表名:
INSTITUDE含义:
学院表
字段名称
字段含义
数据类型
宽度
NULL
注
FYBH
学院编号
CHAR
2
N
主关键字
FYMC
学院名称
VARCHAR
20
N
表名:
CURRICULUM含义:
课程表
字段名称
字段含义
数据类型
宽度
NULL
注
KCBH
课程编号
CHAR
6
N
主关键字
KCMC
课程名称
VARCHAR
20
N
KCLB
课程类别
CHAR
2
Y
KCXF
课程学分
INTEGER
Y
表名:
CURLB含义:
课程类别表
字段名称
字段含义
数据类型
宽度
NULL
注
LBBH
类别编号
CHAR
2
N
主关键字
LBMC
类别名称
VARCHAR
20
N
注:
LBMC:
必修课、选修课,限选课,指定选修课、任选课、试验课程、认识实习,电装实习,金工实习,课程设计,毕业实习等
表名:
GRADE含义:
成绩表
字段名称
字段含义
数据类型
宽度
Dec
NULL
注
XSXH
学生学号
CHAR
8
N
主关键字
KCBH
课程编号
CHAR
8
N
主关键字
KCCJ
课程成绩
NUMERIC
4
1
Y
表名:
ZHY含义:
专业表
字段名称
字段含义
数据类型
宽度
NULL
注
ZYBH
专业编号
CHAR
3
N
主关键字
ZYMC
专业名称
VARCHAR
30
N
表名:
JG含义:
籍贯表
字段名称
字段含义
数据类型
宽度
NULL
注
JGBH
籍贯编号
CHAR
2
N
主关键字
JGMC
籍贯名称
VARCHAR
10
N
表名:
DL含义:
密码表
字段名称
字段含义
数据类型
宽度
NULL
注
YHMC
用户名称
CHAR
10
N
主关键字
YHMM
用户密码
CHAR
10
N
五功能模块设计流程图
功能设计
登录窗口
用户名密码判断
数据录入
数据查询
数据维护
学生信息查询
成绩查询
按学号查询
按姓名查询
按课程编号查询
添加数据
查询结果
退出
设计过程
准备过程
1.创建数据库
在D盘下建立“lc”命名的文件夹,打开桌面SybaseCentral,点击Utilities,双击右窗口中的CreateDatabase。
点击browse按钮,找到lc文件夹,输入文件名“lc”,按照提示点击直到完成,此时在lc文件夹下产生一个新的文件,lc.db
2.配置数据源
点击ODBCAdministrator,点击添加按钮,点击完成按钮后出现,在Datasourcename中输入lc,点击login标签,在UserID中输入dba,在Password中输入sql,点击Database标签,在DatabaseName中输入lc,点击browse,找到lc.db文件,点击所有确定按钮,关闭SybaseCentral。
3.建立工作空间
打开Powerbuild8.0应用程序,点击新建图标,建立一个Workspace,点击browse按钮,找到lc文件夹,命名为lc,此时lc文件夹下产生一个lc.pbw文件。
4.建立应用程序
点击新建图标,点击target标签,双击Application图标,在ApplicationName中输入lc,点击finish按钮。
5.数据库连接
点击Database快捷图标,找到ODBODBC,点击右键,点击NewProfile后,在出现的对话空中的ProfileName中输入lc,在DataSource中找到前面建立的数据源,在UserID中输入dba,在Password中输入sql。
然后点击右上角的Preview标签,点击Copy按钮,点击TestConnection按钮,正常情况下出现“ConnectionSuccessful”点击确定按钮,OK按钮。
点击左边窗口前的+号,展开,双击
,右窗口出现空白,将前面复制的信息粘贴到窗口中,并在下面空白出添加一行代码:
connectusingsqlca;点击×快捷图标,关闭窗口并保存代码。
6.创建基本表
点击Database图标,右键点击tables,点击NewTable,后出现新对话框,在ColumnName、DataType等中输入列名称、数据类型等信息,将数据字典内容完成后保存并为基本表命名,如密码表的名字为dl。
7.建立主键
展开tables,右键点击基本表名称,点击New——PrimaryKey,出现新窗口,在第一项前的框中打上√,并保存,点击×快捷图标关闭窗口。
设计登陆窗口
点击新建图标,选择PBObject标签,双击Window,后出现窗口编辑窗口。
点击OK按钮右边的下拉标识,选择A控件(静态文本框),在窗口编辑区放2个,同理,选择I控件(单行编辑框),在窗口编辑区放2个,选择OK控件(命令按钮),在窗口上放2个,并分别将其text属性改写为相应状态。
将窗口的title属性更改为“登录窗口”;选中密码后面的单行编辑框(空白),将其属性中的Password选中。
双击取消按钮,在代码编辑窗口中输入代码:
close(parent)。
保存窗口,命名为w_dl,此时在左边窗口中出现w_dl的名称,双击w_dl,就可以回到窗口编辑状态。
重新建立一个新的窗口,将其title更名为“学籍管理”,保存窗口,命名为w_main。
双击确定按钮,代码编辑框中输入以下代码:
stringtemp
selectyhmminto:
tempfromdlwhereyhmc=:
sle_1.text;
ifsle_1.text<>""then
ifsle_2.text=tempthen
open(w_main)
close(parent)
else
messagebox("提示","用户名或密码错误")
endif
else
messagebox("提示","用户名不能为空")
endif
点击数据库快捷图标
,展开tables前的+号,右键点击基本表dl,选择EditData-Grid,出现result窗口,右键点击空白处,选择InsertRow,根据自己的习惯输入用户名称和密码并保存。
双击窗口左边的图标,出现代码编辑区,在下面写上代码:
open(w_dl),保存代码。
点击运行快捷图标
,运行程序。
数据维护
1.设计菜单
点击新建快捷图标,选择PBObject标签,双击Menu,右键点击untitled0,选择InsertSubmenuItem。
输入数据维护,选中数据维护,点击右键选择InsertMenuItemAtEnd,输入数据查询,同理选中数据查询,再输入退出。
选中数据维护,点击右键,选中InsertSubmenuItem,输入学生基本信息表,同理选中数据维护,点击右键,选中InsertSubmenuItem,输入分院表,课程表,课程类别表,专业表,成绩表,籍贯表。
同理,选中数据查询,点击右键,选中InsertSubmenuItem,输入学生信息查询,成绩查询。
双击退出,在代码编辑框中输入代码:
close(w_main),保存菜单,命名为m_main
双击w_main窗口,点击其属性中的MenuName按钮,选择m_main菜单,WindowType属性选择mdi,Windowstate属性选择maximized!
,保存窗口。
2.设计数据窗口
点击新建快捷图标,选择DataWindow标签,选择Gride风格。
双击Gride,选择QuickSelect数据源,点击Next,选择相应的基本表,点击AddAll按钮,点击OK按钮。
点击next-finish,保存数据窗口,命名为d_jg。
将标签更改为中文,保存数据窗口。
3.设计维护窗口
点击新建快捷图标,选择PBObject标签,双击Window,新建一个窗口,在窗口上放1个数据窗口控件和4个命令按钮,更改数据窗口的Dataobject属性为建立的数据窗口d_jg,更改窗口的title属性为“籍贯表”。
保存窗口,命名为w_jg。
将数据窗口控件的VscrollBar属性选中。
双击窗口编辑区的空白区域,输入代码:
dw_1.settransobject(sqlca);dw_1.retrieve()
双击插入按钮,输入代码:
dw_1.scrolltorow(dw_1.rowcount());dw_1.insertrow(0)
双击删除按钮,输入代码:
dw_1.deleterow(0)
双击更新按钮,输入代码:
dw_1.update()
双击关闭按钮,输入代码:
close(parent);保存窗口。
双击菜单m_main,展开数据维护,双击藉贯表,在代码编辑区域输入代码:
open(w_jg)
保存菜单,运行程序,并往籍贯表中录入数据进行测试。
数据查询
1.设计查询窗口
点击新建快捷图标,选择PBObject标签,双击Window,新建一个窗口,将其title属性更名为“学生基本查询”。
在窗口编辑区域放置1个静态文本框控件,更名为“查询方式”,1个下拉列表框控件,1个单行编辑框控件,清空,1个命令按钮控件,更名为“查询”,放置1个数据窗口控件,其DataObject属性值为d_student,选中其HscrollBar,VscrollBar属性。
保存窗口,命名为w_studentquery。
选中下拉列表框,选中其属性的Items标签,在下面录入相应信息。
双击查询按钮,在下面写入代码:
stringtemp
dw_1.settransobject(sqlca)
choosecaseddlb_1.text
case"按学号查询"
temp="select*fromstudentwherexsxh='"+sle_1.text+"'"
case"按姓名查询"
temp="select*fromstudentwherexsxm='"+sle_1.text+"'"
case"按性别查询"
temp="select*fromstudentwherexsxb='"+sle_1.text+"'"
case"按年龄查询"
temp="select*fromstudentwherexsnl='"+sle_1.text+"'"
endchoose
dw_1.setsqlselect(temp)
dw_1.retrieve()
保存窗口,双击菜单m_main,展开数据查询,双击“学生信息查询”,在代码编辑框中输入代码:
open(w_studentquery),保存菜单,运行应用程序,进行测试。
其他相关测试可同理而得。
数据操作测试
测试结果分析
测试过程中发现了一些错误,但经过改正最终结果与预期结果相同。
七软件所定义的窗口对象名称和对应的文件名称
窗口对象
文件名称
密码表
W_dl
籍贯表
W_jg
专业表
W_zhy
成绩表
W_grade
课程类别表
wcurlb
学院表
W_institude
学生基本信息表
W_student
八实习心得体会
经过两天的学习我初步了解了PowerBilder的一些应用也学到了很多东西,在学习的过程中我明白了任何一件事情想要做好都不是那么容易的。
虽然做的是一个很简单的数据库但还是有很多东西不明白但现在才明白那时是那么傻,其实学习就是一个又不会到会的过程只要勇敢尝试就会有收获,我有一开始的做一步问一下老师到现在的可以给同学解决一些简单的问题,我知道我进步很大,但看到也有同学之用我一般的时间就做好了也很纠结。
但是我知道了我学到的不仅仅是PowerBilder的应用更是一种思想与思维方式。