学生信息管理系统_数据库课程设计报告_第1页
学生信息管理系统_数据库课程设计报告_第2页
学生信息管理系统_数据库课程设计报告_第3页
学生信息管理系统_数据库课程设计报告_第4页
学生信息管理系统_数据库课程设计报告_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.成绩数据库原理与应用课程设计报告 设计题目: 图书管理系统 学生姓名朱圣尧学 号20080508135专业名称08计应专日 期2010.12.22精品.设计名称:学生信息管理系统 设计内容:设计一个学生信息管理系统设计目的与要求:采用vb和sql server设计一个学生管理系统,并使系统达到以下功能:(1)大大提高学校管理的运作效率;(2)快捷,有效的处理学生的各种信息,通过全面的信息采集和处理,辅助提高管理水平;(3)使用本系统,可以迅速提升学生的管理水平,为提高效益,方便用户查询, 提供有效的技术保障。 设计环境或器材、原理与说明:前台开发工具:vasual basic 6.0后台数据

2、库工具:sql server 2000设计过程(步骤)或程序代码:1需求分析1.1相关功能要求:1)添加:可以添加学生学籍信息、课程信息、班级信息、成绩信息2)查询:可以查询学生学籍信息、课程信息、班级信息、成绩信息3)修改:可以修改学生学籍信息、课程信息、班级信息、成绩信息1.2 数据流图:学生信息管理的第一层数据流图:教务处学院学生考试1.0学生注册2.0安排3.0分配4.0成绩输入学生信息表班级信息表年级课程信息表班级课程信息表成绩信息表 图1.1学生信息的第二层数据流图:精品.教务处1.1登录1.21添加学生信息1.22修改学生信息班级信息表学生信息表1.23删除学生成绩表图1.2班级

3、信息和课程信息的第二层数据流图:精品.学院2.1登录2.21修改班级信息2.22删除班级信息2.23添加班级信息2.24修改年级信息2.25删除年级信息2.26添加年级信息年级课程信息表3.21修改班级课程信息3.22删除班级课程信息3.23添加班级课程信息班级课程信息表 图1.3学生成绩信息的第二层数据流图:学生4.1考试4.2录入成绩成绩表课程信息表图1.41.3相关的数据:1)数据项:学生学号 含义说明:惟一标识一个学生 别名:student_id类型:字符型精品.整型长度:8取值范围:00000000-99999999取值含义:前两位表示入学年份的后两位,第3、4位表示学院代号,第5、

4、6位表示专业代号,最后两位表示报到序号2)数据结构:学生含义说明:定义了一个描述学生的信息结构组成:学生编号、学生姓名、学生性别、出生年月、班级编号、电话号码、入学日期、家庭住址数据结构:课程含义说明:定义了一个描述课程的信息结构组成:课程编号、课程名称、课程类型数据结构:班级含义:定义了一个描述班级的信息组成:班级编号、班级所属的年级、班主任、教室数据结构:成绩含义:定义了一个描述成绩的信息组成:成绩总评、课程名称、考试成绩3)数据流:成绩管理信息说明:表示学生与课程的关系数据流来源:学生信息表、课程信息表数据流去向:成绩信息表组成:学生编号、课程编号数据流:课程安排信息说明:表示年级和课程

5、的关系数据流来源:班级信息表、课程信息表数据流去向:课程安排表组成:年级、课程名称4)数据存储:班级信息表、课程信息表、课程安排表、成绩信息表、学生学籍信息表说明:记录学生、班级、成绩、课程的情况流入数据流:学籍管理信息、课程管理信息、班级管理信息流出数据流:课程安排信息、成绩管理信息组成:学生编号、学生姓名、课程名称、班级编号、考试成绩、年级存取方式:随即存取5)处理过程:添加、修改、删除学生学籍信息、课程信息、班级信息、成绩信息说明:完成学籍、课程、班级、成绩的各种操作输入:学生编号、班级编号、课程名称、输出:学生学籍信息、课程信息、班级信息、成绩信息的添加、删除、修改结果处理:如果有新生

6、入学,就要进行学生各种信息的添加;如果有毕业生离校,就要对学生的各种信息进行删除;如果某个学生的信息需要修改,则对其相应的信息进行修改2概念结构设计1)学生实体e_r图: 精品.学生学生学号学生性别学生出生日期所属班级号电话号码入学年份学生姓名家庭地址备注2)班级实体e_r图: 班级班号所在班级班主任所在教室3)课程实体e_r图:课程课程名称课程类型课程描述4)年级实体e_r图:精品. 年级年级名称课程名5)成绩实体e_r图:成绩总评学生学号学生姓名班级号课程名称成绩6)实体和实体之间的e_r图:精品.学生属于班级属于年级学习课程成绩考试成绩_课程学习3.逻辑结构设计现在需要将上面的数据库概念

7、结构转化为sql server 2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。 student_info学生信息表 列名数据类型可否为空说明student_idint(4)not null学生学号(主键)student_namechar(10)null学生姓名stdent_sexchar(2)null学生性别born_datedatetime(8)null出生日期class_noint(4)null班号tele_numbervarchar(12)null联系电话ru_datedatetime(8)

8、null入校时间addressvarchar(50)null家庭地址commentvarchar(200)null注释 class_info班级信息表格精品.列名数据类型可否为空说明class_noint(4)null班号(主键)gradechar(10)null年级directorchar(20)null班主任classroom_nochar(10)null教室 course_info课程基本信息表列名数据类型可否为空说明 course_namechar(10)not null课程名称(主键)course_typechar(10)null课程类型course_deschar(20)null课

9、程描述 gradecourse_info年级课程设置表列名数据类型可否为空说明gradechar(10)null年级course_namechar(10)null课程名称 result_info学生成绩表列名数据类型可否为空说明exam_nochar(10)null考试类型student_idint(4)null学生学号student_namechar(10)null学生姓名class_noint(4)null学生班号course_namechar(10)null课程名称resultfloat(8)null分数 user_info系统用户表列名数据类型可否为空说明user_idchar(10)

10、null用户名称user_pwdchar(10)null用户密码user_deschar(10)null用户描述4物理结构的设计建立的索引精品.精品.精品.建立的约束关系精品.精品.5数据库的实施 5.1 用户表的sql语句create table dbo.user_info (user_id char (10) collate chinese_prc_ci_as not null ,精品.user_pwd char (10) collate chinese_prc_ci_as null ,user_des char (10) collate chinese_prc_ci_as null )

11、on primary5.2学生表的sql语句create table dbo.student_info (student_id int not null ,student_name char (10) collate chinese_prc_ci_as null ,student_sex char (2) collate chinese_prc_ci_as null ,born_date datetime null ,class_no int null ,tele_number char (10) collate chinese_prc_ci_as null ,ru_date datetime

12、 null ,address varchar (50) collate chinese_prc_ci_as null ,) on primary5.3班级表的sql语句create table dbo.class_info (class_no int not null ,grade char (10) collate chinese_prc_ci_as null ,director char (10) collate chinese_prc_ci_as null ,classroom_no char (10) collate chinese_prc_ci_as null ) on primar

13、y5.4课程表的sql语句create table dbo.course_info (course_no int not null ,course_name char (10) collate chinese_prc_ci_as null ,course_type char (10) collate chinese_prc_ci_as null ,) on primary5.5课程设置表的sql语句create table dbo.gradecourse_info (grade char (10) collate chinese_prc_ci_as null ,course_name char

14、 (10) collate chinese_prc_ci_as null ) on primary5.6 成绩表的sql语句create table dbo.result_info (exam_no char (10) collate chinese_prc_ci_as not null ,student_id int not null ,student_name char (10) collate chinese_prc_ci_as null ,class_no int null ,course_name char (10) collate chinese_prc_ci_as null ,r

15、esult float null ) on primary5.7写进相关数据5.71建立用户表精品.5.72建立学生信息表精品.5.73建立班级信息表5.73建立课程信息表精品.5.74建立课程设置表5.75建立成绩表精品.5.8 vb模块中与sql sever 2000连接的关键代码connectstring = provider=sqloledb.1;integrated security=sspi;persist security info=false;initial catalog=student;datasource=5.9关系图6详细设计精品.6.1 学生信息管理系统功能学生信息管

16、理系统实现的功能:管理员登陆与修改密码,学生信息的添加、删除与修改,班级信息的添加,修改,课程的设置、添加,成绩的纪录、修改与删除,以及对学生的各个信息的查询。6.2 功能模块的实现(vb代码)1.用户登录的设置: 用于设置用户的基本信息,包括用户名和密码(修改)以及用户的退出。修改private sub cmdcancel_click() unload meend subprivate sub cmdok_click() dim txtsql, msgtext as string dim mrc as adodb.recordset if trim(text1(1).text) trim(t

17、ext1(2).text) then msgbox 密码输入不正确!, vbokonly + vbexclamation, 警告 text1(1).setfocus text1(1).text = else txtsql = select * from user_info where user_id = & username & set mrc = executesql(txtsql, msgtext) mrc.fields(1) = text1(1).text mrc.update mrc.close msgbox 密码修改成功!, vbokonly + vbexclamation, 修改密

18、码 me.hide end if end sub2.学生信息的设置:用于学生基本信息的查询、修改和添加学生的信息,包括学生的学号、姓名、性别、班号、出生日期、入学年份、家庭住址以及备注。添加private sub command1_click() dim mrc as adodb.recordset dim txtsql as string dim msgtext as string if not testtxt(txtsid.text) then msgbox 请输入学号!, vbokonly + vbexclamation, 警告 txtsid.setfocus exit sub end

19、if精品. if not testtxt(txtname.text) then msgbox 请输入姓名!, vbokonly + vbexclamation, 警告 txtname.setfocus exit sub end if if not testtxt(combosex.text) then msgbox 请选择性别!, vbokonly + vbexclamation, 警告 combosex.setfocus exit sub end if if not testtxt(txtborndate.text) then msgbox 请输入出生日期!, vbokonly + vbex

20、clamation, 警告 txtborndate.setfocus exit sub end if if not testtxt(comboclassno.text) then msgbox 请选择班号!, vbokonly + vbexclamation, 警告 comboclassno.setfocus exit sub end if if not testtxt(txttel.text) then msgbox 请输入联系电话!, vbokonly + vbexclamation, 警告 txttel.setfocus exit sub end if if not testtxt(tx

21、trudate.text) then msgbox 请输入入校日期!, vbokonly + vbexclamation, 警告 txtrudate.setfocus exit sub end if if not testtxt(txtaddress.text) then msgbox 请输入家庭住址!, vbokonly + vbexclamation, 警告 txtaddress.setfocus exit sub end if if not isnumeric(trim(txtsid.text) then msgbox 请输入数字!, vbokonly + vbexclamation,

22、警告精品. exit sub txtsid.setfocus end if txtsql = select * from student_info where student_id = & trim(txtsid.text) & set mrc = executesql(txtsql, msgtext) if mrc.eof = false then msgbox 学号重复,请重新输入!, vbokonly + vbexclamation, 警告 mrc.close txtsid.setfocus else mrc.close if not isdate(txtborndate.text) t

23、hen msgbox 出生时间应输入日期格式(yyyy-mm-dd)!, vbokonly + vbexclamation, 警告 txtborndate.setfocus else txtborndate = format(txtborndate, yyyy-mm-dd) if not isdate(txtrudate.text) then msgbox 入校时间应输入日期格式(yyyy-mm-dd)!, vbokonly + vbexclamation, 警告 txtrudate.setfocus else txtrudate = format(txtrudate, yyyy-mm-dd)

24、 txtsql = select * from student_info set mrc = executesql(txtsql, msgtext) mrc.addnew mrc.fields(0) = trim(txtsid.text) mrc.fields(1) = trim(txtname.text) mrc.fields(2) = trim(combosex.text) mrc.fields(3) = trim(txtborndate.text) mrc.fields(4) = trim(comboclassno.text) mrc.fields(5) = trim(txttel.te

25、xt) mrc.fields(6) = trim(txtrudate.text) mrc.fields(7) = trim(txtaddress.text) mrc.update msgbox 添加学籍信息成功!, vbokonly + vbexclamation, 警告 mrc.close me.hide end if精品. end if end if end subprivate sub command2_click() unload meend subprivate sub form_load() dim mrc as adodb.recordset dim txtsql as stri

26、ng dim msgtext as string dim i as integer combosex.additem 男 combosex.additem 女 txtsql = select * from class_info set mrc = executesql(txtsql, msgtext) for i = 1 to mrc.recordcount comboclassno.additem mrc.fields(0) mrc.movenext next i mrc.closeend subprivate sub txtcomment_change()end sub修改dim mrc

27、as adodb.recordsetdim mybookmark as variantdim mcclean as booleanprivate sub editcommand_click() mcclean = false frame2.enabled = false firstcommand.enabled = false previouscommand.enabled = false nextcommand.enabled = false lastcommand.enabled = false txtsid.enabled = true txtname.enabled = true co

28、mbosex.enabled = true txtborndate.enabled = true精品. comboclassno.enabled = true txtrudate.enabled = true txttel.enabled = true txtaddress.enabled = trueend subprivate sub cancelcommand_click() if not mcclean then frame2.enabled = true firstcommand.enabled = true previouscommand.enabled = true nextco

29、mmand.enabled = true lastcommand.enabled = true txtsid.enabled = false txtname.enabled = false combosex.enabled = false txtborndate.enabled = false comboclassno.enabled = false txtrudate.enabled = false txttel.enabled = false txtaddress.enabled = false mrc.bookmark = mybookmark call viewdata else ms

30、gbox 什么都没有修改,有什么好取消的!, vbokonly + vbexclamation, 警告 end if end subprivate sub deletecommand_click() mybookmark = mrc.bookmark str2$ = msgbox(是否删除当前记录?, vbokcancel, 删除当前记录) if str2$ = vbok then mrc.movenext if mrc.eof then mrc.movefirst mybookmark = mrc.bookmark mrc.movelast mrc.delete mrc.bookmark =

31、 mybookmark call viewdata精品. else mybookmark = mrc.bookmark mrc.moveprevious mrc.delete mrc.bookmark = mybookmark call viewdata end if else mrc.bookmark = mybookmark call viewdata end ifend subprivate sub firstcommand_click() mrc.movefirst call viewdataend subprivate sub form_load() dim txtsql as st

32、ring dim msgtext as string txtsql = select * from student_info set mrc = executesql(txtsql, msgtext) mrc.movefirst call viewdate mcclean = trueend subpublic sub viewdata() txtsid.text = mrc.fields(0) txtname.text = mrc.fields(1) combosex.text = mrc.fields(2) txtborndate.text = format(mrc.fields(3),

33、yyyy-mm-dd) comboclassno.text = mrc.fields(4) txttel.text = mrc.fields(5) txtrudate.text = format(mrc.fields(6), yyyy-mm-dd) txtaddress.text = mrc.fields(7) end subprivate sub lastcommand_click() mrc.movelast call viewdata精品.end subprivate sub nextcommand_click() mrc.movenext if mrc.eof then mrc.mov

34、efirst end if call viewdataend subprivate sub previouscommand_click() mrc.moveprevious if mrc.bof then mrc.movelast end if call viewdataend subprivate sub updatecommand_click() dim txtsql as string dim msgtext as string dim mrcc as adodb.recordset if mcclean then msgbox 请先修改学籍信息, vbokonly + vbexclam

35、ation, 警告 exit sub end if if not testtxt(txtsid.text) then msgbox 请输入学号!, vbokonly + vbexclamation, 警告 txtsid.setfocus exit sub end if if not testtxt(txtname.text) then msgbox 请输入姓名!, vbokonly + vbexclamation, 警告 txtname.setfocus exit sub end if if not testtxt(combosex.text) then msgbox 请选择性别!, vbok

36、only + vbexclamation, 警告 combosex.setfocus exit sub精品. end if if not testtxt(txtborndate.text) then msgbox 请输入出生日期!, vbokonly + vbexclamation, 警告 txtborndate.setfocus exit sub end if if not testtxt(comboclassno.text) then msgbox 请选择班号!, vbokonly + vbexclamation, 警告 comboclassno.setfocus exit sub end

37、 if if not testtxt(txttel.text) then msgbox 请输入联系电话!, vbokonly + vbexclamation, 警告 txttel.setfocus exit sub end if if not testtxt(txtrudate.text) then msgbox 请输入入校日期!, vbokonly + vbexclamation, 警告 txtrudate.setfocus exit sub end if if not testtxt(txtaddress.text) then msgbox 请输入家庭住址!, vbokonly + vbe

38、xclamation, 警告 txtaddress.setfocus exit sub end if if not isnumeric(trim(txtsid.text) then msgbox 学号请输入数字!, vbokonly + vbexclamation, 警告 txtsid.setfocus exit sub end if mrc.delete txtsql = select * from student_info where student_id = & trim(txtsid.text) & set mrcc = executesql(txtsql, msgtext) if m

39、rcc.eof = false then精品. msgbox 学号重复,请重新输入!, vbokonly + vbexclamation, 警告 mrcc.close txtsid.setfocus else mrcc.close if not isdate(txtborndate.text) then msgbox 出生时间应输入日期格式(yyyy-mm-dd)!, vbokonly + vbexclamation, 警告 txtborndate.setfocus else txtborndate = format(txtborndate, yyyy-mm-dd) if not isdate

40、(txtrudate.text) then msgbox 入校时间应输入日期格式(yyyy-mm-dd)!, vbokonly + vbexclamation, 警告 txtrudate.setfocus else txtrudate = format(txtrudate, yyyy-mm-dd) mrc.addnew mrc.fields(0) = trim(txtsid.text) mrc.fields(1) = trim(txtname.text) mrc.fields(2) = trim(combosex.text) mrc.fields(3) = trim(txtborndate.t

41、ext) mrc.fields(4) = trim(comboclassno.text) mrc.fields(5) = trim(txttel.text) mrc.fields(6) = trim(txtrudate.text) mrc.fields(7) = trim(txtaddress.text) mrc.update msgbox 修改学籍信息成功!, vbokonly + vbexclamation, 修改学籍信息 call viewdata frame2.enabled = true firstcommand.enabled = true previouscommand.enab

42、led = true nextcommand.enabled = true lastcommand.enabled = true txtsid.enabled = false txtname.enabled = false combosex.enabled = false txtborndate.enabled = false comboclassno.enabled = false txtrudate.enabled = false精品. txttel.enabled = false txtaddress.enabled = false mcclean = true end if end i

43、f end ifend sub查询private sub cmdexit_click() unload meend subprivate sub cmdinquire_click() dim txtsql as string dim msgtext as string dim dd(4) as boolean dim mrc as adodb.recordset txtsql = select * from student_info where if check1(0).value then if trim(txtsid.text) = then smeg = 学号不能为空 msgbox smeg,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论