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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据库学生成绩管理系统课程设计报告.docx

1、数据库学生成绩管理系统课程设计报告数据库课程设计报告1.功能需求 本报告主要介绍学生成绩管理系统的数据库设计,从需求分析到数据库的运行与维护都 进行详细的叙述。该系统是利用 SQL 开发出来的。通过 SQL 建立学生成绩管理系统,大大 方便和简化了数据的查询和处理,管理员可以通过 SQL 语言对表内数据进行添加,删除,修 改,查询等操作,还可以建立多用户,对其使用权限进行分配和回收。报告分为 4 部分,第一部分是课题简介及设计的内容与目的,需求分析,此阶段是数据 库设计的起点。第二部分是概念设计,逻辑结构设计,它是将需求分析的用户需求抽象为信 息结构,并将概念模型转换为某个 DBMS 所支持的

2、数据模型。第三部分是数据库的实施与运 行,它包括数据的载入及数据困的运行和数据库和数据表的创建(代码) 。第四部分是课程设 计的总结。1.1 开发环境及开发语言本次课程设计是以学生信息管理系统为模拟模型,运用C+编程语言结合SQL数据库所 开发系统。开发平台为 VC6.0 和 SQL2008。1.2设计目的随着学生数量的日益增多,学校对学生的管理要求也越来越高,为了使学生成绩的管理更加系统化,数字化,因此我们设计了该学生信息管理系统。1.3设计内容运用基于 E-R 模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计 直至系统的最终实现,开发学生成绩管理系统,完成学生成绩管理系统的

3、全部功能。首先做 好需求分析,并完成数据流图,其次做概念分析,利用实体联系的方法将需求分析的用户需 求抽象为信息结构,得到 E-R 图,然后就是逻辑结构设计,将 E-R 图转换为计算机系统所支 持的逻辑模型。最后利用 SQL 完成具体的实例。1.4.需求分析1、 问题的提出:为了高效率的完成学生成绩的管理,决定开发学生成绩管理系统。2、 需完成的功能:(1) 能提供管理员及普通用户(除删除和修改) 录入、注销、显示当前用户、修改、 删除、 查询、输出,学生的档案信息,这些信息包括学生的成绩、课程、个人信息等。(2) 触发器,索引,存储过程的建立及使用。2. 概念设计(1) (E-R 图)Use

4、rNmUserPwUserUserTyp(2)物理结构设计StudentColu mn NameDate TypeWidth空值情况Snon char10主关键字Sn amen char10不为空Sexn char10不为空Birthdaynu meric10可为空Addressn char10可为空Graden char10不为空Po;iticn char10不为空Cuturen char10不为空TelNchar10不为空CourceColu mn NameDate TypeWidth空值情况Snon char10主关键字Cnon char10不为空Scoren char10可为空User

5、Colu mn NameDate TypeWidth空值情况User_ namen char20主关键字User_Pswdn char20不为空User_Typeint可为空(3)分析关系模式对于关系模式 Student (Sno|Sname|Sex|Age|Address|Grade|class|Tel|Politic|Cutui)假定姓名也 具有唯一性,那么Student就有两个码,这两个码都由单个属性组成,彼此不相交。其它属性不存在对码的传递依赖与 部分依赖,又因为Student中除学号、姓名外没有其它的因素,所以 Student属于BCNF。对于关系模式Cource( |Sno|Cno

6、|Sco0有两个码,这两个码都由单个属性组成,彼此不相交, 其它属性不存在对码的传递依赖与部分依赖,又因为成绩中除学号、课程号外没有其它的决 定因素,所以成绩属于 BCNF。对于关系模式 User (|UserName|UserType|UserPswd|中,它 只有一个码,这里没有任何属性对课程号部分依赖或传递依赖,同时用户名是唯一的决定因 素,所以课程属于BCNF。它和学生信息和成绩没有直接的联系,因此它是一张单独的表。3.SQL语句3.1创建表学生表create table Stude nt(Sno n char(10) primary key,Sname nchar(10) not n

7、ullSex nchar(10) not nullAge nu meric(10)Address nchar(10)Class nchar(10) not nullGrade nchar(10) not nullTel nchar(10) not nullPolitic nchar(10) not nullCuture nchar(10) not null )成绩表create table Exam(Sno nchar(10) primary key /主键约束Cno nchar(10) Not nullScore nchar(10) foreign key (Cno) references

8、Course /外键约束 check(Score=0) / 完整性约束 )用户表create table Teacher(Username nchar(10) not nullUserPswd nchar(10) not nullUserType nchar(10) not null )3.2 数据初始化 将学生类别加入表 Student 中insert into Studentvalues (000 ,张明,M ,哈尔滨,计科一班,大 一,15880000 , 无 , 群众 )insert into Studentvalues(001 , 李三 , M ,长,春 ,计科二班 ,大三 1523

9、3000 .无,群众 )insert into Studentvalues(002 , 王强 , M ,哈,尔滨 ,软件二班 ,大二 15850040 .无,群众 )insert into Studentvalues(003 , 张雪 , F ,哈,尔滨 ,软件一班 ,大一 156809802 .无,群众)insert into Stude ntvalues(004 ,李力,M ,太连,软件一班,大三15980000 无 群众)in sert into Stude nt values(005 ,张小,M ,哈尔滨,软件三班,大一15884444 .无,群众)5noShame分AgeAddres

10、sClassGrade张明M17哈尔填软件一班大一001李三M22长春软件二班大三002王强M20昭尔滨软件二班大二003张雪FIS软件一班大一004李力M25犬连软件一班大三005张小M15跆尔滨软件三班丈一NULLMLNULLMLMLML将考试类别加入Cource表中insert into Cource values (000,A-123,85) insert into Cource values(001,B-123,77) insert into Cource values(002,C-123,91) insert into Cource values(003,A-123,80) ins

11、ert into Cource values(004,B-123,75) in sert into Courcevalues(005,A-123,89)SnoCnoScore000A-123850018-12377002C-12391003A-L23SO004B-1237S005A-123MLwsz将课程加入User表中in sert into Uservalues( 阿生,921,O)insert into Uservalues( 光光,111,1)insert into Uservalues( 甜甜,111,1)索引的使用use stude ntcreate unique non clus

12、tered in dex in dex_s no on Stude nt (sno )触发器create trigger rem inderon stude ntafter in sert,updateas raiserror( 你在插入或修改学生的数据,16,10)drop trigger reminder select *from Stude nt where sno=002结果| 消扈存储过程create procedure usp_getStude ntn ame n char(40) asselect * from Stude nt where Sn ame=n ame执行存储过程t

13、l26.studenl: - SQLQueryS.sql*execute usp_getStudent表-dbo.Student张明一i结果| j消息|Sno 1 SnameSenAgeAddress | Class1i 000 1 1 1 EB1 1张明M17哙尔滨软件一班大一4、SQ与C+吉合(可视化的界面管理)1、 准备创建好的数据库,创建数据源在创建数据库的应用程序之前,必须有一个可供应用程序使用的数据库。2、 ( 1)建立了数据库之后,必须配备 ODBC数据源,使其指向刚刚建立的数据库。选择“控制面板”中“管理工具”下的“数据源 (ODBC) ”项。双击ODBC图标,弹 出“ODBC

14、数据源管理器”对话框。在这里用户可以设置 ODBC数据源的一些信息, 其中的“用户DSN ”选项卡是用户定义的在本地计算机上使用的数据源名 (DSN),(2)为新的数据源选择数据库驱动程序。由于使用的是 Access数据库,所以选择Driver do Microsoft Access(*mdb)选项,并单击“完成”按钮。(3)“ODBC Microsoft Access安装”对话框中,为该数据源起一个简短的名称。本例为TeacherDB,可以在下一个编辑框中输入对该数据库的说明。(4)指定数据库的位置。单击“选择”按钮,然后指定所创建的 Access数据库。(5)单击“确定”按钮,刚才创建的用

15、户数据源被添加在“用户 DSN”选项卡的“用 户数据源”列表框中。3、 创建 MFC AppWizard应用程序用MFC AppWizard(exe)创建一个对话框应用程序 TeacherMIS。为了使程序能支持数 据库对象,在头文件 stdafx.h中加入#in clude。4.用ClassWizard为数据库中的每一个表映射一个记录集类首先为表Users映射记录集类 CUserSe。打开项目工作区的 ClassView选项卡, 选择项目名称,右击,弹出快捷菜单,选择 New Class命令弹出的New Class对话框,输入记录集类名称 CUserSet,并为其选择基类 CRecordse

16、t单击0K按钮,弹出的 Database Options对话框,为记录集类选择 ODBC数据源 TeacherDB,单击0K按钮, 弹出Select Database Tables寸话框,为记录集类选择数据库表 Users,单击OK按钮,即完成记录集类CUserSet的定义。5、 根据类属性之间的关系添加如下类:I J&J(6)显示当前用户:m_corr_user=logi n. GetUserNm();(7)注销:void CTeacherMISDIg:OnLogout() m_score.Close();CDialog: :OnCan cel();CLog in Dlg log in;lo

17、gi n.SetUser();logi n.DoModal();7、运行截图(1)用户登录:用户登录 魂(2)学生信息管理系统:乂学生管浬言息苣理矣続 JLP 学生信息学号200923333姓名|舒适 当前用户|阿生班级191092所在学f完|计算机学院|注硝班级职务性别 ,禺 G女政治面貌鮮介 MJ出生年:1990 月:I06 工 |联系电话15S6S6332刪除退出咸绩查询学号 雄S丨 学院 I性别J出生年月 班级I毕业院校 丨页治面貌?009.2009.2009.2005.算算算算计计计计男女女女芋亍芋1950.1990 1983 1990.无无无无1910921109213101910

18、92*众众介trR二eFT mT RRH - -1 I - - - I- riri3、成绩管理系统:学主成蓬学号: 课程号: 成绩:20092333T学号课程号成绩2009233331255添加 修改删除显示所有学生咸绩确定5、设计中遇到的问题及心得在设计中遇到的几个问题 :1、关系图的连接:当数据库创建的时候没把他们的关系图连接起来,导致在投影时出问 题,查询的时候也出现了错误2、删除时错误:在删除操作的时候,由于没考虑表之间的关系,和删除次序。导致了一 张表的数据元素删除了,而另外一张的任然存在。3、对同一学生插入同一课程号:刚开始的思想是使用 not in 进行判断该记录是否存在, 再

19、插 入 我 用 的 下 面 的 这 句 语 句 strSQL.Format(insert into SC VALUES(%s,%s,%s) where %s not in(select cno from SCwhere %s=SNO) , m_sno, m_cno,m_score, m_cno,m_sno); 结果未能实现禁止对对统一学生插入统一课 程号。几番周折后还是没能看出问题的所在。 一是我便自己写了一个判断的 FindScore 函数,来判断是否表中又该记录决定插入与否。通过此函数也能解决这个问题。这个学生成绩管理系统实现了管理的基本功能,此外我还添加了一些小的功能。但是 这个系统任然

20、有些不足和漏洞,比如软件代码交冗余、效率不高等等随着学习的深入讲 不断地完善它。B TescherMIS classes*4 CAboutDIg1+ CLoginDIg:+ r; CScorel+-弋 CScSet+ r; CTeacherMISAppi+ CTeacherMISDlgL+ CTeacherSetl1+ r5 CuserSet+ _j Globals6 C+中实现对数据库的管理(及增加、删除、修改、查找、退出)(1)增加:void CScore:OnBUTTONAdd()strSQL.Format(i nsert into Score VALUES(%s,%s,%s),m_s

21、no, m_cn o,m_score);DoExecuteSQL(strSQL);(2)删除:CScore:OnBUTTONDel()strSQL.Format(delete from Score where SNO=%sa nd CNO=%s ,m_s no,m_c no);DoExecuteSQL(strSQL);(3)修改:void CScore:OnBUTTONEdit()strSQL.Format(Update Score SET CNO=%s,SCORE=%s where sn o=%sa nd eno=%s and score=%s , m_cno, m_score,save_s no ,save_c no ,save_score ); DoExecuteSQL(strSQL);(4)查找:void CSore:OnBUTTONFind() strSQL.Format(select * * from teachers where %s =%s,strField, m_FieldValue);(5)退出:void CSore:OnCancel()CDialog:O nCan cel();

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

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