重庆科技学院课程设计报告院(系):_电气与信息工程学院 _ 专业班级:计科普1004 学生姓名:学号:设计地点(单位)______第一实验楼I306__ _______ _ _ 设计题目:_______________实验选课系统设计___________ __ 完成日期: 2012年 7月 6日指导教师评语: _______________________________________ ___________________________________________________________________________ ___________________________________________________________________________ ___________________________________________________ __________ _成绩(五级记分制):______ __________指导教师(签字):________ ________重庆科技学院课程设计任务书设计题目:实验选课系统设计学生姓名课程名称数据库原理课程设计专业班级计科2010-04地点I515、I524和计算机自主学习中心起止时间2012.6.25-2012.7.6设计内容及要求内容:学生根据本课程设计指导书中的题目,进行设计.(1)实验选课系统分为教师,学生及系统管理员三类用户,学生的功能包括选课,查寻实验信息等,教师的功能包括考勤,学生实验成绩录入,查寻实验信息等.管理员的功能包括新建教师,学生账户,设定实验课程信息(设定实验时间,地点,任课教师).(2)管理员可对教师,学生及实验课程信息进行修改;教师可对任课的考勤,成绩进行修改;学生可以对自己选修的课程重选,退选.(3)管理员可删除教师,学生及实验课程信息.(4)教师可查询所任课程的学生名单,实验时间,考勤及实验成绩,并可按成绩分数段进行统计;学生可查寻所学课程的实验时间,教师名单;管理员具有全系统的查寻功能.要求:(5)按照数据库系统开发步骤进行数据库概念结构设计、逻辑结构设计、物理结构设计,使学生掌握数据库应用软件的开发流程,SQL语句的使用和存储过程的使用.设计参数至少5个表结构;3个存储过程;2个触发器;3个视图.进度要求19.1 讲课阅读分析任务书制订设计计划19.2 -3 需求分析概念结构设计19.4 -5 概念结构设计准备文挡20.1-3 逻辑结构设计物理结构设计20.4-5 写文挡答辩交设计报告书参考资料1.雷亮等《数据库原理课程设计》指导书2.王珊、萨师煊.《数据库系统概述》(第四版) .北京:高等教育出版社.2006. 3.C.J.Date著.孟小峰、王珊等译.《数据库系统导论》(第8版) .北京:机械工业出版社.2007.4.陈根才等.数据库课程设计.浙江.浙江大学出版社.2007其它说明1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用.2.若填写内容较多可另纸附后.3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别.教研室主任:指导教师:雷亮/游明英/张亚军/裴仰军2012年 06 月 15 日摘要在现代高校实验选课系统中,信息化是提高选课系统效率的重要手段.本课程设计主要是对学生选课,查询信息和教师查询信息,录入成绩进行管理和统计.实验选课系统分为3种用户:学生,教师,管理员.学生的功能包括选课,查寻实验信息等,教师的功能包括考勤,学生实验成绩录入,查寻实验信息等.管理员的功能包括新建教师,学生账户,设定实验课程信息.除此之外,还有课程、实验信息、实验地点、教学、选修一共八个表.本系统采用SQL Server 2000作为数据库,使用ODBC作为数据源.在实现数据库部分功能时按照要求创建了视图、触发器和存储过程.关键词:实验选课系统管理SQL Server 2000 触发器存储过程目录摘要 (III)1 需求分析 (1)1.1 系统目标设计 (1)1.2 系统功能分析 (1)1.3 模块功能分析 (1)1.4 数据字典 (1)2 概念结构设计 (5)2.1 构成系统的实体型 (5)2.2 实验系统E-R图 (5)3 逻辑结构设计 (6)3.1逻辑结构简介 (6)3.2 关系模型 (6)4物理模型设计 (7)4.1概念模型转换为物理模型..................... 错误!未定义书签。
5 数据库的实施 (7)5.1 导入数据库................................ 错误!未定义书签。
5.1.1 创建数据源........................... 错误!未定义书签。
5.1.2 PowerDesigner中建立连接.............. 错误!未定义书签。
5.2 建立视图.................................. 错误!未定义书签。
5.3 存储过程.................................. 错误!未定义书签。
5.4 创建触发器................................ 错误!未定义书签。
总结.. (16)致谢 (17)参考文献 (18)1 需求分析1.1 系统目标设计实现高校实验选课管理系统化,使高校管理更加现代化.1.2 系统功能分析实验选课系统分为教师,学生及系统管理员三类用户,学生的功能包括选课,查寻实验信息等,教师的功能包括考勤,学生实验成绩录入,查寻实验信息等.管理员的功能包括新建教师,学生账户,设定实验课程信息(设定实验时间,地点,任课教师).管理员可对教师,学生及实验课程信息进行修改;教师可对任课的考勤,成绩进行修改;学生可以对自己选修的课程重选,退选.管理员可删除教师,学生及实验课程信息.教师可查询所任课程的学生名单,实验时间,考勤及实验成绩,并可按成绩分数段进行统计;学生可查寻所学课程的实验时间,教师名单;管理员具有全系统的查寻功能.数据库要求:在数据库中至少应该包含下列数据表:(1)教师,学生信息表:名字,密码等;(2)课程信息表,课程名,学时等;(3)实验室信息表;(4)课程选修信息表,谁选了什么课程,谁任课,什么时间,地点;1.3 设计环境基于WINDOWS xp操作系统,利用PowerDesigner作为设计工具,使用SQL 2000和2005为数据库管理工具.在PowerDesigner中建立的概念模型生成物理模型,在通过ODBC连接到数据库中,建立关系图.1.4 数据字典名称数据类型说明Sno varchar(10) 学号主码Ano varchar(10) 管理员号外码Sname varchar(10) 学生姓名Ssex char(1) 性别Sage int 年龄Spw varchar(15) 学生密码表1.1 学生信息记录表名称数据类型说明Tno varchar(10) 教师号主码Ano varchar(10) 管理员号外码Tname varchar(10) 教师姓名Ssex char(1) 性别Spw varchar(15) 学生密码表1.2 教师信息记录表名称数据类型说明Ano varchar(10) 管理员号主码Aname varchar(10) 管理员姓名Asex char(1) 性别Apw varchar(15) 管理员密码表1.3 管理员信息记录表名称数据类型说明Cno int 课程号主码Ano varchar(10) 管理员号外码Cname varchar(10) 课程名Ccredit int 学分表1.4 课程信息记录表名称数据类型说明Lno varchar(5) 实验号主码Ano varchar(10) 管理员号外码Lsize int 实验室容量表1.5 实验信息记录表名称数据类型说明Tno varchar(10) 教师号主码Cno int 课程号主码Sno varchar(10) 学名主码Absence int 缺勤表1.6 教学考勤表名称数据类型说明Sno varchar(10) 学号主码外码Cno int 课程号主码外码Cplace datetime 实验时间Ctime varchar(5) 实验地点Tname Varchar(10) 教师姓名Grade int 成绩表1.7 选修表名称数据类型说明Cno int 课程号主码外码Lno varchar(5) 实验号主码外码Cplace datetime 实验时间Ctime varchar(5) 实验地点表1.8 实验地点表2 概念结构设计2.1 构成系统的实体型由实验选课系统的数据流图和数据字典,抽取出系统的5个主要实体,包括:student 、administrator 、teacher 、course 、lab.student 实体型属性:Sno Sname Ano Ssex Sage Spw administrator 记录实体型属性:Ano Aname Asex Apw teacher 实体型属性:Tno Ano Tname Tsex Tpw course 记录实体型属性:Cno Ano Cname Ccredit lab 实体型属性:Lno Ano Lsize2.2 实验选课系统E-R 图选修管理学生管理教师管理课程管理实验室教学1,n1,n1,nPlacestudent学号姓名性别年龄学生密码<pi>Variable characters (10)Variable characters (10)Characters (1)Integer Variable characters (15)Identifier_1<pi>teacher教师号教师姓名性别教师密码<pi>Variable characters (10Variable characters (10Characters (1)Variable characters (15Identifier_1<pi>administrator管理员号管理员姓名性别管理员密码<pi>Variable characters (10)Variable characters (10)Characters (1)<Undefined><M>Identifier_1<pi>course课程号课程名学分<pi>Integer Variable characters (10)Integer <M>Identifier_1<pi>lab实验室号实验室容量<pi>Variable characters (5)Integer <M>Identifier_1<pi>教学学号教师号课程号考勤...Variable characters Variable characters IntegerVariable characters图2.1 实验选课系统的概念模型图3 逻辑结构设计3.1逻辑结构简介逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构.设计逻辑结构一般分为3步进行:(1) 将概念结构转换为一般的关系、网状、层次模型;(2) 将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;(3) 对数据模型进行优化.3.2 关系模型将E-R图转换为关系模型实际上就是要奖实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:一个实体型转换为一个关系模式,一个多对多的关系可以转化为一个关系模式,而一对多的关系可以融合在其他的相关的关系模式中.例如:(1) student表与course之间是多对多的关系,所以将学生和课程以及属于关系设计成以下关系模式:student记录(Sno Sname Ano Ssex Sage Spw)course记录(Cno Ano Cname Ccredit)属于选修(Sno Cno Ctime Cplace Grade)(2) student表、course表与teacher表之间是多对多的关系,所以将学生和课程以及教师属于关系设计成以下关系模式:student记录(Sno Sname Ano Ssex Sage Spw)course记录(Cno Ano Cname Ccredit)teacher记录(Tno Ano Tname Tsex Tpw)属于教学记录(Tno Cno Sno Absence)4物理模型设计数据库物理设计是将逻辑设计影射到存储介质上,利用可用的硬件和软件功能尽可能快地对数据进行物理访问和维护.4.1 概念模型装换为物理模型student学号管理员号姓名性别年龄学生密码varchar(10)varchar(10)varchar(10)char(1)intvarchar(15)<pk><fk>teacher教师号管理员号教师姓名性别教师密码varchar(10)varchar(10)varchar(10)char(1)varchar(15)<pk><fk>administrator管理员号管理员姓名性别管理员密码varchar(10)varchar(10)char(1)<Undefined><pk>course课程号管理员号课程名学分intvarchar(10)varchar(10)int<pk><fk>lab实验室号管理员号实验室容量varchar(5)varchar(10)int<pk><fk>教学教师号课程号学号考勤varchar(10)intvarchar(10)varchar(2)<pk,fk1><pk,fk2><pk,fk3>选修学号课程号授课时间授课地点教师姓名成绩varchar(10)intdatetimevarchar(5)varchar(10)int<pk,fk1><pk,fk2>Place课程号实验室号实验时间实验地点intvarchar(5)datetimevarchar(5)<pk,fk1><pk,fk2>图4.1 实验选课系统物理模型图5 数据库的实施5.1 导入数据库5.1.1创建数据源通过建立ODBC数据源,将PowerDesigner中的基本表和关系模型导入到数据库中,进行视图,存储的操作.建立ODBC数据源.图5.1Class是我在数据库里创建的新的数据库.图5.2 ODBC数据源连接成功.图5.35.2.2 PowerDesigner中建立连接在菜单的DataBase中,单击Contect配置连接.图5.4建立连接之后,在打开Database Generation,将表导入数据库.图5.5RUN之后,表就在数据库Class中了.图5.6从下面的图,可以看出表已经成功的导入数据库了.图5.7将建立的表导入数据库后,就能对数据库进行相关的插入、删除、更新等操作,数据库就实施起来了.5.2 建立视图1.建立一个成绩不及格的学生学号,姓名的视图.CREATE VIEW dbo.notpass_VIEWASSELECT dbo.student.Sno, dbo.student.SnameFROM dbo.student INNER JOINdbo.选修ON dbo.student.Sno = dbo.选修.SnoWHERE (dbo.选修.Grade < 60)2.建立一个实验室信息的视图.CREATE VIEW binformation_VIEWASSELECT Lsize, LnoFROM b3.建立一个姓名为x的学生信息的视图CREATE VIEW dbo.[information of x_VIEW]ASSELECT *FROM dbo.studentWHERE (Sname = 'x')5.3 触发器设计在student表里,Sage是该表的属性之一,当录入的年龄不在15至25之间时,系统激发触发器,将该学生的年龄赋为NULL.CREATE TRIGGER Insert_Update_Sal1ON [dbo].[student]FOR INSERT, UPDATEASBEGINupdate studentset Sage = NULLwhere Sage < 15 Or Sage > 25END;在教学表中,缺勤为该表的属性之一,当缺勤的次数大于5时,系统激发触发器,将该学生的成绩赋为0.REATE TRIGGER 缺勤ON [dbo].[教学]FOR INSERT, UPDATEASdeclare @Sno varchar(10)BEGINselect @Sno=Sno from inserted where Absence>'5'update 选修set Grade = 0where Sno=@Snoend5.4存储过程1.建立一个学生信息的存储过程.CREATE PROCEDURE StudentInformation ASBEGINSELECT Sno,Sname,Ssex,SageFROM StudentEND;GO2.建立一个成绩排序的存储过程. CREATE PROCEDURE 成绩排序ASBEGINSELECT student.Sno,student.Sname FROM student,选修ORDER BY 选修.GradeEND;GO3.建立一个管理员信息的存储过程. CREATE PROCEDURE 管理员ASBEGINSELECT Ano,AnameFROM administratorEND;GO4.建立一个课程表的存储过程.REATE PROCEDURE 课程表ASBEGINSELECT student.Sno,student.Sname,GradeFROM student,选修WHERE student.Sno = 选修.Sno AND 选修.Grade < 60 END;GO总结经过一学期的数据库学习,让我掌握的数据库的基础知识,在这两个星期的课程设计中,在基础知识的指导下,使我顺利完成课程设计的相关题目.以前上课的基础知识当时觉得和枯燥,到课程设计的时候,才发觉所学的知识很重要,没有学习很好,课程设计进行的不是很顺利.在课程设计中,巩固基础知识,将知识用在设计中,感觉受益匪浅.使用POWERDESIGNER数据模型工具对数据库逻辑结构的建立,转换为物理结构,然后连接如SQL server 2000,然后进行触发器设计和存储结构.在运用工程中遇到很多问题,在老师和同学的帮助下,成功的解决了问题,学习了宝贵的经验.虽然这些天学习很累,但是学习到很多东西,身体累心不累.致谢首先我要感谢学校给了我们两周宝贵的学习时间,经过这两周的课程设计,使我对数据库系统概论这门学科有了更深一步的认识,也不在像最初接触数据库那么迷茫了,通过近两周的课程设计,使我对这学期学的知识有了全面的认识.由于以前大部分时间都在学习理论的知识,所以对项目不是很了解.而学校提供的这次课程设计机会使我收获颇多,从中也发现了许多不足,让我找到了以后学习的方向.在这次程序设计过程中,也出现了不少的问题,但在老师和同学的耐心帮助下,问题都得到了解决,正是有了你们的帮助,我才能顺利地完成学籍管理系统的设计.在此,我感谢帮助过我的所有同学,并向帮助过我的所有老师说一声:“谢谢”.参考文献[1] 孙建伶,林怀忠. 数据库原理与应用. 北京:高等教育出版社 2006.5[2] 梁方明. SQL Server 2000. 北京:希望电子出版社 2002.7[3] 王珊,萨师煊. 数据库系统概论(第四版). 北京:高等教育出版社 2006.5[4] 李树有. 数据库应用系统开发与实例. 北京:人民邮电出版社 2005.9[5] 孟彩霞. 数据库系统原理与应用(本科). 北京:人民邮电出版社 2008.3[6] 陶宏才. 数据库原理及设计. 北京:清华大学出版社 2004.4忽略此处..。