1、 本科生课程设计课程名称 数据库原理及应用课程设计课程编号学号学生姓名所在专业 计算机科学与技术所在班级指导教师成绩教师签字目 录一、设计总说明 .IV1.1 概况 .IV1.2 系统开发目的 .IV1.3 开发内容 .IV1.4 开发要求 .IV1.5 开发环境及工具 .V二、需求分析 .V2.1 系统背景分析 .V2.2 需求介绍 .V三、概念结构设计 .V3.1 系统功能模块设计图 .VI3.2 系统 E-R 图 .VI四、逻辑结构设计 .VII五、物理结构设计 .VII5.1 数据库创建 .VIII六、系统实现 .XII6.1 登陆界面 .XII6.2 管理员主界面 .XIII六、 优
2、缺点及自我评价 .XVII八、参考文献 .XVIII九、代码(附录) .XXI一、设计总说明1.1 概况名称:学生成绩管理系统用途:学校等机构功能:实现对学生信息、成绩的管理1.2 系统开发目的1) 掌握利用 C# 开发工具进行可视化程序设计的基本过程。2) 理解 C#应用程序的事件驱动机制,掌握利用 C#开发工具编写程序代码的方法,能熟练利用 C#语法规则进行算法设计和代码编写。3) 掌握利用 ADO.NET 对象进行数据库应用程序设计的基本方法。4) 掌握 SQL 数据库数据表设计以及 SQL 语句的书写和 c#中的调用方法。通过掌握以上的知识同时提高自己的实践动手能力。1.3 开发内容通
3、过调查分析得到学生成绩管理系统的系统需求,从而设计出系统的概念模型、逻辑模型、物理模型,通过 SQL2005 和 vs2010 的操作平台完成和实现相应的要求,再而进行不断的调试和测试完善系统的漏洞。1.4 开发要求 学生各种信息的输入,包括学生的基本信息、成绩信息、课程信息等。 学生各种信息的修改; 实现基本信息、成绩信息、课程信息的删除; 按照一定的条件,查询、统计符合条件的学生信息;能够实现多种查询方式,并且可以进行简单的学生信息统计; 实现基本信息、成绩信息、课程信息的导入导出等等;1.5 开发环境及工具系统前台开发软件:Microsoft 公司的 Visual Studio 2008
4、系统后台管理软件:SQL Server Management Studio 2005系统开发语言:C#二、需求分析2.1 系统背景分析随着电脑的普及,信息量的增大,现在几乎每个学校乃至每个教育机构也顺应时代的发展,纷纷抛弃繁琐的人工管理学生的成绩以及学生的信息的方式,而是采用各种管理软件进行管理。采用软件系统进行管理具有处理数据速度更快、信息量更多、更加准确、更加简便等特点。所以学生成绩管理系统成为学校和其他教育机构不可或缺的管理软件。2.2 需求介绍通过调查分析以及结合案例,系统应该达到以下的要求:(1)系统用户应包括两个层次:管理员和学生,管理员进行所有的操作,而学生只能够进行查询个人成绩
5、信息、查询个人信息和修改密码。(2)能够实现学生基本信息的录入、修改、删除。(3)能够实现课程信息的录入、修改、删除。(4)能够实现成绩信息的录入、修改、删除。(5)具有丰富的查询功能,能对学生信息、课程信息、成绩信息等进行查询(6)系统运行稳定,安全可靠。(7)用户界面设计美观、友好,使用操作便捷。三、概念结构设计3.1 系统功能模块设计图3.2 系统 E-R 图根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。系统 E-R 图可以将各个实体之间的关系显示出来,将各个实体间的属性依赖表示明白。学生成绩管理系统管理员 学生用户管理学
6、生信息管理课程信息管理成绩信息管理成绩查询统计学生信息查询个人成绩查询个人信息查询密码修改四、逻辑结构设计逻辑结构设计的任务就是把概念模型设计阶段设计好的基本 E-R 图转换为与选用的具体机器上的 DBMS 产品所支持的数据库模型相符合的逻辑结构,现在选用关系模型,E-R 图转换如下:用户(用户名,用户密码,权限)学生信息(学号,姓名,性别,生日,民族,政治面貌,身份证,电话,班级,所在系,家庭地址)用户 产生姓名学号民族出生年月性别地址权限密码用户名课程教师课程名课程号考核学生选课身份证政治面貌电话班级院系成绩 成绩学号课程号课程信息(课程号,课程名,教师)成绩信息(学号,课程名,成绩)五、
7、物理结构设计数据库物理设计阶段的任务是根据具体计算机系统的特点,给给定的数据库系统确定合理的存储结构和存取方法。我通过创建索引、存储过程、触发器、建立事务等来实现物理结构的优化。5.1 数据库创建用户表:学生表:课程表:成绩表:1)创建各种约束条件,来保证数据库的完整性操作,下面是添加外键参照的语句-外键参照,防止数据的非法操作alter table SCadd constraint SC_Snoforeign key (Sno) references Student(Sno),constraint SC_Snameforeign key (Cno) references Course(Cno
8、)2)创建索引,加快查询的速度create unique index Student_Sno on Sudent(Sno);create unique index Course_Course on Student(Cno);3)创建触发器,通过触发器来实现相关的自动工作-创建触发器,自动生成用户,生成默认密码和用户类型-create trigger insert_user on Studentfor insertasbegindeclare username char (20)select username=inserted.Sname from insertedinsert into UserInfo values(username,888,1)end-创建级联删除,删除学生信息,自定删除他的用户信息create trigger delete_studenton Studentfor deleteasbegindelete UserInfofrom UserInfo,deletedwhere UserInfo.UserName=deleted.Snameenddrop trigger ppdrop trigger delete_student1-创建级联删除,删除学生信息,自定删除他的成绩信息