课程管理系统数据库课程设计(共15页).doc
精选优质文档-倾情为你奉上湖南人文科技学院计算机系课程设计说明书 课 程 名 称:数据库原理课程设计 课 程 代 码: 题 目: 课程管理系统数据库设计 年级/专业/班: 09级计科二班 学 生 姓 名: 肖东、周思亮、梅昌志、刘涛、彭浩 学 号: 、15、42、44、31 指 导 教 师: 刘刚常 开 题 时 间: 2011 年 12 月 19 日完 成 时 间: 2011 年 12 月 30 日专心-专注-专业目 录摘 要随着近年来高校招生规模的不断扩大,各高校都在向21世纪一流综合性大学迈进,很多大学都开设了各种精品课程。课程的增加,增加了教学管理的压力。该系统主要是服务于教学方面,进一步方便教师的工作和学生的学习,从而从侧面达到提高学校的教学方面软件质量。可以说它适用于每一所高校,因此很有开发价值。关键词:教学 软件 价值Abstract In recent years, with the expansion of the scale of college students, universities are in the 21 st century first-class comprehensive university to forward, many universities are opened all sorts of exquisite course. The increase of course, increased the pressure of teaching management. The system is mainly serve the teaching, further convenient teachers' work and student's study, thus to improve school from the side of the teaching software quality. It applies to every university, so it has the development value .Key words: education software value 数据库原理与应用课程设计-课程管理系统数据库设计一、 引 言本系统名为课程管理系统,目标是提高学生课程和成绩管理工作的效率,围绕此管理所需要的学生个人信息、课程和任课教师信息、所选课程信息进行管理及维护。学生可以通过此系统进行个人信息、考试成绩查询以及课程查询功能。系统开发的总体任务是实现学生选课和成绩管理的系统化、规范化。二、设计目的与任务通过本课程设计教学所要求达到的目的是:通过该课程设计,学习数据库设计工具的使用,搞清数据库设计的基本方法、步骤和数据库设计各阶段的任务,完成对某一小型数据库设计和相应文档的编写工作。使学生更加深入地掌握数据库系统分析与设计的基本概念和基本方法,提高从事数据库系统建设和管理工作的基本技能和能力。三、设计方案1、需求分析1.2课程管理数据库的数据需求通过与课程数据库用户交谈等方式以及作者对课程方面的分析,可以得到课程管理数据库系统的数据需求。·课程有多种,通过唯一的课程号来标识,课程管理系统监控这些课程,学生通过课程学到知识,而这些知识是通过教师对其的讲解传授给学生。·教师有很多名,通过唯一的教师号来标识,教师的职责就是教书育人,通过对学生讲解课程达到共同的沟通。·学生有很多名,通过唯一的学号来标识,学生通过学习课程,学到一定的知识,最后可以通过测验检查学习的情况。·同一课程由于使用者也就是学生数量庞大,所以必须由多个教师来教学。·鉴于要合理分配教师,一个教师必须要教多种的课程,这样老师的职责就不会过于单一。1.2功能分析在学生信息管理系统中,主要有学生信息管理、课程信息管理功能,功能分析如下:(1)学生信息管理 包括4个功能模块:学生个人信息的添加、学生信息的查询以及学生信息的修改和删除。(2)课程信息管理 包括4个功能模块:课程添加与删除处理、成绩查询处理以及学生课程信息的查询处理。1.3性能要求分析(1)可使用性基本上能满足教学上的需求(2)系统具有可维护性尽量做到及时维护及时更新,使系统正常运转。(3)系统具有开放性 该系统能够在开放的硬件体系结构中运行,并且能与其他系统顺利连接,不会因外部系统的不同面要做在量的修改工作。(4)可移植性要有较高的可移植性1.4数据字典表1.1数据存储名称:学生选课表 输入:管理员信息维护 输出:学生选课信息数据结构:学号姓名性别出生年月日系号说明: 表1.2数据存储名称:排课表 输入:管理员信息维护和选课处理 输出:课程记录数据结构:课程号课程名学分人数说明: 课程号唯一 表1.3数据存储名称:选课记录 输入:管理员信息维护 输出:学生选课信息数据结构:学号课程号成绩说明: 学完课程后,成绩以百分制填入,没有成绩表示为新选课程 表1.4数据流名称:选课要求位置:学生 选课系统定义:选课要求学号课程号说明:学生在选课界面要首先输入学号,然后要指定选(退)课。 表1.5数据流名称:选课结果位置:选课处理 学生定义:选课结果(出错信息)已修学分新课表新选学分新选课门数 说明:出错信息包括学号不对,操作错误等。1.5数据项(1)学生记录 表1.6数据项名类型长度注明学号整型8唯一姓名字符型8<=4个汉字性别字符型2男 或 女年龄整型2<100所在系字符型20汉字 (1) 教师记录 表1.7数据项名类型长度注明教师号整型8唯一姓名字符型8<=4个汉字性别字符型2男 或 女职称字符型16<=8个汉字所在系字符型20汉字发布成绩整型30100(3)课程记录表1.8数据项名类型长度注明课程号字符型6唯一课程名字符型20<=10个汉字学分整型116成绩整型30100 (4)选课记录 表1.9数据项名类型长度注明学号整型8头两位表示入学年份课程号字符型6字母和数字成绩整型301002、概念设计2.1课程管理数据库中的实体集·实体集-学生,具有属性:学生的学号、姓名、性别、年龄、所在系。·实体集-课程,具有属性:课程号、课程名、学分。·实体集-教师,具有属性:教师的姓名、性别、职称、所在系。·实体集-选课记录,具有属性:学号、课程号、成绩。2.2课程管理数据库中的联系集·学生与课程之间是一对多的关系,一个学生可以选多个课程。·课程与教师之间是多对多的关系,一个课程可以由多个教师上,一个教师也可以上多个课程。·学生与教师之间是多对多的关系,一个教师可以教导多个学生,同时一个学生可以被多个教师授课。·学生与选课记录之间是一对多的关系,一个学生可以有多个选课记录。·教师与选课记录之间是一对多的关系,一个教师可以录入国歌选课记录。2.3课程管理数据库中的E-R图学生教师课程姓名学号性别年龄系别姓名性别系别教师号职称课程名课程号成绩学分选课授课指导选课记录学号课程号成绩录入查看图2.1总体E-R图3、逻辑设计将上面的ER图转化为关系模型,关系的主码用下横线标出:实体:学生(姓名,学号,性别,年龄,所在系)教师(姓名,教师号,性别,职称,所在系)课程(课程名,课程号,学分,成绩)联系:指导(学号,教师号,课程号)授课(教师号,课程号,学分)选课(学号,课程号,成绩)查看(学号,课程号)录入(学号,课程号,成绩)4、数据库实现至此,我们可以建立本系统所需要的数据库了。4.1 建立数据库模式、视图及索引/*建立课程管理系统数据库*/Create database S-C-TGo/*建立一个“学生”表Student*/Create table Student (Sno int primary key,Sname char(8),Ssex char(2),Sage smallint,Sdept char(20)/*建立一个“教师”表Teacher */Create table Teacher(Tno int primary key,Tname char(8),Tsex char(2),Tposition char(16),Tdept char(20)/*建立一个“课程”表Course */Create table Course(Cno int primary key ,Cname char(20),Ccredit int,Cscope int)/*建立一个“指导”表zhidao*/ Create table zhidao(Sno int,Cno int,Tno int,Primary key(Sno,Cno,Tno)Foreign key Sno references Student(Sno),Foreign key Cno references Course(Cno),Foreign key Tno references Teacher(Tno)/*建立一个“授课”表shouke*/ Create table shouke(Tno int,Cno int,Scope int,Primary key(Tno,Cno),Foreign key Cno references Course(Cno),Foreign key Tno references Teacher(Tno)/*建立一个“选课”表xuanke*/Create table xuanke(Sno int,Cno int,Scope int,Primary key(Sno,Cno),Foreign key Sno references Student(Sno),Foreign key Cno references Course(Cno)建立视图如下:/*建立计算机系学生的视图*/Create view Computer_StudentASSELECT Sno,Sname,SageFROM StudentWHERE Sdept=计算机系;/*建立外语系选修了3号课程的学生的视图*/CREATE VIEW E_C3(Sno,Sname)ASSELECT Student.Sno,SnameFROM Student,xuankeWHERE Sdept=外语系AND Student.Sno=xuanke.Sno AND xuanke.Cno=3;/*将Student表中所有女生记录定义为一个视图*/CREATE VIEW F_Student(F_Sno,name,sex,age,dept)ASSELECT *FROM StudentWHERE Ssex=女;建索引如下:Create unique index ISStudent on Student (Sno);Create unique index ISCourse on Student(Cno);Create unique index ISTeacher on Student(Tno);4.2 装载数据/*向Student表中插入数据*/Insert into StudentValues(,王强,男,21,计算机系);Insert into StudentValues(,李勇,男,23,通控系);Insert into StudentValues(,赵雨,女,20,外语系);Insert into StudentValues(,刘菲,女,22,文学系);/*向Teacher表中插入数据*/Insert into TeacherValues(,王大强,男,系主任,考古系);Insert into TeacherValues(,李大勇,男, 团委书记,法律系);Insert into TeacherValues(,赵小雨,女, 系副主任,生科系);Insert into TeacherValues(,刘小菲,女, 办公室主任,医学系);/*向Course表中插入数据*/Insert into CourseValues(534,大学英语,3,100);Insert into CourseValues(533,计算机组成原理,3,100);Insert into CourseValues(532,外国语导读,2,100);Insert into CourseValues(531,中外历史,2,100);四、结 论通过对课程管理子系统数据库设计的展开与完成,我们可以从中学到很多东西,比如数据库的建立与管理、文档的编写与规范、同学之间相互团结与帮助,这些东西对我们以后的发展都是至关重要的,只有掌握了这些,我们才可以在未来的道路上驰骋。五、致 谢本课程设计是在刘刚常老师的悉心指导和同学们的团结一致下完成的。从课程设计的选题到试验方案的制定、实施,同学们都倾注了大量的经历和心血,并且在课程设计的修改和定稿时老师给予了大量的关注和指导。从老师身上我不仅学到了丰富的知识,而且学到了严谨的治学态度和勤勉的治学精神;老师高度的责任心和严于律己、宽以待人的高尚人格,是我学习的典范,将令我受益终生。在此谨向辛勤辅导的恩师致以深深的谢意!六、参考文献1王珊,萨师煊.数据库系统概论M.北京:高等教育出版社,2006.52张海藩.软件工程导论M.北京:清华大学出版社,2008年3郭郑州.SQL Server 2008完全学习手册M.北京:清华大学出版社,2011.1 4周春城.M.北京:电子工业出版社,2008.10课程设计任务书及成绩评定课题名称: 课程管理子系统 完成者: 肖东、周思亮、梅昌志、刘涛、彭浩 1、设计的目的与要求: 通过本课程设计教学所要求达到的目的是:通过该课程设计,学习数据库设计工具的使用,搞清数据库设计的基本方法、步骤和数据库设计各阶段的任务,完成对某一小型数据库设计和相应文档的编写工作。使学生更加深入地掌握数据库系统分析与设计的基本概念和基本方法,提高从事数据库系统建设和管理工作的基本技能和能力。2、设计进度及完成情况日 期内 容12.19-12.20前期准备工作12.21-12.23需求分析12.24-12.26概念设计12.27逻辑设计12.28-12.29数据库实现12.30后期完善修改3、成绩评定:设计成绩: (教师填写)指导老师: (签字)二00 年 月 日