数据库的课程设计
学生火车票定票系统
(1)背景:一年两次的火车票订票管理
(2)主要实现以下功能:
1)学生基本信息的管理,尤其是所在地
2)学生购票的基本信息,尤其是价钱和车票目的地
3)购票以后的分发管理
4)退票的管理
5)信息的统计和查询
6)操作员管理
(3)说明
1)有必要进行对企业的报刊订阅业务进行分析、调查
2)购票后的分发管理的设计与实现(自由发挥);
我们的作业
数据库课程设计,个人信息系统的设计与实现,系统功能基本要求:通讯录信息,包括通讯人姓名、联系方式、工作地点、城市、备注等;备忘录信息,包括什么时间、事件、地点等;日记信息;包括时间、地点、事情、人物等
系统概述:通过对学校日常教学管理中的课程、选课、学生、教师、成绩等相关内容进行分析,完成具有学生管理、成绩管理、课程管理等相关功能的小型数据库管理应用系统。
基本要求:
1、完成进学生、班级、课程表的维护
2、完成成绩表的浏览查找
3、完成成绩表的维护
4、按班级、按课程计算平均成绩、最高成绩、最低成绩、及格率
5、统计某学生、某学期的所有课程的平均成绩。
6、完成用户管理功能
7、完成数据备份与恢复功能
本题目所需的知识点:E-R关系图;数据库表设计,数据库表维护等
高分,数据库课程设计 一份
学籍管理系统
本次数据库课程设计是以ess数据库作为后台以VB作为前台的应用型设计课程。
综合我们所学的两大课程创建应用型的数据库系统,大大的提高了我们学生的动手能力,作到了理论与实践相结合。
一.题目说明:
学生学藉管理系统是典型的学藉管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
本系统主要完成对学生情况和学生成绩的管理,包括数据库中表的添加、删除等。
系统还可以完成对各类信息的浏览、添加、删除、等功能。
系统的核心是数据库中各个表联系,每一个表的修改都将联动的影响其它的表,当完成对数据的操作时系统会自动地完成数据库的修改。
查询功能也是系统的核心之一,在系统中即有单条件查询和多条件查询,也有精确查询和模糊查询,系统不仅有静态的条件查询,也有动态生成的条件查询,其目的都是为了方便用户使用。
系统有完整的用户添加、删除和密码修改功能,并具备报表打印功能。
关键字:窗体、数据库、vb6.0、ess2000。
学生学籍管理系统被广泛应用于各类学校的学生学籍管理工作中,要求其具有实用性强、使用方便、效率高和安全可靠等特点。
本管理系统正是围绕以上几个方面进行开发的,在开发过程中充分考虑到本系统的应用特点,并进行了大量的检验,证明其的确达到了设计的要求,是一个已具备了实际应用能力的软件。
本文主要论述学生学籍管理系统的开发过程,在涉及到VB及ess中的部分知识以举例的方式进行讲解
二. 总体设计:
我的总体设计如下:
(1).利用ess建立数据库,并在该数据库下创建五张表格,分别是学生表、课程表、选课表、学生选课表以及口令表。
(2)利用VB来建立界面并对它进行设计和修改,大体框架如下:
FORM1 用于首界面
FORM2 用于登陆此系统的登录界面
FORM3 是主窗体,在这上面建立相应的菜单
如:文件——退出、添加用户(FORM4)
数据信息——管理使用(FORM5)
基本操作——学生操作、选课操作、课程操作
(FORM6、FORM7、FORM8)
(3)对以上的界面进行设计以及对所要操作的部件进行编程。
三.常用控件的说明:
所有的Windows应用程序窗口或对话框,都是由诸如文本框、列表框、命令按扭、滚动条、命令菜单等组成的。
VB通过控件工具箱提供了它们与用户进行交互的可视化部件,即控件。
程序开发人员只需要通过简单的操作,在窗体上安排所需要的控件,完成应用程序的用户界面设计即可。
序号 名称 功能
1 Label标签 用于说明
2 Textbox文本框 用于文本输入或显示
3 Frame框架 用于组合控件
4 Commandbutton命令按扭 单击执行命令
5 Timer计时期 用于定时
6 Data数据控件 用于访问数据库
三.详细说明:
1.数据库的建立与设计:
数据库是有结构的数据集合,它与一般的数据文件不同,(其中的数据是无结构的)是一串文字或数字流。
数据库中的数据可以是文字、图象、声音等。
ess数据库由六种对象组成,它们是表、查询、窗体、报表、宏和模块。
(1).表(Table) ——表是数据库的基本对象,是创建其他5种对象的基础。
表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。
(2).查询(Query)——查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接若干个表的字段组成新表。
(3).窗体(Form)——窗体提供了一种方便的浏览、输入及更改数据的窗口。
还可以创建子窗体显示相关联的表的内容。
窗体也称表单。
(4).报表(Report)——报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。
(5).宏(Macro)——宏相当于DOS中的批处理,用来自动执行一系列操作。
ess列出了一些常用的操作供用户选择,使用起来十分方便。
(6).模块(Module)——模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。
模块使用Visual Basic编程。
我们利用ess来建立数据库,我们的库中有五张表格,其分别是学生表、课程表、选课表、学生选课表以及口令表。
我们就以学生表为例做一个简单的说明:
我们使用设计器来创建表的,我的这张表有七个字段,每个字段的名称分别是:学号、班级、姓名、性别、出生年月、民族、地址、电话号码,每个字段有七个数据。
我并对其字段的属性进行了重新的修改,以做到不浪费其空间。
我具体的实施步骤是:启动数据库管理器——建立数据库——建立数据表结构——输入记录。
最终产生了这样的一个数据库:(如下)
2.VB界面的建立设计以及程序的编写说明:
VB 是在Windows操作平台下,用于开发和创建具有图形用户界面的应用程序的强有力工具之一。
VB为开发Windows应用程序不仅提供了全新的相对简单的方式,而且也引进了新的程序设计方法——面向对象的设计方法(00P)。
从传统的面向过程的程序设计,转移到更先进的面向对象的程序设计,无论是对老的程序员,还是初学者,都是一个挑战。
而学习VB,则是掌握这一新的程序设计方法的一条捷径。
(1).界面的设计和程序的编写:
设计一个像这样的友好的界面,我考虑到它的颜色的配制,界面的大小,界面所载的内容的多少等,在后台我用定时器给其限定时间让它在一定的时间后自动跳到下一个界面。
这个界面是系统的主界面,用户可以在通过系统登录后直接到我们的主界面上来进行相应的操作,我的主界面采用的是一张苏州市职业大学的图片,在这个图片的上面有三个菜单,分别是文件、数据信息和基本操作。
在各自的下面还有与之相对应的子菜单,文件下有退出和添加用户,数据信息下有管理使用,基本操作下有学生操作、选课操作和课程操作。
我利用FORMn.SHOW命令连接到相对应的界面上。
我们的界面有好几张我就对其中的一张进行详细的分析:
这是一张学生选课浏览表的界面,这也是对应我的主界面菜单中的数据信息下的管理使用子菜单的一张界面,在这张界面中包含了8个LABEL标签控件、7个 TEXTBOX文本框控件、6个COMMANDBUTTON命令按扭控件、1个FRAME框架控件和1个DATA部件。
我利用DATA部件将界面与 ACCESS数据库相连接,具体的操作是利用DATABASENAME与数据库连接,在RECORDSOURCE中找到与之对应的表,再用 DATASOURCE、DATAFIELD与个文本框内容对应,从而实现界面与数据库的连接。
下面是程序的编写过程:
显示前一个数据: COMMAND1:
Private Sub Command1_Click()
If Data1.Recordset.RecordCount = 0 Then
MsgBox "没有记录"
Else
If Data1.Recordset.BOF Then
Data1.Recordset.MoveFirst
MsgBox "这是第一条记录!"
Else
Data1.Recordset.MovePrevious
If Data1.Recordset.BOF = True Then
Data1.Recordset.MoveFirst
MsgBox "这是第一条记录!"
End If
End If
End If
End Sub
显示第一个数据: COMMAND2:
Private Sub Command2_Click()
If Data1.Recordset.RecordCount = 0 Then
MsgBox "没有记录"
Else
Data1.Recordset.MoveFirst
End If
End Sub
显示最后一个数据: COMMAND4:
Private Sub Command4_Click()
If Data1.Recordset.RecordCount = 0 Then
MsgBox "没有记录"
Else
Data1.Recordset.MoveLast
End If
End Sub
显示后一个数据: COMMAND3:
Private Sub Command3_Click()
If Data1.Recordset.RecordCount = 0 Then
MsgBox "没有记录"
Else
If Data1.Recordset.EOF Then
Data1.Recordset.MoveLast
MsgBox "这是最后一条记录!"
Else
Data1.Recordset.MoveNext
If Data1.Recordset.EOF = True Then
Data1.Recordset.MoveLast
MsgBox "这是最后一条记录!"
End If
End If
End If
End Sub
添加一个数据:COMMAND6
Private mand6_Click()
If Command6.Caption = "添加" Then
Command1.Enabled = 0
Command2.Enabled = 0
Command3.Enabled = 0
Command4.Enabled = 0
Command6.Caption = "确定"
Command5.Caption = "放弃"
If Data1.Recordset.RecordCount > 0 Then
Data1.Recordset.MoveLast
End If
Data1.Recordset.AddNew
Text1.SetFocus
Else
Command1.Enabled = -1
Command2.Enabled = -1
Command3.Enabled = -1
Command4.Enabled = -1
Command6.Caption = "添加"
Command5.Caption = "删除"
Text2.Enabled = 0
Text5.Enabled = 0
Text3.Enabled = 0
Text4.Enabled = 0
Text6.Enabled = 0
Text7.Enabled = 0
Data1.Recordset.Update
Command1.SetFocus
End If
End Sub
删除一个记录:COMMAND5
Private Sub Command5_Click()
If Command5.Caption = "放弃" Then
Command4.Enabled = -1
Command5.Enabled = -1
Command6.Enabled = -1
Command3.Enabled = -1
Command1.Caption = "添加"
Command2.Caption = "删除"
Text2.Enabled = 0
Text5.Enabled = 0
Text6.Enabled = 0
Text7.Enabled = 0
Text1.Enabled = 0
Else
If Data1.Recordset.RecordCount = 0 Then
MsgBox "没有记录", 32, "注意"
Exit Sub
Else
str1 = MsgBox("删除该记录吗?", 17, "删除")
If str1 = 1 Then
Data1.Recordset.Delete
Data1.Refresh
If Data1.Recordset.RecordCount = 0 Then
MsgBox "记录数为零"
Data1.Recordset.AddNew
End If
End If
End If
End If
End Sub
四、在此过程中遇到的问题以及解决方法:
在开始编写程序的时候总是有一些出错,在查找有关书籍和向老师询问后得出了结果。
在将界面与数据库相连接的时候,不知道用哪种方法,在老师的帮助下我学会了两种方法:1.DATA、2.ADODC。
我最终使用DATA这种方法。
五、心得体会:
在这次的设计过程中,我学到的不仅是知识,我还认识到许多事情。
这次设计使我的编程水平提高了一大步,使我充分的认识到合作的可贵。
由于这次设计涉及到数据库,我的学到了不少编程工具与数据库连接的知识,对数据库的操作有了进一步的了解。
这次设计对我的综合能力是一次很好的锻炼,但是我必须承认自己的能力和知识还很肤浅。
所以今后我的学习道路还是很漫长的。
最后,在这里我要衷心的感谢我们的指导老师牛丽、程渊,谢谢她的悉心指导和热心帮助。
由于我水平有限,加之时间短暂,故学籍管理系统中还有许多不足之处,请老师批评指正,我会在以后的制作中不断改进,不断完善。