学生选课与课程安排数据库设计.docx
《学生选课与课程安排数据库设计.docx》由会员分享,可在线阅读,更多相关《学生选课与课程安排数据库设计.docx(12页珍藏版)》请在冰豆网上搜索。
![学生选课与课程安排数据库设计.docx](https://file1.bdocx.com/fileroot1/2023-1/7/b56d695b-f9e9-4370-87d5-8c0fe4ba4d57/b56d695b-f9e9-4370-87d5-8c0fe4ba4d571.gif)
学生选课与课程安排数据库设计
学号:
课程设计
课程名称
数据库系统原理
学院
计算机科学与技术
专业
计算机科学与技术
班级
计算机1007
姓名
指导教师
2013
年
01
月
23
日
课程设计任务书
学生:
专业班级:
指导教师:
工作单位:
题目:
教学管理信息系统——学生选课及课程安排数据库设计
初始条件:
大学同时开设多门课程。
每门课程有一个主讲教师,有多名学生选修;一个学生可选修多门课程并获得相应的学分和成绩;上课的基本单位是“次”(一次2学时),每一次课都规定了上课时间和教室(这一规定更灵活,并不象本校现在的情形!
)。
要求完成的主要任务:
1.根据上述的初始条件,进行调查分析并设计适当的属性。
设计一个学生选课及课程安排数据库,记录教师和学生的基本信息,选课,课程安排等信息,DBMS可选MsSQLServer、Oracle、MySQL等。
2.完成课程设计说明书,其格式遵守学校今年的新规定。
主要容包括:
需求分析,概念设计,逻辑设计,物理实现等。
3.基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工具)任选。
这一项是选作,不作硬性要求。
时间安排:
本学期第21周:
1.消化资料、系统调查1天
2.系统分析1天
3.总体设计,实施计划2天
4.撰写报告1天
指导教师签名:
2013年月日
系主任(或责任教师)签名:
2013年月日
1.需求分析········································4
1.1初始条件·······································4
1.2要求完成的任务·································4
1.3可行性分析·····································4
1.4设计环境·······································4
1.5实现需求·······································4
2.概念设计·········································5
2.1数据库基本表设计································5
2.2E_R图··········································5
3.逻辑设计··········································6
3.1关系模式·········································6
3.2子模式···········································6
4.物理设计···········································6
5.数据库设计源代码···································7
5.1基本表SQL源语言·································7
5.2基本表数据库实现··································10
6.设计心得············································13
7.参考资料············································13
教学管理信息系统——学生选课及课程安排数据库设计
1需求分析
1.1初始条件
大学同时开设多门课程。
每门课程有一个主讲教师,有多名学生选修;一个学生可选修多门课程并获得相应的学分和成绩;上课的基本单位是“次”(一次2学时),每一次课都规定了上课时间和教室(这一规定更灵活,并不象本校现在的情形!
)。
1.2要求完成的任务
(1)根据上述的初始条件,进行调查分析并设计适当的属性。
设计一个学生选课及课程安排数据库,记录教师和学生的基本信息,选课,课程安排等信息,DBMS可选MsSQLServer、Oracle、MySQL等。
(2)完成课程设计说明书,其格式遵守学校今年的新规定。
主要容包括:
需求分析,概念设计,逻辑设计,物理实现等。
(3)基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工具)任选。
这一项是选作,不作硬性要求。
1.3可行性分析
此课程设计的目的在于实现学生选课及课程安排数据库的设计,根据初始条件,设计一个学生选课及课程安排数据库,记录教师和学生的基本信息,选课,课程安排等信息。
在要求完成的任务中,要求可以编写应用程序对所建立的数据库进行访问,该数据库功能简单可以编写简单的应用程序来实现对数据库的基础的查询.插入.删除等操作。
1.4设计环境
在本次的课设中用MSSQLServer2005来进行数据库的设计,DBMS可选MsSQLServer、Access、VFP等,再配以一台个人电脑,即可完成本次课程设计。
1.5实现需求
根据上述的初始条件和对本学校的调研考察,设计一个学生选课及课程安排数据库:
记录教师和学生的基本信息,选课,课程安排等信息,方便老师,同学等用户对数据库的查询,修改等操作。
尽量使数据库高效,存储简单。
可设计简单应用程序,实现数据库的访问应用:
学生可以查询课程信息及课程安排信息;教师可以查询选修本门课程的学生信息,并给学生相应的成绩,可以查询课程信息及课程安排信息;教师可以修改选修本门课程的学生信息,插入,修改,删除等。
2概念设计
2.1数据库基本表设计
学生
生
教师
课程
学生选课
课程安排
学生选课与课程安排数据库设计
(1)“学生”表来记录学生的基本信息:
学号、、性别、班级、所在系;
(2)“教师”表来记录教师的进本信息:
教师编号、教师、工作单位;
(3)“课程”表来记录课程的基本信息:
课程号、课程名、主讲教师、学分、学时;
(4)“学生选课”表记录学生选课的基本信息:
学生号、课程号、成绩;
(5)“课程安排”表记录课程安排的基本信息:
课程号、上课地点、上课时间。
2.2E—R图
3逻辑设计
3.1关系模式
将设计好的E-R图转换为SQLServer2005支持的关系模型,关系主码用下划线标注:
实体定义如下:
学生:
{学号,,性别,班级,所在系}
教师:
{教师编号,教师,工作单位}
课程:
{课程编号,课程名称,主讲教师,学分,学时}
关系定义如下:
课程安排:
{课程编号,上课地点,上课时间}
选修:
{学号,课程,成绩}
3.2子模式
视图定义如下
C_SS:
{课程编号,课程名称,主讲教师编号,主讲教师,学号,学生,班级,专业}
S_CS:
{学号,学生,学生专业,学生班级,课程编号,课程名称,主讲教师}
T_C:
{上课时间,上课地点,课程编号,课程名称,主讲教师编号,主讲教师,学生专业,学生班级}
C_C:
{教室,上课时间,课程编号,课程名称,主讲教师编号,主讲教师,学生班级,学生专业}
4物理设计
本次数据库物理设计采用的存取方法是索引方法。
根据建立的索引(下划波浪线)如下:
学生:
{学号,,性别,班级,所在系}
教师:
{教师编号,教师,工作单位}
课程:
{课程编号,课程名称,主讲教师,学分,学时}
课程安排:
{课程编号,上课地点,上课时间}
选修:
{学号,课程,成绩}
5数据库设计源代码
5.1基本表SQL源语言
1)学生表:
CREATETABLEstudent(
Snochar(13)NOTNULL,
Snamechar(20)NOTNULL,
Ssexchar
(2),
Sclasschar(10),
Sdeptchar(20)
PRIMARYKEY(Sno)
);
------------------------------
--Records
------------------------------
INSERTINTOstudentVALUES('01','德华','男','计算机1007','计算机学院');
INSERTINTOstudentVALUES('02','学友','男','计算机1007','计算机学院');
INSERTINTOstudentVALUES('03','郭富城','男','计算机1007','计算机学院');
INSERTINTOstudentVALUES('04','王菲','女','计算机1007','计算机学院');
2)教师表:
CREATETABLEteacher(
Tnochar(5)NOTNULL,
Tnamechar(20)NOTNULL,
Tdeptchar(20)
PRIMARYKEY(Tno)
);
------------------------------
--Records
------------------------------
INSERTINTOteacherVALUES('001','三','计算机学院');
INSERTINTOteacherVALUES('002','四','计算机学院');
INSERTINTOteacherVALUES('003','王五','计算机学院');
INSERTINTOteacherVALUES('004','六','计算机学院');
3)课程表:
CREATETABLEcourse(
Cnochar(10)NOTNULL,
Cnamechar(20)NOTNULL,
Tnochar(5),
Ccreditchar(3),
Chourchar(3),
PRIMARYKEY(Cno)
);
------------------------------
--Records
------------------------------
INSERTINTOcourseVALUES('101','数据库系统','001','2','48');
INSERTINTOcourseVALUES('102','计算机网络','002','2','32');
INSERTINTOcourseVALUES('103','软件工程','003','2','48');
INSERTINTOcourseVALUES('104','数据结构','004','2','64');
4)学生选课表:
CREATETABLEstudent_course(
Snochar(13)NOTNULL,
Cnochar(10)NOTNULL,
Gradechar(3),
PRIMARYKEY(Sno,Cno),
);
------------------------------
--Records
------------------------------
INSERTINTOstudent_courseVALUES('01','101','90');
INSERTINTOstudent_courseVALUES(01','102','92');
INSERTINTOstudent_courseVALUES('02','102','78');
INSERTINTOstudent_courseVALUES('02','103','89');
INSERTINTOstudent_courseVALUES('03','103','94');
INSERTINTOstudent_courseVALUES('03','104','85');
INSERTINTOstudent_courseVALUES('04','101','88');
INSERTINTOstudent_courseVALUES('04','104','94');
5)课程安排表:
CREATETABLEcourse_plan(
Cnochar(10)NOTNULL,
Timechar(20)NOTNULL,
Placechar(20)NOTNULL,
);
------------------------------
--Records
------------------------------
INSERTINTOcourse_planVALUES('101','周二七八节','航海楼101');
INSERTINTOcourse_planVALUES('101','周四一二节','航海楼103');
INSERTINTOcourse_planVALUES('102','周三五六节','航海楼107');
INSERTINTOcourse_planVALUES('102','周二一二节','航海楼109');
INSERTINTOcourse_planVALUES('103','周五五六节','航海楼111');
INSERTINTOcourse_planVALUES('103','周三三四节','航海楼201');
INSERTINTOcourse_planVALUES('104','周二五六节','航海楼203');
INSERTINTOcourse_planVALUES('104','周四一二节','航海楼205');
5.2基本表数据库实现
学生基本表
教师表
课程表
学生选课表
课程安排表
基本表操作用例
selectsname,cname,grade
fromstudent,student_course,course
wherestudent.sno=student_course.snoando=student_o;
6设计心得
做这次的课程设计是在很久以前就布置的任务,针对这次的课程设计,自己查阅相关教材资料以及向同学咨询终于完成了此次课程设计的基本目标和任务。
在学生选课和课程安排的数据库设计中,按照要求自己建立了学生,教师,课程,学生选课,课程安排这五个基本表来实现该数据库的基本功能,并能通过简单的查询删除更新等操作来实现对该数据库的基本操作。
在这次的课程设计中,可编写简单的应用程序来实现对数据库的操作基本完成了课设的要求,但自己在以后的学习中还需更加完善自己的编程意识,培养自己更好的实际操作能力。
7参考资料
数据库简明系统教程王珊高等教育
本科生课程设计成绩评定表
班级:
:
学号:
序号
评分项目
满分
实得分
1
学习态度认真、遵守纪律
10
2
设计分析合理性
10
3
设计方案正确性、可行性、创造性
20
4
设计结果正确性
40
5
设计报告的规性
10
6
设计验收
10
总得分/等级
评语:
注:
最终成绩以五级分制记。
优(90-100分)、良(80-89分)、中(70-79分)、
及格(60-69分)、60分以下为不及格
指导教师签名:
2013年 月 日