ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:515.42KB ,
资源ID:10424909      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10424909.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库设计报告书.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库设计报告书.docx

1、数据库设计报告书一、系统概述.31.1 目的.31.2 背景.31.3 范围.3二、需求说明.32.1功能分析.32.2工作流图.42.3数据流图.52.4数据字典.52.5概念模型设计(E-R图).82.6逻辑设计.8三、系统设计.9 3.1软件模块结构设计.9 3.2 数据库设计.16四、系统的功能.204.1 系统的主界面.20 4.2 学生管理模块.20 4.3 教师管理模块.23 4.4 成绩管理模块.25五、全文总结与体会.28参考文献一、系统概述1.1 目的往往管理学生档案信息是非常繁琐和极为重要的工作.我们在学习和工作中作出的努力怎样才能得到很好地保存与管理已经是我们所关心的问

2、题了。为此,通过ASP+SQL技术来编写一部管理学生信息的程序来方便学生和老师。1.2 背景 21世纪以高科技为核心的知识经济将占主导地位,国家的综合国力和国际竞争力将越来越取决于科学技术创新水平。教育作为知识创新、传播和应用的基础,已经成为经济发展和社会进步的基础。在信息爆炸时代,传统教学管理面临着诸多挑战。1.3 范围系统包括的范围:系统结构流程、前台结构、后台结构。二、需求说明2.1功能分析教学管理系统包括学生信息、教师信息、成绩信息,具体功能如下:(1)学生消息的添加、查询、删除、修改。学生信息包括学生学号、姓名、性别、年龄。实现了学生基本信息的录入,实现了按学号、姓名、系名称查询学生

3、基本信息以及对学生基本信息的更新。(2)教师信息的添加、查询、删除、修改。教师信息包括老师所教课程、教师姓名、教师性别,老师所在系名、学历。实现了教师基本信息的添加,实现了按姓名、系名称查询教职工基本信息以及对教师基本信息的更新。(3)成绩信息的添加、查询、删除、修改。成绩信息包括学号、姓名、课程编号、课程名称、成绩。实现了成绩信息的录入,运用连接查询实现了按学号、学生姓名、课程号、课程名称、教师姓名查询学生成绩,按课程号、课程名称查询不及格学生学号、姓名,也实现了对成绩信息表的更新。(4)退出系统。实现了关闭系统的功能。 教学管理系统功能模块示意图:2.2工作流图2.3数据流图2. 4 数据

4、字典2.4.1 数据结构卡片为: 2.4.2 数据项卡片: 选择其中一个数据结构卡片给出数据项卡片(选择第一个数据结构卡片) 2.4.3数据存储卡片(选择第一个数据结构卡片分析):数据存储名:查询结果别名:描述:查询学生基本信息所得的结果数据流来源:学生基本信息表数据流去向:学校管理者组成:学号,姓名,专业,性别,年龄 2.4.4数据流卡片(选择第一个数据结构卡片分析)数据流名:学生基本信息表别名:学生登记表描述:用来录入学生基本信息定义:学生基本信息表=学号+姓名+专业+性别+年龄流入数据流:流出数据流:存取方式:随机2.5概念模型设计(E-R图) 2.6逻辑设计(1)Students(学号

5、主键,姓名,系名,性别,年龄);(2)Teacher(编号外键,教师姓名主键,系名,学历);(3)Grade(学号外键,课程名称外键,成绩)(学号和课程名称作为主键);综合上述关系模式可得,3个关系模式都只有一个主键,每个关系模式中的所有非主属性对候选键均没有部分函数和传递函数依赖,也没有主属性对候选键的部分函数依赖和传递函数依赖,故可以认为3个关系模式均达到BC范式,满足数据库的开发要求,无需再对每一个关系模式进行分解。1) 学生信息表字段名称数据类型字段大小必填字段编号 char10是姓名 char10是性别int2否年龄char4否专业char15否2)成绩表字段名称数据类型字段大小必填

6、字段课程编号 char 5是课程名称 char20是前置课程 char5否学分 int4否3)教师信息表字段名称数据类型字段大小必填字段教师编号int 4否教师姓名char10是性别char2否教授课程char10否备注 char10否三、系统设计3.1软件模块结构设计3.1.1创建一个新的MFC工程,如图所示3.1.2在对话框添加按钮,摆出各个部件的位置下图为学生管理的界面示意图:3.1.3给每个按钮做个新的对话框,如登记对话框如下图:3.1.4以此类推,将所有的模块的界面及上面的部件全部摆出来,最后所有的素材如下图:3.1.5实现对话框与对话框之间的跳转例如要实现点击学生管理界面上的登记按

7、钮跳到学生登记的界面点击登记按钮跳转到下图首先需要给学生登记界面对话框建立一个名为MyDlg_Stu_Reg的类,然后在双击学生管理界面上的登录按钮,添加下列代码:void MyDlg_Stu:OnButton1() MyDlg_Stu_Reg stuDlg;/建立学生登记类的一个对象 stuDlg.cCid = ; if (stuDlg.DoModal() = IDOK)/生成学生登录对话框,并检测是否按下确定按钮,若按下则刷新学生管理界面的数据表 RefreshData(); 其他所有按钮跳转均为上述方法可以实现。3.1.6实现从界面对话框上输入数据并写入数据库个人认为这个是整个软件的核心

8、部分,也是最难的部分。就还是拿学生登录对话框举例,从学生登录对话框输入学生的基本信息,然后点击确定,然后写入学生管理对话框。首先应建立一个名为Student的类,该类的声明如下class Student private: int StuNum; CString StuNam; CString StuSex; int StuAge;public: Student(); virtual Student(); CStringArray a_StuNum; CStringArray a_StuNam; CStringArray a_StuSex; CStringArray a_StuAge; /读取和

9、设置成员变量 int GetStuNum(); void SetStuNum(int iStuNum); CString GetStuNam(); void SetStuNam(CString cStuNam); CString GetStuSex(); void SetStuSex(CString cStuSex); int GetStuAge(); void SetStuAge(int iStuAge); /数据库操作 int HaveName(CString cStuNam); void sql_insert(); /向数据库中插入一行 void sql_findSno(CString

10、cCid); /以学号查询 void sql_findSname(); /以姓名查询 void sql_update(CString b); /修改数据库 void sql_delete(CString a); /删除数据库;说明:该类具有四个私有变量StuNum,StuNam,StuSex,StuAge,分别记录学生的学号,姓名,性别,年龄。由于私有函数不能直接访问,故需要编写对应的成员函数,void SetStuNum(int iStuNum),SetStuNam(CString cStuNam),SetStuSex(CString cStuSex),SetStuAge(int iStuA

11、ge),并把从外界获得的数据赋给私有变量。 还需要编写关于数据库操作的函数,例如数据库的插入函数void sql_insert();/数据库插入void Student:sql_insert() /连接数据库 ADOConn m_AdoConn; m_AdoConn.OnInitADOConn(); /设置INSERT语句 _bstr_t vSQL; CString strStuNum; strStuNum.Format(%d, StuNum); CString strStuAge; strStuAge.Format(%d, StuAge); vSQL = INSERT INTO Studen

12、ts (Cid, Cname, Csex, Cage, Cdept) VALUES( + strStuNum + , + StuNam + , + StuSex + , + strStuAge + , 计算机); /执行INSERT语句 m_AdoConn.ExecuteSQL(vSQL); /断开与数据库的连接 m_AdoConn.ExitConnect();说明:这个函数可以把Student类中的私有变量对应加到数据库之中。现在还需要把对话框中用户输入的数据通过后台传入类Student中的私有变量,应该先给对话框中的编辑框建立类向导,如下图:并给编辑框加上对应的变量名现在需要给学生登记对话

13、框中的确定按钮加上如下代码:void MyDlg_Stu_Reg:OnOK() / TODO: Add your control notification handler code here UpdateData(TRUE);/ int StuNum,StuAge;/ CString StuNam,StuSex; Student stu; stu.SetStuNum(m_Cid); stu.SetStuAge(m_Cage); stu.SetStuNam(m_Cname); stu.SetStuSex(m_Csex); if (m_Cname = ) MessageBox(请输入学生姓名);

14、return; if (cCid = ) /插入数据 if (stu.HaveName(m_Cname) = 1) MessageBox(m_Cname); MessageBox(当前顾客已经存在,请重新输入顾客姓名); return; else stu.sql_insert(); else /更新数据 if (m_Cname != cCname & stu.HaveName(m_Cname) = 1) MessageBox(当前顾客已经存在,请重新输入顾客姓名); return; else stu.sql_update(cCid); /关闭对话框 CDialog:OnOK();到此为止即可以

15、实现从对话框向数据库中增加数据,其他所有功能,添加,删除,修改,查询的处理方法与这个大同小异,就不多做叙述了。 3.2 数据库设计3.2.1 建立一个新的数据库打开SQLserver2000的企业管理器,在数据库里增添一个新的数据库,如下图:3.2.2 建立一个新的表 设计表的属性,如下图: 填写表的内容,如下图:3.2.3 数据库的链接本程序采用ADO接口来实现数据库和MFC的链接首先需要给工程中添加新的关于ADO的组件,添加方法为:工程添加到工程Components and Controls,并添加下面三个控件:Microsoft DataCombo Control,version 6.0

16、 (OLEDB)Microsoft DataGrid Control,version 6.0 (OLEDB)Microsoft DataList Control,version 6.0 (OLEDB)如下图所示:添加成功后,控件工具条会新增四个工具,如下图需要再添加一个名为ADOConn.cpp和ADOConn.h的文件,并在ADOConn.h中添加下列代码:#import c:Program FilesCommon FilesSystemadomsado15.dll no_namespace rename(EOF,adoEOF) rename(BOF,adoBOF)点击ADODC控件的属性,

17、链接数据库,如下图:四、系统的功能4.1系统的主界面主界面代码详见:计算机学生管理系统Dlg.cpp4.2 学生管理模块4.2.1 学生登记界面4.2.2 学生查询界面4.2.3 学生删除界面4.3 教师管理模块4.3.1 教师登记界面4.3.2 教师查询界面4.3.3 教师删除界面 4.4 成绩管理模块4.4.1 成绩登记界面4.4.2 成绩查询界面4.4.3 成绩删除界面五、全文总结与体会 一周的课设感觉每天的都过的特别的充实,记得课设的第一天,我基本上是一头雾水,根本不知道如何下手,看着老师给的例子和书上的例子,那无数张表,无数个对话框,还有那写密密麻麻的代码,我头皮发麻,不知道自己在短

18、短的一周内真的能做完这么多不,万事开头难,我硬着头皮去一点点的研究,去翻书,去查资料,去问王老师。开始不断的自己尝试,一个功能一个功能的实现。我记得我首先实现的功能是在MFC上显示一张数据库里的表,当我把表成功的显示了时,我心里充满了成绩感,下决心一定要靠自己的能力把这个做完。下面就是实现对话框之间的跳转,现在想想,这个应该是最简单的了,可是当时就是不会,就到处的问别人。当我看到王老师一两分钟就帮我实现了这个功能,我不由得心升无限敬佩之情。记得在实现从对话框中添加数据到数据库这一功能时,是最困难的,参考例子上的代码,放到我这里就是不对,后来仔细的看代码,一行一行的看,一行一行的改,最后终于成功

19、的加入到数据库中了,可是还有个严重的问题,就是软件界面上的表不能即时刷新,这个问题纠缠了我好久,就是解决不了,问了好多同学,也在网上搜了好多解决方案,都不行。最后经过我不懈的努力,终于在有一次成功,我当时激动的站起来了,把周围人吓了一跳,我想这就是课设的魅力所在吧。成功的做好了一个模块,所有原理都会了,后面的工作基本就是完全的重复工作了,做起来就得心应手了,等到全做好后,发现自己好了不起,做成了一个软件了都。 当然这都需要十分的感谢王老师不耐其烦的指导,还有周围同学们无私的帮助。自己从中受益匪浅,锻炼了自己的动手能力,也培养了耐心,更充实了自己。没有大家的帮助,就没有这个作品,谢谢你们。参考文献1. 数据库原理及其应用教程 黄德才 科学出版社2. SQL Server 2000管理、开发及应用实例详解 陈世洪 人民邮电出版社3. VC6.0数据库系统开发实例导航 吴继刚 人民邮电出版社4. 数据库原理及应用 周佩德 电子工业出版社5. Visual Basic 6.0编程实例大制作 李光明 冶金工业出版社评 语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1