




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.一设计目的通过这次课程设计,熟练掌握软件开发过程中数据库的使用,理解以数据库为中心的软件开发设计思想,熟练应用数据库的增、删、改、查询等操作。本次课程设计是基于SQL Server 2005,由VC作为前台界面设计软件的系统。二系统的功能分析与设计 1.系统功能需求分析 1) 用户可以从数据库中获得学生基本信息,课程信息,班级信息,选课信息,教师信息,从而需要建立以上各个信息的模块来实现数据交互。2) 用户要完成查询,添加,修改,删除等基本处理功能。3) 学生能利用该系统进行选课。管理员可以对所有学生的选课信息进行审核。4) 可以查询学生个人的成绩,同时可以查询班级的总体成绩。在查询班级的整
2、体成绩时可以按课程进行查询或者班级号进行查询。在查询过程中可以计算平均成绩和及格率等信息。5) 安全性,协调性和完整性。当用户添加学号时,要保证学号不能重复,在选课信息中学号和课程号的组合也不能重复,学生基本信息,课程信息和选课信息中学号,课程号必须一致这样才能实现查询功能和各个信息模块的协调。选课表中学号和课程号必须使用已经存在的号码,所以对数据进行添加,修改,删除,浏览进行监控,进行出错提示及处理。 2.系统功能概要设计:根据之前的功能需求分析得到本系统的功能模块图如下:学生管理信息系统学生选课查询记录数据库安全管理添加和删除记录老师信息班级信息 三系统数据库设计与实现1.需求分析: 根据
3、以上对该系统的功能分析,得到系统所需的数据如下:1) 学生基本信息,包括:学号、姓名、性别、年龄等;2) 课程信息,包括:课程名、课程号、先行课、学分;3) 选课信息,包括:学号,课程号,成绩。4) 班级信息,包括:班级号,班级名。5) 教师信息,包括:教师号,姓名,性别,职称。通过对系统数据的分析,得到系统业务流图和数据字典:管理员或教师选课信息管理系统查询数据学生添加、删除、修改数据查询数据2)数据字典(DD):本系统需要使用的数据包括以下关系。表1:学生基本信息Student字段名称数据类型字段大小作 用必填字段是否主键Snochar5学号是是Snamechar20姓名是否Ssexcha
4、r10性别是否Sageint10年龄是否SClnochar10所在班是否 表2:课程信息Course字段名称数据类型字段大小作 用必填字段是否主键Cnochar10课程号是是Cnamechar20课程名是否cpnochar10课程名是否CTnochar10教师号是否Ccreditchar10学分是否表3:选课信息SC字段名称数据类型字段大小作 用必填字段是否主键Snochar10学号是是Cnochar10课程号是是Gradeint10成绩否否表4:教师信息Teacher字段名称数据类型字段大小作 用必填字段是否主键Tnochar10教工号是是Tnamechar20教师名是否Tsexchar2性
5、别是否Tstatusvchar29职位否否2.概念结构设计根据之前系统所需数据的需求分析,得到系统数据的ER图如下:学生学号选修课程姓名性别年龄所在班级课程号先行课号课程名学分成绩mn3.逻辑结构设计:(1)将上面ER图转换为关系模型,关系的码为黑体字加下划线。学生(学号,姓名,性别,年龄,所在班)此为学生实体对应的关系模式,其中学号是码。课程(课程号,课程名,先行课名,学分)此为课程实体对应的关系模式,其中课程号是码。选修(学号,课程号,成绩)此为联系“选修”对应的关系模式,其中(学号,课程号)是码。(2)设计用户子模式为学生用户建立视图:学生1(姓名,性别,年龄,所在系,课程号,课程名,学
6、分,成绩)定义学生存取权限:为查询为老师用户建立视图:学生2(学号,姓名,性别,年龄,所在系,课程号,课程名,先行课名,学分,成绩)定义教师存取权限为:查询、添加、修改、删除4数据库的实现数据库中库和表的定义(见以下SQL代码) CREATE DATABASE stu -数据库名为stuON (NAME=stu_data, -数据库的逻辑名为stu_dataFILENAME=E:sql_datastu_data.mdf , -数据库的物理名,请事先在E盘上建立sql_data文件夹。SIZE=10MB, -数据库的初始大小为10MBMAXSIZE=50MB, -数据库的最大容量为50MBFIL
7、EGROWTH=10% -数据库容量自动按10 %的比例增长)LOG ON(NAME=stu_log, -日志文件的逻辑名为stu_logFILENAME='E:sql_datastudent_log.ldf ',SIZE=2MB,MAXSIZE=5MB,FILEGROWTH=1MB);CREATE TABLE STUDENT(sno char(5) not null, sname char(8), ssex char(2), sage smallint, sdept char(10), primary key(sno), check(ssex in ('男',
8、'女'), check(sage between 15 and 30);CREATE TABLE COURSE(cno char(2) not null, cname char(12), cpno char(2), ccredit decimal(1), primary key(cno);CREATE TABLE SC(sno char(5) not null, cno char(2) not null, grade decimal(3), primary key(sno,cno), foreign key(sno) references student(sno), forei
9、gn key(cno) references course(cno), check(grade between 0 and 100);CREATE TABLE TEACHER(Tno char(5) not null, Tname char(8), Tsex char(2), Tstatus vchar(20);图1:设计的student表图2:设计的Course表图3:设计的SC表图4:设计的Teacher表四、系统功能的详细设计与实现 本系统采用VC 6.0+SQL Server2005进行开发,运行在Windows 7环境下。前台应用程序采用VC6.0软件编写,后台数据库采用SQL Se
10、rver2005设计。各功能模块界面如下:1.进入选择界面3.进入各部分查询,插入,删除界面(1)学生信息(2)班级信息(3)教师信息(4)课程信息(5)选课信息4.学生个人成绩查询和班级总体成绩查询附录:系统设计源代码查找代码: void CDialogSTU:OnButtonQuery() / TODO: Add your control notification handler code herem_StuID=""m_StuName=""m_StuAge=0;m_StuSex=""m_ClaID=""Upd
11、ateData(false);FOUNCTION=SEARCH;m_btnQuery.SetState(TRUE);/使其他按键无效m_btnAdd.EnableWindow(FALSE);m_btnDelete.EnableWindow(FALSE);m_btnModify.EnableWindow(FALSE);m_btnFirst.EnableWindow(FALSE);m_btnPre.EnableWindow(FALSE);m_btnNext.EnableWindow(FALSE);m_btnLast.EnableWindow(FALSE);m_btnOK.SetFocus();删除
12、代码:void CDialogSTU:OnButtonDelete() / TODO: Add your control notification handler code herem_StuID=""m_StuName=""m_StuAge=0;m_StuSex=""m_ClaID=""FOUNCTION=DEL;UpdateData(false);/使添加控件按下m_btnDelete.SetState(TRUE);/使其他控件无效m_btnQuery.EnableWindow(FALSE);m_btnAdd.
13、EnableWindow(FALSE);m_btnModify.EnableWindow(FALSE);m_btnFirst.EnableWindow(FALSE);m_btnPre.EnableWindow(FALSE);m_btnNext.EnableWindow(FALSE);m_btnLast.EnableWindow(FALSE);m_btnOK.SetFocus();添加代码:void CDialogSTU:OnButtonAdd() / TODO: Add your control notification handler code herem_StuID=""
14、;m_StuName=""m_StuAge=0;m_StuSex=""m_ClaID=""UpdateData(false);FOUNCTION=ADD;/使添加控件按下m_btnAdd.SetState(TRUE);/使其他控件无效m_btnQuery.EnableWindow(FALSE);m_btnDelete.EnableWindow(FALSE);m_btnModify.EnableWindow(FALSE);m_btnFirst.EnableWindow(FALSE);m_btnPre.EnableWindow(FALSE
15、);m_btnNext.EnableWindow(FALSE);m_btnLast.EnableWindow(FALSE);m_btnOK.SetFocus();修改代码:void CDialogSTU:OnButtonModify() / TODO: Add your control notification handler code herem_ctlStuID.SetReadOnly(); /只读,不能修改学号FOUNCTION=MODIFY;UpdateData(false);/使添加控件按下m_btnModify.SetState(TRUE);/使其他控件无效m_btnQuery.E
16、nableWindow(FALSE);m_btnAdd.EnableWindow(FALSE);m_btnDelete.EnableWindow(FALSE);m_btnFirst.EnableWindow(FALSE);m_btnPre.EnableWindow(FALSE);m_btnNext.EnableWindow(FALSE);m_btnLast.EnableWindow(FALSE);m_btnOK.SetFocus();最前代码:void CDialogSTU:OnButtonFirst() / TODO: Add your control notification handle
17、r code herem_pRecordset->MoveFirst();_variant_t var;CString str;tryvar=m_pRecordset->GetCollect("Sno");str=(LPCSTR)_bstr_t(var);m_StuID=str;var=m_pRecordset->GetCollect("Sname");str=(LPCSTR)_bstr_t(var);m_StuName=str;var =m_pRecordset->GetCollect("Sage");m_S
18、tuAge=var.iVal; var=m_pRecordset->GetCollect("Ssex"); str=(LPCSTR)_bstr_t(var);m_StuSex=str;var=m_pRecordset->GetCollect("Sclno");str=(LPCSTR)_bstr_t(var);m_ClaID=str;UpdateData(false);catch(_com_error *e)AfxMessageBox(e->ErrorMessage();向前代码:void CDialogSTU:OnButtonPre()
19、 /存在一个问题是:单击某条时,记录是不会同时更新到该记录中的/ TODO: Add your control notification handler code herem_pRecordset->MovePrevious();_variant_t var;CString str;if(m_pRecordset->adoBOF)MessageBox("已经是第一条记录!");m_pRecordset->MoveFirst();tryvar=m_pRecordset->GetCollect("Sno");str=(LPCSTR)_
20、bstr_t(var);m_StuID=str;var=m_pRecordset->GetCollect("Sname");str=(LPCSTR)_bstr_t(var);m_StuName=str;var =m_pRecordset->GetCollect("Sage");m_StuAge=var.iVal; var=m_pRecordset->GetCollect("Ssex"); str=(LPCSTR)_bstr_t(var);m_StuSex=str;var=m_pRecordset->GetCol
21、lect("Sclno");str=(LPCSTR)_bstr_t(var);m_ClaID=str;UpdateData(false);catch(_com_error *e)AfxMessageBox(e->ErrorMessage();向后代码:void CDialogSTU:OnButtonNext() / TODO: Add your control notification handler code herem_pRecordset->MoveNext();_variant_t var;CString str;if(m_pRecordset->
22、adoEOF)MessageBox("已经是末记录!");m_pRecordset->MoveLast();tryvar=m_pRecordset->GetCollect("Sno");str=(LPCSTR)_bstr_t(var);m_StuID=str;var=m_pRecordset->GetCollect("Sname");str=(LPCSTR)_bstr_t(var);m_StuName=str;var =m_pRecordset->GetCollect("Sage");m_StuAge=var.iVal; var=m_pRecordset->GetCollect("Ssex"); str=(LPCSTR)_bstr_t(var);m_StuSex=str;var=m_pRecordset->GetCollect("Sclno");str=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全隐患排查方法
- 班会课件-奋斗
- 2024年陕西高中学业水平合格性考试地理试卷真题(含答案)
- 2024年7月人工智能核心算法测试题(含答案解析)
- 7月(光纤通信)职业技能鉴定四级模考试题及答案(附解析)
- 幼儿主题教育学会分享
- 证券市场分层与差异化服务考核试卷
- 初中教育信息与技术融合实践
- 羽绒制品绿色生产理念与实践考核试卷
- 工业设计课件全套
- 2025年广东工业大学招聘行政助理1名历年高频重点提升(共500题)附带答案详解
- 铁路机车车辆制动钳工(高级)职业鉴定考试题库(含答案)
- 推拿培训协议合同范例
- 《便携式挥发性有机物检测仪 (PID)技术要求及监测规范》
- 甲亢碘131治疗的护理
- 2024年10月广东省高等教育自学考试08263工程经济学与项目资源试题及答案
- 吉林交通职业技术学院《工程造价》专业人才培养方案3年制(2019版)
- 2024年职业培训学校安全管理制度范文(二篇)
- 员工培训流程图
- 健身器材采购项目投标方案
- 交警辅警培训课件
评论
0/150
提交评论