学生选课及课程安排数据库设计

更新时间:2023-12-30 14:20:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

武汉理工大学《数据库系统原理》课程设计说明书

号:

课 程 设 计

课程名称 数据库系统原理 学 院 计算机科学与技术 专 业 计算机科学与技术 班 级 计算机1007 姓 名 指导教师

2013 年 01 月 23 日

武汉理工大学《数据库系统原理》课程设计说明书

课程设计任务书

学生姓名: 指导教师: 初始条件:

大学同时开设多门课程。每门课程有一个主讲教师,有多名学生选修;一个学生可选修多门课程并获得相应的学分和成绩;上课的基本单位是“次”(一次2学时),每一次课都规定了上课时间和教室(这一规定更灵活,并不象本校现在的情形!)。

专业班级: 工作单位:

题目:教学管理信息系统——学生选课及课程安排数据库设计

要求完成的主要任务:

1. 根据上述的初始条件,进行调查分析并设计适当的属性。设计一个学生选课

及课程安排数据库,记录教师和学生的基本信息,选课,课程安排等信息,DBMS可选Ms SQL Server、Oracle、MySQL等。

2. 完成课程设计说明书,其格式遵守学校今年的新规定。主要内容包括:需求

分析,概念设计,逻辑设计,物理实现等。

3. 基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计

语言(工具)任选。这一项是选作,不作硬性要求。

时间安排:

本学期第21周: 1. 消化资料、系统调查 2. 系统分析

3. 总体设计,实施计划 4. 撰写报告

1天 1天 2天 1天

指导教师签名: 2013年 月 日 系主任(或责任教师)签名: 2013年 月 日

- 1 -

武汉理工大学《数据库系统原理》课程设计说明书

目录

1.需求分析········································4 1.1初始条件·······································4 1.2要求完成的任务·································4 1.3可行性分析·····································4 1.4设计环境·······································4 1.5实现需求·······································4 2.概念设计·········································5 2.1数据库基本表设计································5 2.2 E_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

- 2 -

武汉理工大学《数据库系统原理》课程设计说明书

教学管理信息系统——学生选课及课程安排数据库设计

1需求分析

1.1 初始条件

大学同时开设多门课程。每门课程有一个主讲教师,有多名学生选修;一个学生可选修多门课程并获得相应的学分和成绩;上课的基本单位是“次”(一次2学时),每一次课都规定了上课时间和教室(这一规定更灵活,并不象本校现在的情形!)。

1.2要求完成的任务

(1)根据上述的初始条件,进行调查分析并设计适当的属性。设计一个学生选课及课程安排数据库,记录教师和学生的基本信息,选课,课程安排等信息,DBMS可选Ms SQL Server、Oracle、MySQL等。

(2)完成课程设计说明书,其格式遵守学校今年的新规定。主要内容包括:需求分析,概念设计,逻辑设计,物理实现等。

(3)基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计语言(工具)任选。这一项是选作,不作硬性要求。

1.3可行性分析

此课程设计的目的在于实现学生选课及课程安排数据库的设计,根据初始条件,设计一个学生选课及课程安排数据库,记录教师和学生的基本信息,选课,课程安排等信息。

在要求完成的任务中,要求可以编写应用程序对所建立的数据库进行访问,该数据库功能简单可以编写简单的应用程序来实现对数据库的基础的查询.插入.删除等操作。

1.4设计环境

在本次的课设中用MS SQL Server 2005来进行数据库的设计,DBMS可选Ms SQL Server、Access、VFP等,再配以一台个人电脑,即可完成本次课程设计。

- 3 -

武汉理工大学《数据库系统原理》课程设计说明书

1.5实现需求

根据上述的初始条件和对本学校的调研考察,设计一个学生选课及课程安排数据库:记录教师和学生的基本信息,选课,课程安排等信息,方便老师,同学等用户对数据库的查询,修改等操作。尽量使数据库高效,存储简单。 可设计简单应用程序,实现数据库的访问应用:学生可以查询课程信息及课程安排信息;教师可以查询选修本门课程的学生信息,并给学生相应的成绩,可以查询课程信息及课程安排信息;教师可以修改选修本门课程的学生信息,插入,修改,删除等。

2概念设计

2.1数据库基本表设计

学生选课与课程安排数据库设计

教课生学学 课程生

安生选师 程排课

(1)“学生”表来记录学生的基本信息:学号、姓名、性别、班级、所在系; (2)“教师”表来记录教师的进本信息:教师编号、教师姓名、工作单位; (3)“课程”表来记录课程的基本信息:课程号、课程名、主讲教师、学分、学时; (4)“学生选课”表记录学生选课的基本信息:学生号、课程号、成绩;

(5)“课程安排”表记录课程安排的基本信息:课程号、上课地点、上课时间。

2.2 E—R 图

- 4 -

武汉理工大学《数据库系统原理》课程设计说明书

教室 n 安排 m 课程 m 选修 n 1 讲授 1 教师 学生

3逻辑设计

3.1关系模式

将设计好的E-R图转换为SQL Server 2005支持的关系模型,关系主码用下划线标注:

实体定义如下:

学生:{学号,姓名,性别,班级,所在系} 教师:{教师编号,教师姓名,工作单位}

课程:{课程编号,课程名称,主讲教师,学分,学时} 关系定义如下:

课程安排:{课程编号,上课地点,上课时间} 选修:{学号,课程,成绩}

3.2子模式

视图定义如下

C_SS:{课程编号,课程名称,主讲教师编号,主讲教师姓名,学号,学生姓名,班级,专业}

S_CS:{学号,学生姓名,学生专业,学生班级,课程编号,课程名称,主讲教师}

T_C: {上课时间,上课地点,课程编号,课程名称,主讲教师编号,主讲教

- 5 -

武汉理工大学《数据库系统原理》课程设计说明书

师姓名,学生专业,学生班级}

C_C:{教室,上课时间,课程编号,课程名称,主讲教师编号,主讲教师姓名,学生班级,学生专业}

4物理设计

本次数据库物理设计采用的存取方法是索引方法。根据建立的索引(下划波浪线)如下:

学生:{学号,姓名,性别,班级,所在系} 教师:{教师编号,教师姓名,工作单位}

课程:{课程编号,课程名称,主讲教师,学分,学时} 课程安排:{课程编号,上课地点,上课时间} 选修:{学号,课程,成绩}

5数据库设计源代码

5.1基本表SQL源语言

1)学生表:

CREATE TABLE student( Sno char(13) NOT NULL, Sname char(20) NOT NULL, Ssex char(2), Sclass char(10), Sdept char(20)

PRIMARY KEY (Sno) ) ;

-- ---------------------------- -- Records

-- ----------------------------

INSERT INTO student VALUES ('0121010340701', '刘德华', '男','计算机1007','计算

- 6 -

武汉理工大学《数据库系统原理》课程设计说明书

机学院');

INSERT INTO student VALUES ('0121010340702', '张学友', '男','计算机1007','计算机学院');

INSERT INTO student VALUES ('0121010340703', '郭富城', '男','计算机1007','计算机学院');

INSERT INTO student VALUES ('0121010340704','王菲','女','计算机1007','计算机学院'); 2)教师表:

CREATE TABLE teacher( Tno char(5) NOT NULL, Tname char(20) NOT NULL, Tdept char(20)

PRIMARY KEY (Tno) ) ;

-- ---------------------------- -- Records

-- ----------------------------

INSERT INTO teacher VALUES ('001', '张三','计算机学院'); INSERT INTO teacher VALUES ('002', '李四','计算机学院'); INSERT INTO teacher VALUES ('003 ', '王五','计算机学院'); INSERT INTO teacher VALUES ('004', '赵六','计算机学院'); 3)课程表:

CREATE TABLE course ( Cno char(10) NOT NULL, Cname char(20) NOT NULL , Tno char(5), Ccredit char(3) , Chour char(3) ,

- 7 -

武汉理工大学《数据库系统原理》课程设计说明书

PRIMARY KEY (Cno) );

-- ---------------------------- -- Records

-- ----------------------------

INSERT INTO course VALUES ('101', '数据库系统','001', '2', '48'); INSERT INTO course VALUES ('102', '计算机网络', '002','2','32'); INSERT INTO course VALUES ('103', '软件工程', '003','2', '48'); INSERT INTO course VALUES ('104', '数据结构','004','2', '64');

4)学生选课表:

CREATE TABLE student_course ( Sno char(13) NOT NULL, Cno char(10) NOT NULL, Grade char(3) ,

PRIMARY KEY (Sno,Cno), ) ;

-- ---------------------------- -- Records

-- ----------------------------

INSERT INTO student_course VALUES ('0121010340701', '101', '90'); INSERT INTO student_course VALUES (0121010340701', '102', '92'); INSERT INTO student_course VALUES ('0121010340702', '102', '78'); INSERT INTO student_course VALUES ('0121010340702', '103', '89'); INSERT INTO student_course VALUES ('0121010340703', '103', '94'); INSERT INTO student_course VALUES ('0121010340703', '104', '85'); INSERT INTO student_course VALUES ('0121010340704', '101', '88');

- 8 -

武汉理工大学《数据库系统原理》课程设计说明书

INSERT INTO student_course VALUES ('0121010340704', '104', '94'); 5)课程安排表:

CREATE TABLE course_plan ( Cno char(10) NOT NULL, Time char(20) NOT NULL, Place char(20) NOT NULL, );

-- ---------------------------- -- Records

-- ----------------------------

INSERT INTO course_plan VALUES ('101', '周二七八节', '航海楼101'); INSERT INTO course_plan VALUES ('101', '周四一二节', '航海楼103'); INSERT INTO course_plan VALUES ('102', '周三五六节', '航海楼107'); INSERT INTO course_plan VALUES ('102', '周二一二节', '航海楼109'); INSERT INTO course_plan VALUES ('103', '周五五六节', '航海楼111'); INSERT INTO course_plan VALUES ('103', '周三三四节', '航海楼201'); INSERT INTO course_plan VALUES ('104', '周二五六节', '航海楼203'); INSERT INTO course_plan VALUES ('104', '周四一二节', '航海楼205');

5.2基本表数据库实现

学生基本表

- 9 -

武汉理工大学《数据库系统原理》课程设计说明书

教师表

课程表

学生选课表

- 10 -

武汉理工大学《数据库系统原理》课程设计说明书

课程安排表

基本表操作用例 select sname,cname,grade

from student,student_course,course

where student.sno=student_course.sno and course.cno=student_course.cno;

- 11 -

武汉理工大学《数据库系统原理》课程设计说明书

6设计心得

做这次的课程设计是在很久以前就布置的任务,针对这次的课程设计,自己查阅相关教材资料以及向同学咨询终于完成了此次课程设计的基本目标和任务。

在学生选课和课程安排的数据库设计中,按照要求自己建立了学生,教师,课程,学生选课,课程安排这五个基本表来实现该数据库的基本功能,并能通过简单的查询删除更新等操作来实现对该数据库的基本操作。在这次的课程设计中,可编写简单的应用程序来实现对数据库的操作基本完成了课设的要求,但自己在以后的学习中还需更加完善自己的编程意识,培养自己更好的实际操作能力。

7参考资料

数据库简明系统教程 王珊 高等教育出版社

- 12 -

武汉理工大学《数据库系统原理》课程设计说明书

本科生课程设计成绩评定表

班级: 姓名: 学号: 序号 1 2 3 4 5 6 评分项目 学习态度认真、遵守纪律 设计分析合理性 设计方案正确性、可行性、创造性 设计结果正确性 设计报告的规范性 设计验收 满分 10 10 20 40 10 10 总得分/等级 实得分 评语: 注:最终成绩以五级分制记。优(90-100分)、良(80-89分)、中(70-79分)、

及格(60-69分)、60分以下为不及格

指导教师签名:

2013年 月 日

- 13 -

本文来源:https://www.bwwdw.com/article/c11x.html

Top