课程管理数据库课程设计.docx
- 文档编号:8028964
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:15
- 大小:139.57KB
课程管理数据库课程设计.docx
《课程管理数据库课程设计.docx》由会员分享,可在线阅读,更多相关《课程管理数据库课程设计.docx(15页珍藏版)》请在冰豆网上搜索。
课程管理数据库课程设计
数据库系统课程设计
题目课程管理数据库设计
院系信息技术与工程学院
专业计算机科学与技术
姓名/学号
班级名称
指导教师王昌厚
2015年12月30日
成绩
一、前言:
2
二、需求分析:
2
1.系统管理员2
2.学生用户3
3.教师用户3
三、概念结构设计3
1.分E-R图3
2.局部E-R图4
3.合并E-R图5
四、逻辑结构设计6
1.关系数据模型6
2.细化表结构6
五、物理结构设计及实施8
1.创建表8
2.各表之间的关系如图:
9
3.物理结构如下10
六、总结11
七、主要参考文献12
八、附录12
1、前言:
考虑到课程管理这个时间与我们大学生活是如此贴近,在我们平时课程管理也经常出现一些不足,所以我选择“课程管理系统”这个课题。
本课程管理系统仅需满足三类用户的要求,分别是系统管理员、教师和学生,他们所具有的操作权限以及操作内容各有不同。
要求系统可以满足以下功能:
系统管理员能对学生信息、教师信息、课程信息进行有效的管理和维护,包括增加、删除、修改和查询;教师和学生能够对个人基本信息、授课和选课所涉及的有关信息进行查询和更新操作。
由于一般高校的学生比较多,因此就带来的诸多如信息管理等问题。
鉴于需要将学生信息、选课信息等信息数字化以便于维护管理,我们便想到了利用数据库更加准确的解决此类问题。
所以我们决定设计一个适用于高校课程管理系统
2、需求分析:
该系统应该能管理学校的教师信息、学生信息、专业信息、学校开设的所有课程信息、学生选修课程的信息等。
选课系统主要满足三类用户的要求,这三类用户分别是教务处的系统管理员、教师和学生。
他们所具有的操作权限以及操作内容是不同的。
具体的需求分析如下:
1.系统管理员
维护学生的个人基本信息,实现对学生个人信息的增、删、改、查,学生信息包括学号、姓名、性别、年龄、入学时间、系别、专业、密码。
维护教师的个人基本信息,实现对教师个人信息的增、删、改、查,教师信息包括教师工号、姓名、性别、密码。
维护课程的个人基本信息,实现对课程个人信息的增、删、改、查,课程信息包括课程号、课程名、学分。
2.学生用户
2.1查询和修改个人信息。
2.2进行选课操作
2.3学生可以查看自己所选课程信息及以前所选课程的成绩信息。
3.教师用户
3.1查询和修改个人信息
3.2课程结束后,登记成绩
3.3教师可查看自己的教学安排。
3、概念结构设计
根据需求分析,设计出“学生选课系统”的E-R图,该E-R图包括四个实体:
学生信息实体、教师信息实体、管理员信息实体、课程信息实体,还有选课信息E-R图和授课信息E-R图。
4.分E-R图
各个实体的分E-R图分别如下图所示:
Ø管理员登录实体图
图1
Ø学生信息实体图
图2
Ø教师信息实体图
图3
Ø课程信息实体图
图4
Ø选课信息实体图
图5
Ø授课信息实体图
图6
5.局部E-R图
Ø学生课程关系E-R图
图7
Ø教师课程关系E-R图
图8
Ø教师学生关系E-R图
图9
Ø管理员学生关系E-R图
图10
6.合并E-R图
本系统的数据库实体主要有“学生”、“教师”、“课程”、“管理员”等。
其中“教师”与“课程”存在“开设”联系,并且一个教师可以开设N门课程,即“教师”与“课程”之间是一对多的关系。
同样“学生”与“成绩”也存在一对多的关系。
一个学生可以学习N门课程,一门课程可以有M个学生学习,即“学生”与“课程”之间是多对多的关系。
同样“学生”与“成绩”之间也是多对多的关系。
整个数据库可以用一个E-R图表示
总的ER图
图11
4、逻辑结构设计
根据上节E-R图可以将系统中的概念模型转换为具体的表(即关系)结构。
7.关系数据模型
本系统共设计6个关系,详细信息如下所示:
学生(学号、姓名、性别、年龄、入学时间、系别、专业、密码)
教师(教师工号、姓名、性别、密码)
管理员(管理员工号密码)
课程(课程号、课程名、学分)
选课(学号、课程号、成绩)
授课(教师工号、课程号、课时)
8.细化表结构
为方便,根据上述文字描述,用英文简写为表和列取名,确定列的数据类型及必要的约束规则,给出如下所示数据库表的基本结构及说明:
用户登录信息表adm
表1:
Admin
列名
数据类型
是否为空
说明
Username
Char(20)
Notnull(主键)
用户名
Userpassword
Char(20)
notnull
密码
Ø学生信息表student
表2:
student
列名
数据类型
是否为空
说明
Sno
Char(20)
Notnull(主键)
学号
Sname
Char(20)
notnull
姓名
Ssex
Char(20)
null
性别
Sage
Int
null
年龄
Senttime
Datetime
null
入学时间
Smajor
Char(20)
null
专业
Ssdept
Char(20)
null
系别
Spass
Char(20)
null
密码
Ø课程信息表course
表3:
course
列名
数据类型
是否为空
说明
Cno
Char(20)
Notnull(主键)
课程号
Cname
Char(20)
notnull
课程名
Ccredt
float
null
学分
Ø选课信息表sc
表4:
sc
列名
数据类型
是否空
说明
Sno
Char(20)
Notnull(外主键)
学号
Cno
Char(20)
Notnull(外主键)
课程号
Grade
int
null
成绩
Ø教师表teacher
表5:
teacher
列名
数据类型
是否空
说明
Tno
Char(20)
Notnull(主键)
教师工号
Tname
Char(20)
notnull
教师姓名
Tsex
Char(20)
null
教师性别
Tpass
Char(20)
Notnull
密码
Ø授课表tc
表6:
tc
列名
数据类型
是否空
说明
Tno
Char(20)
Notnull(外主键)
学号
Cno
Char(20)
Notnull(外主键)
课程号
Ctime
Char(20)
null
课时
5、物理结构设计及实施
9.创建表
考虑到各个表之间的约束条件以及外键索引等要求,在创建表的时候应该按照一定的次序进行创建,否则会很容易出现错误。
本报告册中采用的是先创建各个基本表,然后在对特定的表添加列和外码约束。
本系统共创建了六个表:
管理员信息表、教师信息表、学生信息表、课程信息表、学生选课表、教师授课表。
Ø创建adm管理员表如下图:
图12
Ø创建教师表teacher如图:
图13
Ø创建学生表student如图:
图14
Ø创建课程表course如图:
图15
Ø创建选课表sc如图:
图16
Ø创建授课表tc如图:
图17
10.各表之间的关系如图:
图18
11.物理结构如下
createdababasecourse
go
usecourse
go
createtableadm
(
Usernamechar(20)primarykeynotnull,
Yesrpasswordchar(20)notnull
)
go
createtablestudent
(
Snochar(20)primarykeynotnull,
Snamechar(20)notnull,
Ssexchar
(2)null,
Sageintnull,
SenttimeDatetimenull,
Smajorchar(20)null,
Sdeptchar(20)null,
Spasschar(20)null
)
go
createtablecourse
(
Cnochar(20)primarykeynotnull,
Cnamechar(20)notnull,
Ccreditfloatnull,
)
go
createtablesc
(
Snochar(20)notnull,
Cnochar(20)notnull,
Gradeintnull,
primarykey(Sno,cCno),
foreignkey(Sno)referencesstudent(Sno),
foreignkey(Cno)referencescourse(Cno)
)
go
createtableteacher
(
Tnochar(20)primarykeynotnull,
Tnamechar(20)notnull,
Tsexchar(20)null,
Tpasschar(20)notnull
)
go
createtabletc
(
Tnochar(20)notnull,
Cnochar(20)notnull,
Ctimechar(20)null
primarykey(Tno,Cno),
foreignkey(Tno)referencedteacher(Tno),
foreignkey(Cno)referencedcourse(Cno)
)
6、总结
本学期我们开设了数据库原理与应用这门课,经过学习,我对数据库的原理和使用有了一定的了解,但是对于数据库的实际应用并不是那么清晰的明白,但是有了这一个多星期数据库的课程设计,我对数据库有了新的认识。
“课程管理系统”这个课题确实给我带来了很大的挑战,开始以为只是建立几个表,后来才知道数据库的设计是一个系统,还存在着表与表之间的联系,因此我必须要有一个宏观上的认识。
在本次课程设计中,我学到了很多新的知识,比如如何使用SQLServer2005创建完整的数据库,如何将页面合理的与数据库进行连接等等。
在课程设计的过程当中也会遇到很多自己不能解决的问题,通过自己查阅资料,向同学老师寻求帮助,最终这些问题都解决了,我的“课程管理系统”也更加的完整合理。
同时也提高了我的自学能力,在设计过程中,查阅了不少资料,包括网络资料和书籍等,让我收获了许多意想不到的东西,对以后数据库的学习与应用有了很大程度上的提高!
7、主要参考文献
《数据库系统概论》(第四版高等教育出版社)
《数据结构》(C语言版清华大学出版社)
《计算机操作系统》(第三版西安电子科技大学出版社)
8、附录
测试数据:
insertintoadmvalues('zhangsan','123')
insertintoadmvalues('lisi','123')
insertintoadmvalues('wangwu','123')
insertintoadmvalues('zhaoliu','123')
insertintoadmvalues('cuishengliang','123')
insertintoadmvalues('kaishi','123')
insertintoadmvalues('shengdai','123')
insertintoadmvalues('jiujing','123')
insertintostudentvalues('201315105','胡颖笔','男',20,'20130910','计算机','计算机','123')
insertintostudentvalues('201315106','梁树得','男',20,'20130910','计算机',’计算机’,'123')
insertintostudentvalues('201315107','罗开是','男',16,'20130910','生物',’生物科学’,'123')
insertintostudentvalues('201315108','崔贾易','男',18,'20130910','数学',’数学’,'123')
insertintostudentvalues('201315109','黎拓树','男',20,'20130910','英语',’应用英语’,'123')
insertintostudentvalues('201315110','贺声代','男',17,'20130910','计算机','123')
insertintostudentvalues('201315111','方久景','女',20,'20130910','英语','123')
insertintostudentvalues('201315112','魏沉因','男',18,'20130910','数学','123')
insertintostudentvalues('201315113','龚愈枫','男',20,'20130910','计算机','123')
insertintostudentvalues('201315114','贾到黎','女',17,'20130910','英语','123')
insertintostudentvalues('201315115','邹桥梁','女',20,'20130910','计算机','123')
insertintostudentvalues('201315116','钱宿钟','男',19,'20130910','数学','123')
insertintostudentvalues('201315117','万首情','男',16,'20130910','计算机','123')
insertintostudentvalues('201315118','胡睛音','女',16,'20130910','数学','123')
insertintostudentvalues('201315119','段的写','女',20,'20130910','计算机','123')
insertintoteachervalues('13113','龚愈枫','男',40)
insertintoteachervalues('13114','贾到黎','女',27)
insertintoteachervalues('13115','邹桥梁','女',29)
insertintoteachervalues('13116','钱宿钟','男',49)
insertintoteachervalues('13117','todd','男',36)
insertintoteachervalues('13118','胡睛音','女',36)
insertintoteachervalues('13119','marry','女',30)
insertintocoursevalues('001','英语',4)
insertintocoursevalues('002','数学',2)
insertintocoursevalues('003','数据库',4)
insertintocoursevalues('004','计算机组成原理',3)
insertintocoursevalues('005','操作系统','6')
insertintocoursevalues('006','c++程序设计','4')
insertintocoursevalues('007','计算机网络','2')
insertintoscvalues('201315105','001','80')
insertintoscvalues('201315106','002','69')
insertintoscvalues('201315107','004','90')
insertintoscvalues('201315108','003','79')
insertintoscvalues('201315109','007','90')
insertintoscvalues('201315110','005','98')
insertintoscvalues('201315111','004','65')
insertintoscvalues('201315112','003','79')
insertintoscvalues('201315113','007','90')
insertintoscvalues('201315114','005','98')
insertintoscvalues('201315115','004','65')
insertintotcvalues('13113','001','36')
insertintotcvalues('13114','002','40')
insertintotcvalues('13115','004','36')
insertintotcvalues('13116','003','52')
insertintotcvalues('13117','007','36')
insertintotcvalues('13118','005','18')
insertintotcvalues('13118','004','36')
insertintotcvalues('13113','003','52')
insertintotcvalues('13114','007','18')
insertintotcvalues('13115','005','26')
insertintotcvalues('13117','004','40')
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程 管理 数据库 课程设计