资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
一设计目的通过这次课程设计,熟练掌握软件开发过程中数据库的使用,理解以数据库为中心的软件开发设计思想,熟练应用数据库的增、删、改、查询等操作。本次课程设计是基于 SQL Server 2005,由 VC 作为前台界面设计软件的系统。二系统的功能分析与设计1.系统功能需求分析 1) 用户可以从数据库中获得学生基本信息,课程信息,班级信息,选课信息,教师信息,从而需要建立以上各个信息的模块来实现数据交互。2) 用户要完成查询,添加,修改,删除等基本处理功能。3) 学生能利用该系统进行选课。管理员可以对所有学生的选课信息进行审核。4) 可以查询学生个人的成绩,同时可以查询班级的总体成绩。在查询班级的整体成绩时可以按课程进行查询或者班级号进行查询。在查询过程中可以计算平均成绩和及格率等信息。5) 安全性,协调性和完整性。当用户添加学号时,要保证学号不能重复,在选课信息中学号和课程号的组合也不能重复,学生基本信息,课程信息和选课信息中学号,课程号必须一致这样才能实现查询功能和各个信息模块的协调。选课表中学号和课程号必须使用已经存在的号码,所以对数据进行添加,修改,删除,浏览进行监控,进行出错提示及处理。2.系统功能概要设计:根据之前的功能需求分析得到本系统的功能模块图如下:学生管理信息系统学生选课查询记录数据库安全管理添加和删除记录老师信息班级信息三系统数据库设计与实现1.需求分析:根据以上对该系统的功能分析,得到系统所需的数据如下:1)学生基本信息,包括:学号、姓名、性别、年龄等;2)课程信息,包括:课程名、课程号、先行课、学分;3)选课信息,包括:学号,课程号,成绩。4)班级信息,包括:班级号,班级名。5)教师信息,包括:教师号,姓名,性别,职称。通过对系统数据的分析,得到系统业务流图和数据字典:2)数据字典(DD):本系统需要使用的数据包括以下关系。表 1:学生基本信息Student字段名称 数据类型 字段大小 作 用 必填字段 是否主键Sno char 5 学号 是 是Sname char 20 姓名 是 否Ssex char 10 性别 是 否Sage int 10 年龄 是 否SClno char 10 所在班 是 否表 2:课程信息Course字段名称 数据类型 字段大小 作 用 必填字段 是否主键学生添加、删除、修改数据查询数据信息管理系统查询数据选课管理员或教师Cno char 10 课程号 是 是Cname char 20 课程名 是 否cpno char 10 课程名 是 否CTno char 10 教师号 是 否Ccredit char 10 学分 是 否表 3:选课信息SC字段名称 数据类型 字段大小 作 用 必填字段 是否主键Sno char 10 学号 是 是Cno char 10 课程号 是 是Grade int 10 成绩 否 否表 4:教师信息Teacher字段名称 数据类型 字段大小 作 用 必填字段 是否主键Tno char 10 教工号 是 是Tname char 20 教师名 是 否Tsex char 2 性别 是 否Tstatus vchar 29 职位 否 否2.概念结构设计根据之前系统所需数据的需求分析,得到系统数据的 ER 图如下:学生学号选修课程姓名 性别 年龄 所在班级课程号 先行课号课程名 学分成绩mn3.逻辑结构设计:(1)将上面 ER 图转换为关系模型,关系的码为黑体字加下划线。学生(学号,姓名,性别,年龄,所在班)此为学生实体对应的关系模式,其中学号是码。课程(课程号,课程名,先行课名,学分)此为课程实体对应的关系模式,其中课程号是码。选修(学号,课程号,成绩)此为联系“选修”对应的关系模式,其中(学号,课程号)是码。(2)设计用户子模式为学生用户建立视图:学生 1(姓名,性别,年龄,所在系,课程号,课程名,学分,成绩)定义学生存取权限:为查询为老师用户建立视图:学生 2(学号,姓名,性别,年龄,所在系,课程号,课程名,先行课名,学分,成绩)定义教师存取权限为:查询、添加、修改、删除4数据库的实现数据库中库和表的定义(见以下 SQL 代码)CREATE DATABASE stu -数据库名为 stuON (NAME=stu_data, -数据库的逻辑名为 stu_dataFILENAME=E:sql_datastu_data.mdf , -数据库的物理名,请事先在 E 盘上建立 sql_data 文件夹。SIZE=10MB, -数据库的初始大小为 10MBMAXSIZE=50MB, -数据库的最大容量为 50MBFILEGROWTH=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 (男,女),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),foreign 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 Server2005 设计。各功能模块界面如下: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=;UpdateData(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();删除代码: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.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=;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);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);/使其他
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号