专业信息管理系统数据库课程设计--学生成绩管理系统学号:重庆工商大学派斯学院课程设计题目学生成绩管理系统学院计算机系专业计算机应用班级10计算机本科2班学生姓名指导教师刘小明2012 年 5 月28 日重庆工商大学课程设计成绩评定表学院:班级:学生姓名:学号:项目分值优秀(100>x≥90)良好(90>x≥80)中等(80>x≥70)及格(70>x≥60)不及格(x<60) 评分参考标准参考标准参考标准参考标准参考标准学习态度15学习态度认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作学习态度比较认真,科学作风良好,能按期圆满完成任务书规定的任务学习态度尚好,遵守组织纪律,基本保证设计时间,按期完成各项工作学习态度尚可,能遵守组织纪律,能按期完成任务学习马虎,纪律涣散,工作作风不严谨,不能保证设计时间和进度技术水平与实际能力25设计合理、理论分析与计算正确,实验数据准确,有很强的实际动手能力、经济分析能力和计算机应用能力,文献查阅能力强、引用合理、调查调研非常合理、可信设计合理、理论分析与计算正确,实验数据比较准确,有较强的实际动手能力、经济分析能力和计算机应用能力,文献引用、调查调研比较合理、可信设计合理,理论分析与计算基本正确,实验数据比较准确,有一定的实际动手能力,主要文献引用、调查调研比较可信设计基本合理,理论分析与计算无大错,实验数据无大错设计不合理,理论分析与计算有原则错误,实验数据不可靠,实际动手能力差,文献引用、调查调研有较大的问题创新10 有重大改进或独特见解,有一定实用价值有较大改进或新颖的见解,实用性尚可有一定改进或新的见解有一定见解观念陈旧论文(计算书、图纸)撰写质量50结构严谨,逻辑性强,层次清晰,语言准确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸非常工整、清晰结构合理,符合逻辑,文章层次分明,语言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清晰结构合理,层次较为分明,文理通顺,基本达到规范化要求,书写比较工整;图纸比较工整、清晰结构基本合理,逻辑基本清楚,文字尚通顺,勉强达到规范化要求;图纸比较工整内容空泛,结构混乱,文字表达不清,错别字较多,达不到规范化要求;图纸不工整或不清晰指导教师评定成绩:指导教师签名:年月日目录一、需求分析 (4)1.数据需求分析 (4)2.系统功能需求 (4)二、概念结构设计(E-R图) (5)三、逻辑结构设计 (7)3.1关系模式设计 (7)3.2数据类型定义 (8)四、物理结构设计 (9)五、数据库实施 (10)5.1基本表的建立 (10)5.2数据输入 (17)5.3视图的建立 (18)5.4索引的建立 (22)5.5存储过程的建立 (24)5.6数据查询 (26)六、实验总结 (31)七、参考文献 (31)一、需求分析计算机已经深入到日常工作和生活的方方面面,成为我们学习和工作的得力助手,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等。
随着越来越多的应用软件出现,人们对它的要求也越来越高;虽然现在世界上的各种软件层出不穷,但它们依然不能满足用户的各种特殊需要,所以人们仍是不得不开发适合特殊需求的软件。
高校成绩管理系统记录了一个大学生成绩的系统,它的出现使得查询、更新、插入简单化,高效化,成本也随之大大减少。
使用计算机对成绩信息的管理,具有手工管理所无法比拟的优点:信息存储及时,检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生成绩管理的效率,也是高校成绩正规化管理的重要途径。
本课程设计均以中文形式表示,对普通程序使用者的查询提供简单方便的快捷操作,不需要技术含量。
以SQL SERVER 数据库管理系统为平台,通过设计数据库概念模型、逻辑模型以及利用标准SQL 语言的数据库实现,掌握关系数据库系统的设计与实现方法,增强数据库设计和数据库应用系统开发能力。
操作人员与维护人员应懂的SQL 语言。
1. 数据需求描述数据流图2.系统功能需求(1)学生成绩按每学年进行成绩统计; (2)学生成绩名次排定;(3)每门课程平均成绩统计; (4) 学生所学课程及学分统计; (5) 输入每个学生成绩时,自动生成该学生已修总学分; (6) 学生成绩查询; (7) 教师任课查询; (8) 班级课程开设查询;管理人员学生教师课程高校成绩管理系统教师/学生登入 查询处理二、概念结构设计E-R图实体:课程课程教师开学学考课教师教师教师教师职联系教学学学学生学生学生学生已修班班级班级专专业专业学学课程成教师全局E-R 图:三、逻辑结构设计3.1 关系模式设计教师1h (教师编号1h 、教师姓名1h 、教师性别1h 、教师年龄1h 、职称教师教师教师教师职联系教师课程课程教师开学学时 学分 考试或班级编班级名班级教上开学学期课程成绩 教师学生学号 学生学生学生学生出已修学属包专业 专业专业1h、联系电话1h)上课1h(教师编号1h、班级编号1h)授课1h(教师编号1h、课程编号1h)课程1h(课程编号1h、课程名称1h、教师姓名1h、开课学期1h、学时1h、考试或考查1h、学分1h)学习1h(学号1h、课程编号1h、学期1h、课程名称1h、成绩1h、教师姓名1h)学生1h(学号1h、学生姓名1h、学生性别1h、学生年龄1h、生源所在地1h、已修学分总数1h,班级编号1h)开设1h(课程编号1h、班级编号1h)班级1h(班级编号1h、班级名称1h、专业编号1h)专业1h(专业编号1h、专业名称1h)3.2 数据类型定义数据项名数据类型长度完整性约束教师编号1h char 20教师姓名1h char 10教师性别1h char 2教师年龄1h char 20职称1h char 10联系电话1h char 20数据项名数据类型长度完整性约束教师编号1h char 20班级编号1h char 20数据项名数据类型长度完整性约束教师编号1h char 20课程编号1h char 20数据项名数据类型长度完整性约束课程编号1h char 20课程名1h char 20教师姓名1h char 10开课时间1h char 20学时1h int 10考试或考查1h char 4学分1h int 4(5)学习Study1h数据项名数据类型长度完整性约束学号1h char 20课程编号1h char 20学期1h char 10课程名称1h char 20成绩1h int 10教师姓名1h int 10数据项名数据类型长度完整性约束学生学号1h char 20学生姓名1h char 10学生性别1h char 2学生年龄1h int 4生源所在地Char 201h已修学分总数int 41h班级编号1h char 10数据项名数据类型长度完整性约束课程编号1h char 20班级编号1h char 20数据项名数据类型长度完整性约束班级编号1h char 20班级名称1h char 20专业编号1h char 20数据项名数据类型长度完整性约束专业编号1h char 20专业名称1h char 20四、物理结构设计索引就是表中数据和相应存储位置的列表,使用索引可以大大减少数据的查询时间。
对于一个确定的关系,通常在下列情况下可以考虑建立索引。
(1)以查询为主的关系可建立尽可能多的索引。
(2)对等值连接,但满足条件的元组较少的查询可以考虑建立索引。
(3)如果查询可以从索引直接得到结果而不必访问关系,则对此种查询可以建立索引。
该高校成绩管理系统数据库可建立以下索引:Courses(课程编号)Students(学生学号,班级编号)Classes(班级编号)Study(学号,课程编号)五、数据库实施5.1 基本表建立(1)教师表Teachers1hSQL语句为:CREATE TABLE Teachers1h(教师编号1h CHAR(20),教师姓名1h CHAR(10),教师性别1h CHAR(2),教师年龄1h INT,职称1h CHAR(20),联系电话1h CHAR(10),);SQL执行结果:(2)专业表MajorslhSQL语句为:CREATE TABLE Majorslh(专业编号lh CHAR(20),专业名称lh CHAR(20),);SQL执行结果截图:(3)班级表ClasseslhSQL语句为:CREATE TABLE Classeslh(班级编号lh CHAR(20),班级名称lh CHAR(20),专业编号lh CHAR(20),);SQL执行结果截图:(4)课程表CourseslhSQL语句为:CREATE TABLE Courseslh(课程编号lh CHAR(20)PRIMARY KEY,课程名lh CHAR(20),教师姓名lh CHAR(10),学时lh INT,考试或考查lh CHAR(10),学分lh INT,)SQL执行结果截图:(5)学生表StudentslhSQL语句为:CREATE TABLE Studentslh(学生学号lh CHAR(20),学生姓名lh CHAR(10),学生性别lh CHAR(2),学生年龄lh int,生源所在地lh char(20),已修学分总数lh int,班级编号lh CHAR(20))SQL执行结果截图:(6)上课表TeachlhSQL语句为:CREATE TABLE Teachlh (教师编号lh CHAR(20), 班级编号lh CHAR(20), )SQL执行结果截图:(7)授课表InstructlhSQL语句为:CREATE TABLE Instructlh(教师编号lh CHAR(20),课程编号lh CHAR(20),)SQL执行结果截图:(8)学习表StudylhSQL语句为:CREATE TABLE Studylh(学生学号lh CHAR(20),课程编号lh CHAR(20),学期lh char(10),课程名称lh char(20),成绩lh int,教师姓名lh char(10),)SQL执行结果截图:(9)开设SetuplhSQL语句为:CREATE TABLE Setuplh(课程编号lh CHAR(20),班级编号lh char(20),)SQL执行结果截图:5.2 数据输入专业表Majorslh:班级表Classeslh:课程表Courseslh:教师表Teacherslh:学生表Studentslh:学习表Studylh:上课表Teachlh:授课表Instructlh:开设表Setuplh:5.3视图的建立(1)学生成绩统计CREATE VIEW dbo.学生成绩统计ASSELECT dbo.Studentslh.学生学号1h, dbo.Studentslh.学生姓名1h,dbo.Studylh.课程名称1h, dbo.Studylh.教师姓名1h, dbo.Studylh.成绩1hFROM dbo.Studentslh INNER JOINdbo.Studylh ON dbo.Studentslh.学生学号1h = dbo.Studylh.学生学号1h(2)学生所学课程及学分统计CREATE VIEW dbo.学生所学课程及学分统计ASSELECT dbo.Studentslh.学生学号1h, dbo.Studentslh.已修学分总数1h, dbo.Studylh.课程名称1hFROM dbo.Studentslh INNER JOINdbo.Studylh ON dbo.Studentslh.学生学号1h = dbo.Studylh.学生学号1h(3)教师任课查询CREATE VIEW dbo.教师任课查询ASSELECT dbo.Teachers1h.教师姓名1h, dbo.Courseslh.课程编号1h, dbo.Courseslh.课程名1h, dbo.Courseslh.学时1h, dbo.Courseslh.学分1h, dbo.Teachers1h.教师编号1hFROM dbo.Courseslh INNER JOINdbo.Teachers1h ON dbo.Courseslh.教师姓名1h = dbo.Teachers1h.教师姓名1h(4)班级课程开设查询CREATE VIEW dbo.班级课程开设查询ASSELECT dbo.Classeslh.班级编号1h, dbo.Classeslh.班级名称1h,dbo.Setuplh.课程编号1h, dbo.Courseslh.课程名1h, dbo.Courseslh.学时1h,dbo.Courseslh.学分1hFROM dbo.Setuplh INNER JOINdbo.Courseslh ONdbo.Setuplh.课程编号1h = dbo.Courseslh.课程编号1h INNER JOINdbo.Classeslh ON dbo.Setuplh.班级编号1h = dbo.Classeslh.班级编号1h5.4 索引的建立因为每一个表建立,SSMS会自动生成一个聚集索引,所以不需要再手动建立聚集索引。