1、选修课管理系统武 夷 学 院 课程设计报告课程名称:数据库原理及应用设计题目:选修课管理系统学生班级:10计算机科学与技术 (1)班学生姓名: 指导教师: 完成日期:2012-5-19数学与计算机系 课程设计项目研究报告第 1 章 项目简介1.1 项目名称 选修课管理系统1.2 开发人员10计科1 林春香 蔡瑞燕 王细琼1.3 指导教师 韩存鸽第 2 章 需求分析2.1 课程设计概述数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。数据库设计中需求分析阶段综合各个用户的应用需求(现
2、实世界的需求),在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。 针对具体的这次设计,应首先根据课程设计要求建立数据库的逻辑结构, 之后使用工具将逻辑结构转化为物理结构,最终建立数据库存。 系统实现后,极大的方便对学生进行选课和选课后临时班级的安排管理,学生选课信息的管理。避免在安排课程信息的滞后,减少信息交流的烦琐过程及其带来的开销。促进高校教育的计
3、算机信息化进程,提高学校的工作效率。对于系统的本身而言,应该具有较高的实用性、安全性。能够极大的满足学生选课,以及学校对选课信息的管理。用户的需求具体体现在选课信息和用户信息的提供、保存、更新和查询的方面。这就要求数据库的设计必须合理,使之能够充分满足各种信息的输入和输出,保证数据存储的可靠性,并且能够快速取出和存入。2.2主要功能 通过系统功能的分析,结合需求分析员在各大高校实地考查,调查的对象涵盖了,学校的教职工、在校师生。特别是对已经运行了与本系统同类产品的学校的师生使用选课管理系统心得体会进行了分析,总结出如下的需求信息: (1) 学生的需求:能进行选课,查看管理员发布的选课信息,自己
4、的选课情况,本人的基本信息,课程的成绩; (2)教师的需求:能查看自己的个人信息,及所授课的班级的所有学生的本门课程的成绩信息,并能进行增加和修改; (3)管理员的需求:对学生选课情况进行管理,包括发布选课信息,对学生的选课情况进行查看。管理员还可以对授课老师的信息进行管理。2.3数据流图 图2-1 学生选课管理数据流图第 3 章 概念结构设计3.1E-R图(1)学生课程联系E-R图图3-1学生课程联系E-R图(2)教师课程关系E-R图 图3-2 教师课程关系E-R图(3)学生临时班级联系E-R图图3-3 学生临时班级联系E-R图(4)教师班级关系实体E-R图 图3-4 教师临时班级联系E-R
5、图(5)课程临时班级关系实体E-R图图3-5 课程临时班级联系E-R图(6)全局E-R图 图3-6 学生选课全局E-R图第4章 逻辑结构设计4.1 概念模型向关系模型的转换根据需求分析中的E-R图,通过对实体的属性和之间的联系的分析,我们将其由概念模型向关系模型转化,并且根据范式化理论进行优化4.1.1 1:N联系的转化的关系模式(1)教师课程联系概念模型向关系模型的转化 教师表(教师号,教师名,性别,年龄,身份,密码,课程号) 课程表(课程号,课程名,学分,上课时间,开课时间,结束时间) (2)教师临时班级联系概念模型向关系模型的转化 教师表(教师号,教师名,性别,年龄,身份,密码) 临时班
6、级表(班级号,班级名,人数,地点,教师号) (3)课程临时班级联系概念模型向关系模型的转化 临时班级表(班级号,班级名,人数,地点,课程号) 课程表(课程号,课程名,学分,上课时间,开课时间,结束时间)4.1.2 M:N联系的转化的关系模式(1)学生选课联系概念模型向关系模型的转化 学生表(学号,姓名,性别,年龄,系部,密码) 课程表(课程号,课程名,学分,上课时间,开课时间,结束时间) 选课表(学号,课程号,成绩) (2)学生班级联系概念模型向关系模型的转化 学生表(学号,姓名,性别,年龄,系部,密码) 临时班级表(班级号,班级名,人数,地点) 学生班级关系表(学生号,班级号)4.2 概念模
7、型的优化4.2.1 确定范式级别根据上述分析所归结出来的数据依赖的种类和在本系统实际的开发过程中,需要涉及多表的查询及表的修改和删除,且存在多值依赖的实际情况下,其关系模式应达到BCNF。4.2.2 实施规范化处理由于学生选课联系的关系模式、学生班级的关系模式和教师管理员联系的关系模式已经不存非平凡且非函数依赖额多值依赖,所以在这里不需要做处理 各个关系模式的函数依赖集如下: 教师课程联系:F=教师号教师名,教师号性别,教师号年龄, 教师号身份,教师号密码,教师号课程号 班级临时班级联系:F=班级号班级名,班级号人数,班级号地点,班级号教师号 课程临时班级联系:F=班级号班级名,班级号人数,班
8、级号地点, 班级号课程号 选课联系:F=(学号,课程号)成绩 学生班级联系:F=(学生号,班级号) (1)教师课程联系概念模型向关系模型的优化 教师表(教师号,教师名,性别,年龄,身份,密码) 课程表(课程号,课程名,学分,上课时间,开课时间,结束时间) 教师课程联系(教师号,课程号) (2)教师临时班级联系概念模型向关系模型的优化 教师表(教师号,教师名,性别,年龄,身份,密码) 临时班级表(班级号,班级名,人数,地点) 教师临时班级关系(班级号,教师号)(3)课程临时班级联系概念模型向关系模型的优化临时班级表(班级号,班级名,人数,地点) 课程表(课程号,课程名,学分,上课时间,开课时间,
9、结束时间) 课程临时班级关系(班级号,课程号) 经过规范化处理后的所有关系模如下: 学生表(学号,姓名,性别,年龄,系部,密码) 课程表(课程号,课程名,学分,上课时间,开课时间,结束时间) 教师表(教师号,教师名,性别,年龄,身份,密码) 临时班级表(班级号,班级名,人数,地点) 教师课程关系(教师号, 课程号) 教师临时班级关系(班级号,教师号) 选课表(学号,课程号,成绩) 学生临时班级关系表(学生号,班级号) 课程临时班级关系(班级号,课程号)第5章 数据库表创建及表关系5.1数据库代码create table student( sno varchar(15) PRIMARY KEY,
10、 sname varchar(15) not null, sage int not null, ssex char(2) not null, sdept varchar(20) not null, sclass varchar(15) not null, Spass varchar(15) not null )表5-1学生表字段名称字段含义数据类型及长度约束默认值sno学号varchar(15)主键sname姓名varchar(15)非空ssex性别varchar(2)非空sage年龄int非空sclass班级varchar(15)非空sdept系部varchar(20)非空spass密码va
11、rchar(15)非空create table teacher( tno varchar(15) primary key, tname varchar(15) not null, tsex varchar(2) not null, tage int not null, tpass varchar(15) not null, status varchar(10) not null )表5-2 教师表字段名称字段含义数据类型及长度约束默认值tno教师号varchar(15)主键tname姓名varchar(15)非空tsex性别varchar(2)非空tage年龄int非空tpass密码varch
12、ar(15)非空status身份varchar(10)非空create table course( cno varchar(15) primary key, cname varchar(15) not null, credit int not null, ctime varchar(15) not null, cbegintime varchar(15) not null, cendtime varchar(15) not null)表5-3 课程表字段名称字段含义数据类型及长度约束默认值cno课程号varchar(15)主键cname课程名varchar(15)非空credit学分int非空
13、ctime年龄varchar(15)非空cbegintime开始时间varchar(15)非空cendtime结束时间varchar(15)非空create table cc( ccno varchar(15) primary key, ccname varchar(15) not null, address varchar(15) , number int check (number between 0 and 100) )表5-4 临时班级表字段名称字段含义数据类型及长度约束默认值ccno班级号varchar(15)主键ccname课程名varchar(15)非空address地址varc
14、har(15)number人数int=0或=0或=100create table xlb( sno varchar(15) not null constraint lb_s foreign key references student(sno), ccno varchar(15) not null constraint lb_cc foreign key(ccno) references cc(ccno)constraint xlb_s_cc primary key(sno,ccno)表5-6学生临时班级关系表字段名称字段含义数据类型及长度约束默认值sno学号varchar(15)主键,外键c
15、cno班级号varchar(15)主键,外键create table tc( tno varchar(15) not null constraint tc_t foreign key references teacher(tno), cno varchar(15) not null constraint tc_c foreign key references course(cno) constraint tc_tt primary key (tno)表5-7 教师课程关系表字段名称字段含义数据类型及长度约束默认值tno教师号varchar(15)主键,外键cno课程号varchar(15)外键
16、create table tlb( ccno varchar(15) not null constraint tlb_cc foreign key(ccno) references cc(ccno), tno varchar(15) not null constraint tlb_t foreign key references teacher(tno), constraint tlb_ccc primary key (ccno)表5-8 教师临时班级关系表字段名称字段含义数据类型及长度约束默认值ccno班级号varchar(15)主键,外键tno教师号varchar(15)外键create
17、table clb( ccno varchar(15) not null constraint clb_cc foreign key(ccno) references cc(ccno), cno varchar(15) not null constraint clb_c foreign key references course(cno), constraint clb_ccc primary key(ccno)表5-9 课程临时班级关系表字段名称字段含义数据类型及长度约束默认值ccno班级号varchar(15)主键,外键cno课程号varchar(15)外键5.2数据初始化学生表初始化in
18、sert into student values(s1,王喜庆, 20,男,数计, 一班, 1)insert into student values(s2,李妠河, 21,女,数计, 二班, 2)insert into student values(s3,陈东, 21, 男,电子, 一班, 3)insert into student values(s4,林淑娟, 22,男,环建, 二班, 4)insert into student values(s5,甄凡蝶, 21,女 ,环建, 三班, 5)insert into student values(s6,谢二炯, 20,男,艺术, 三班, 6)表
19、5-10 学生表教师表初始化insert into teacher values(t1, 李文忠, 男, 45, 1, 老师)insert into teacher values(t2, 叶尔尔, 女, 34, 2, 老师)insert into teacher values(t3, 谢晓东, 男, 23, 3, 老师)insert into teacher values(t4, 林代发, 女, 53, 4, 老师)insert into teacher values(t5, 王大江, 男, 63, 5, 老师)insert into teacher values(t6, 蔡锷, 男, 34,
20、 6, 老师)表5-11教师表课程表初始化Insert into course values (c1, 数据库 ,3, 周一7-8节 ,第三周, 第十八周)insert into course values (c2, c+ , 2,周五3-4节,第一周,第二十周)insert into course values (c3, net 3,周三7-8节, 第二周 ,第十九周)insert into course values(c4, 礼仪 ,1, 周三5-6节 ,第一周, 第十七周)insert into course values (c5, 旅游 ,2, 周四7-8节 ,第三周, 第十二周)in
21、sert into course values (c6, 文化 ,3, 周四5-6节 ,第五周, 第十一周)表5-12 课程表临时班级表初始化Insert into cc values(cc1, 数据库, 瑞一304,50)Insert into cc values(cc2, c+, 瑞五208,60)Insert into cc values(cc3, net, 同文402,20)Insert into cc values(cc4, 礼仪, 瑞四102,30)Insert into cc values(cc5, 旅游, 瑞十309,40)Insert into cc values(cc6,
22、文化, 瑞三302,50)表5-13临时班级表选课表初始化Insert into xk values(s1, c1 )Insert into xk values(s2, c4 )insert into xk values(s3, c5)insert into xk values(s4, c3 )insert into xk values(s5, c6 )insert into xk values(s6, c2 )表5-14 选课表学生临时班级关系表初始化Insert into xlb values(s1, cc1 )insert into xlb values(s2, cc4 )insert
23、into xlb values(s3, cc5 )insert into xlb values(s4, cc3 )insert into xlb values(s5, cc6 )insert into xlb values(s6, cc2 )表5-15 学生临时班级关系表教师课程关系表初始化Insert into tc values(t1, c5 )Insert into tc values(t2, c6 )Insert into tc values(t3, c3 )Insert into tc values(t4, c2 )Insert into tc values(t5, c4 )Inse
24、rt into tc values(t6, c1 )表5-16 教师课程关系表教师临时班级关系表初始化Insert into tlb values(cc1, t6)Insert into tlb values(cc2, t4)Insert into tlb values(cc3, t3)Insert into tlb values(cc4, t5)Insert into tlb values(cc5, t1)Insert into tlb values(cc6, t2)表5-17 教师临时班级关系表课程临时班级关系表初始化Insert into clb values(cc1, c1 )Inse
25、rt into clb values(cc2, c2 )Insert into clb values(cc3, c3 )insert into clb values(cc4, c4 )insert into clb values(cc5, c5 )insert into clb values(cc6, c6 )表5-18课程临时班级关系表5.3关系图 图5-1 学生选课管理关系图第 6 章 视图的操作6.1 数据库的实现(1)创建数据库lectivecreate database lective on ( name=选课管理库, filename=E:b选课管理库.mdf, size=5, m
26、axsize=15, filegrowth=2)6.2 视图的实现(1)查询可供选择课程的视图create view 查询可供选择课程as select o,ame,course.credit,course.ctime,course.cbegintime,cc.address,teacher.tname,cc.number from course,tc,clb,cc,teacher where o=o and tc.tno=teacher.tno and o=o and cc.ccno=clb.ccno表6-1(2)学生的选课信息视图create view 学生的选课信息视图as select student.sno,student.sname,ame,course.credit,course.ctime, course.cbegintime,course.cendtime,o,xk.grade from xk,student,course where xk.sno=student.sno and o=o表6-2(3)教师授课视图create view 教师授课视图as select teacher.tno,teacher.tname,c
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1