数据库管理系统课程设计报告.docx

上传人:b****8 文档编号:10890231 上传时间:2023-02-23 格式:DOCX 页数:45 大小:673.83KB
下载 相关 举报
数据库管理系统课程设计报告.docx_第1页
第1页 / 共45页
数据库管理系统课程设计报告.docx_第2页
第2页 / 共45页
数据库管理系统课程设计报告.docx_第3页
第3页 / 共45页
数据库管理系统课程设计报告.docx_第4页
第4页 / 共45页
数据库管理系统课程设计报告.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

数据库管理系统课程设计报告.docx

《数据库管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《数据库管理系统课程设计报告.docx(45页珍藏版)》请在冰豆网上搜索。

数据库管理系统课程设计报告.docx

数据库管理系统课程设计报告

 

万方科技学院《数据库管理系统》

 

课程设计报告

 

题目:

课程管理系统数据库设计

院(系):

电气自动化

专业班级:

计算机15升

学生姓名:

学号:

1516353004

指导教师:

赵宗渠

 

数据库管理系统课程设计任务书

一、设计(调查报告/论文)题目

学生选课管理系统的后台数据库设计

二、设计(调查报告/论文)主要内容

内容:

学生选课管理系统能够为在校师生提供自主选课的自动化查询、管理平台。

支持对各类课程信息的查询、修改、删除及录入,对各类统计信息的查询(支持模糊查询),对不同的登录用户操作权限进行区别管理,实现不同登录用户使用其对应的功能。

基本功能与要求:

1.在选课管理过程中,实现信息自动化管理;

2.实现各种信息的修改、删除、录入等管理功能;

3.实现对各种信息的查询、统计,支持模糊查询;

4.管理员可以设置学生什么时间开始选课,什么时间结束选课;学生根据开设课程进行选课操作,可以选课、退课、查询课程和课表;根据身份不同,权限也不同;

5.对学生选课的结果,实现汇总、归纳和分析;按年份统计课程的学生选课人生及名单,按年份统计学生的选课内容。

分工任务:

个人完成

三、原始资料

1.《数据库管理系统课程设计》指导书

2.数据库系统设计课件

四、要求的设计(调查/论文)成果

1.课程设计报告

2.课程设计作品

五、进程安排

序号

课程设计内容

学时分配

备注

1

选题、需求分析

1天

2

数据库设计

2天

3

数据库表及相关约束、视图实现

2天

4

数据库的存储过程、触发器实现

2天

5

数据库后台功能测试

2天

6

验收答辩、撰写课程设计报告

1天

合计

10天

六、主要参考资料

 

赵文涛.数据库技术与应用(SQLServer).中国矿业大学出版社,2012.

 

评分:

指导教师(签名):

 

20年月日

1需求分析………………………………………………………………………………………1

1.1系统功能要求与分析………………………………………………………………………1

1.2数据流图……………………………………………………………………………………2

1.3数据字典……………………………………………………………………………………3

2概念结构设计…………………………………………………………………………………7

2.1E-R图………………………………………………………………………………………7

2.2分E-R图……………………………………………………………………………………7

2.3总E-R图…………………………………………………………………………………8

3逻辑结构设计………………………………………………………………………………10

3.1E-R图转化为关系模式……………………………………………………………………10

4物理结构设计………………………………………………………………………………11

4.1数据库文件构成…………………………………………………………………………11

4.2数据表构成………………………………………………………………………………11

4.3索引构成…………………………………………………………………………………14

4.4视图构成…………………………………………………………………………………15

4.5存储过程构成……………………………………………………………………………15

4.6触发器构成………………………………………………………………………………15

5数据库物理实现……………………………………………………………………………17

5.1数据库的建立……………………………………………………………………………17

5.2数据表的建立……………………………………………………………………………17

5.3索引的建立………………………………………………………………………………21

5.4视图的建立………………………………………………………………………………21

5.5存储过程的建立…………………………………………………………………………23

5.6触发器的建立……………………………………………………………………………30

6系统后台功能测试…………………………………………………………………………32

6.1视图功能实现测试………………………………………………………………………32

6.2存储过程实现测试………………………………………………………………………33

6.3触发器功能实现测试……………………………………………………………………36

总结………………………………………………………………………………………………38

1需求分析

1.1系统功能要求与分析

1.1.1总体功能

学生选课管理系统能够为在校师生提供自主选课的自动化查询、管理平台。

支持对各类课程信息的查询、修改、删除及录入,对各类统计信息的查询(支持模糊查询),对不同的登录用户操作权限进行区别管理,实现不同登录用户使用其对应的功能。

图1-1系统功能结构图

1.1.2管理员功能

可以设置当前学期学生选课开始、结束的时间,课程相关信息的录入,实时汇总、归纳和分析学生选课情况,按年份统计课程的学生选课人数及名单,按年份统计学生的选课内容。

1.1.3教师功能

可以设置、修改本人信息,修改本人教授课程信息,查看本人教授课程学生选课情况,修改选修本人教授课程学生的课程成绩。

1.1.4学生功能

可以设置、修改本人信息,根据开设课程在规定时间内进行选课操作,可以对已经选定的课程进行退课、查询课程及课表,学期末查询课程成绩并进行统计。

1.2数据流图

图1-2第0层数据流图

图1-3第1层数据流图

图1-4第2层数据流图

1.3数据字典

根据课程设计任务书的要求,经过需求分析,共需要用到五个表,分别为:

学生表、教师表、管理员表、课程信息表、选课信息表。

详细内容如下表所示:

名称:

学生表

说明:

包含所有学生的基本信息及登陆密码

数据流来源:

登陆验证

数据流去向:

P2.1

数据结构:

学号,学生姓名,所在院系,专业,班级,性别,密码

名称:

教师表

说明:

包含所有教师的基本信息及登录密码

数据流来源:

登陆验证

数据流去向:

P2.1

数据结构:

教师编号,教师姓名,性别,所在院系,职称,密码

名称:

管理员表

说明:

包含所有管理员的基本信息及登录密码

数据流来源:

登陆验证

数据流去向:

P2.1

数据结构:

管理员编号,管理员姓名,密码

名称:

课程信息表

说明:

包含所有课程的基本信息,选课起止时间,可选及已选人数

数据流来源:

学生,教师,管理员

数据流去向:

学生,教师

数据结构:

课程编码,课程名称,教师身份证号,已选人数,可选人数,上课时间,上课地点,学分,选课开始,选课结束

名称:

选课信息表

说明:

包含所有学生选择的课程及对应课程的分数

数据流来源:

学生,教师

数据流去向:

学生,教师

数据结构:

学号,课程编号,学分

表1-1数据表数据字典

名称:

学号

说明:

学生编号,确保唯一性

数据值类型:

连续

类型:

数字

长度:

11

有关数据结构:

学生姓名,密码,课程编号,获得学分

名称:

学生姓名

说明:

学生的名字

数据值类型:

连续

类型:

字符

长度:

10

有关数据结构:

学号

名称:

所在院系

说明:

学生、教师所在的院系

数据值类型:

连续

类型:

字符

长度:

20

有关数据结构:

学号,教师编号

名称:

专业

说明:

学生所在专业

数据值类型:

连续

类型:

字符

长度:

20

有关数据结构:

学号

名称:

班级

说明:

学生所在班级

数据值类型:

连续

类型:

数字

长度:

4

有关数据结构:

学号

名称:

性别

说明:

学生、教师的性别

数据值类型:

连续

类型字符:

长度:

2

有关数据结构:

学号,教师编号

名称:

密码

说明:

用户登录密码

数据值类型:

连续

类型:

字符

长度:

16

有关数据结构:

学号,身份证号

名称:

教师编号

说明:

教师的编号,确保唯一性

数据值类型:

连续

类型:

数字

长度:

10

有关数据结构:

教师姓名,密码,课程编号

名称:

职称

说明:

教师的职称

数据值类型:

连续

类型:

字符

长度:

10

有关数据结构:

教师编号

名称:

管理员编号

说明:

管理员的编号,确保唯一性

数据值类型:

连续

类型:

数字

长度:

10

有关数据结构:

管理员姓名,密码

名称:

课程编号

说明:

课程的编号,确保唯一性

数据值类型:

连续

类型:

数字

长度:

5

有关数据结构:

课程名称,教师编号,学分

名称:

课程名称

说明:

课程的全称

数据值类型:

连续

类型:

字符

长度:

20

有关数据结构:

课程编号

名称:

已选人数

说明:

已经选择该课程的人数

数据值类型:

连续

类型:

数字

长度:

4

有关数据结构:

课程编号

名称:

可选人数

说明:

该课程最大可选人数

数据值类型:

连续

类型:

数字

长度:

4

有关数据结构:

课程编号

名称:

上课时间

说明:

该课程上课具体时间

数据值类型:

连续

类型:

字符

长度:

6

有关数据结构:

课程编号

名称:

上课地点

说明:

该课程上课具体地点

数据值类型:

连续

类型:

字符

长度:

10

有关数据结构:

课程编号

名称:

学分

说明:

该课程的学分

数据值类型:

连续

类型:

字符

长度:

2

有关数据结构:

课程编号

名称:

选课开始

说明:

该课程选课开始时间

数据值类型:

连续

类型:

时间

长度:

20

有关数据结构:

课程编号

名称:

选课结束

说明:

该课程选课结束时间

数据值类型:

连续

类型:

时间

长度:

20

有关数据结构:

课程编号

表1-2数据项数据字典

 

2概念结构设计

2.1E-R图

本系统的数据库实体主要有“学生”、“管理员”、“教师”、“课程”等。

其中“教师”与“课程”存在“开设”联系,并且一个教师可以开设N门课程,即“教师”与“课程”之间是一对多的关系。

一个学生可以学习N门课程,一门课程可以有M个学生学习,即“学生”与“课程”之间是多对多的关系。

各个数据库实体可以用多个E-R图表示,整个数据库可以用一个E-R图表示。

2.2分E-R图

2.2.1管理员E-R图

图1-5管理员E-R图

2.2.2教师E-R图

图1-6教师E-R图

2.2.3学生E-R图

图1-7学生E-R图

2.2.4课程E-R图

图1-8课程E-R图

2.3总E-R图

图1-9数据库E-R图

 

3逻辑结构设计

3.1E-R图转化为关系模式

管理员E-R图中,实体为管理员,其中管理员编号因为确保唯一性,因此管理员编号为管理员的码。

管理员的关系模式为:

管理员(管理员编号,管理员姓名,密码)

Admin(admin_id,admin_name,pw)

教师E-R图中,实体为教师,其中教师编号因为确保唯一性,因此教师编号为教师的码。

教师的关系模式为:

教师(教师编号,教师姓名,所在院系,职称,性别,密码)

Teacher(teach_id,teach_name,dept,title,sex,pw)

学生E-R图中,实体为学生,其中学生编号因为确保唯一性,因此学生编号为学生的码。

学生的关系模式为:

学生(学生编号,学生姓名,所在院系,专业,班级,性别,密码)

Student(stu_id,stu_name,dept,major,class,sex,pw)

课程E-R图中,课程为实体,其中课程编号因为确保唯一性,因此课程编号为课程的码。

课程的关系模式为:

课程(课程编号,课程名称,教师编号,上课时间,上课地点,可选人数,已选人数,学分,选课开始时间,选课结束时间)

Course(cour_id,cour_name,teach_id,ctime,cplace,totalnum,selectnum,credit,start,end)

除此之外,学生,教师及课程间还有选课的关系,该关系中学生编号与课程编号共同做为选课的码。

选课的关系模式为:

选课(学生编号,课程编号,成绩)

SC(stu_id,cour_id,grade)

 

4物理结构设计

4.1数据库文件构成

本数据库主要有2个文件构成,分别为主要数据文件和事务日志文件。

其中:

主要数据文件:

逻辑名称:

stu_cour

物理名称:

stu_cour.mdf

初始大小:

3MB

增长方式:

10%

数据文件最大限制:

500MB

事务日志文件:

逻辑名称:

stu_cour_log

物理名称:

stu_cour_log.ldf

初始大小:

3MB

增长方式:

1MB

日志文件最大限制:

无限制

4.2数据表构成

4.2.1表汇总

表名

功能说明

Admin_info(管理员信息表)

存储管理员的基本信息

Stu_info(学生信息表)

存储学生的基本信息

Teach_info(教师信息表)

存储教师的基本信息

Cour_info(课程信息表)

存储课程的基本信息

Sc(学生选课表)

存储学生选课的情况

表4-1数据库表汇总

4.2.2管理员信息表

表名

Admin_info(管理员信息表)

列名

数据类型(精度范围)

空/非空

约束条件

说明

Admin_id

char(10)

非空

PK

管理员编号

Admin_name

Varchar(10)

非空

管理员姓名

Password

char(16)

管理员密码

表4-2管理员信息表

4.2.3学生信息表

表名

Stu_info(学生信息表)

列名

数据类型(精度范围)

空/非空

约束条件

说明

Stu_id

char(10)

非空

PK

学生编号

Stu_name

Varchar(10)

非空

学生姓名

Dept

Varchar(20)

所在院系

Major

Varchar(20)

专业

Class

Int

班级

Sex

Varchar

(2)

性别

Password

char(16)

学生密码

表4-3学生信息表

4.2.4教师信息表

表名

Teach_info(教师信息表)

列名

数据类型(精度范围)

空/非空

约束条件

说明

Teach_id

char(10)

非空

PK

教师编号

Teach_name

Varchar(10)

非空

教师姓名

Dept

Varchar(20)

所在院系

Title

Varchar(10)

职称

Sex

Varchar

(2)

性别

Password

char(16)

教师密码

表4-4学生信息表

4.2.5课程信息表

表名

Cour_info(课程信息表)

列名

数据类型(精度范围)

空/非空

约束条件

说明

Cour_id

char(10)

非空

PK

课程编号

Cour_name

Varchar(20)

非空

课程名称

Teach_id

char(10)

FK

任课教师编号

Credit

Tinyint

学分

Selected_num

Int

已选学生数目

Total_num

Int

可选学生数目

Cour_time

Varchar(10)

上课时间

Cour_place

Varchar(10)

上课地点

Start

Smalldatetime

选课开始时间

End

smalldatetime

选课结束时间

表4-5课程信息表

4.2.6学生选课表

表名

Sc(学生选课表)

列名

数据类型(精度范围)

空/非空

约束条件

说明

Stu_id

char(10)

非空

PKFK

学生编号

Cour_id

char(10)

非空

PKFK

课程编号

Grade

Tinyint

课程成绩

表4-6学生选课表

4.3索引构成

数据库中的索引是一个列表,在这个列表中包含了某个表中一列或者若干列值的集合,以及这些值的记录在数据表中的存储位置的物理地址。

索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。

索引是依赖于表建立的,它提供了数据库中编排表中数据的内部方法。

索引的主要作用表现在两个方面,一是提高数据的访问速度,二是确保数据的唯一性。

通过索引这种SQLserver的内部机制,可以有效地进行数据选择和排序。

在本数据库中为了提高数据库的使用效率共设计了五个索引,分别是:

(1)admin_info表中按admin_id的升序建立唯一索引;

(2)stu_info表中按stu_id的升序建立唯一索引;(3)teach_info表中按teach_id的升序建立唯一索引;(4)cour_info表中按cour_id的升序建立唯一索引;(5)sc表中按stu_id的升序和cour_id的升序建立唯一索引。

以上索引不但能够提高数据的访问速度,同时也能保证个表中内容唯一,例如学生表中不会出现学号重复的学生,学生信息表中不会出现同一个学生选择同一门课超过一次的情况,从某方面保证了数据库的稳定性。

4.4视图构成

视图是一种常用的数据库对象,是关系数据库系统提供给用户以多种角度来观察数据的一种重要机制。

使用视图使得用户能够以更多样而且更有弹性的方式来访问数据,这不仅仅可以确保数据库的安全性,而且可以提高其使用的便利性。

在数据库应用中使用视图有以下几个方面的优点:

(1)集中数据显示;

(2)简化数据操作;(3)提供简便易行的安全保密措施;(4)易于合并或分割数据。

在本数据库中,为不同用户的不同功能需求建立了不同的视图,具体构成如下:

管理员用户在本数据库中的指责是管理学生、教师及课程的具体数据,分配课程选课开始及结束的时间。

因此管理员用户的视图应能够将学生、教师及课程的基本信息包括在其中。

视图包括:

(1)显示所有学生学号、姓名、院系、密码等基本信息;

(2)显示所有教师编号、姓名、密码登记本信息;(3)显示所有课程编号、名称、开始选课及结束选课时间。

管理员可以通过以上视图对各视图中的内容进行修改操作。

学生用户是本系统的主要用户,学生能够通过本系统进行课程的选择,已选课程的删除、查看,成绩的查询、统计等相关功能。

视图包括:

(1)显示所有课程的基本情况;

(2)显示本人所选课程的全部情况。

教师用户在本系统中能够使用的功能包括查看自己任教课程选课的情况,给选择自己课程的学生打分。

视图包括:

(1)分别显示自己任教课程的选课情况。

4.5存储过程构成

存储过程是一组为了完成特定功能的表达式集合,经编译后存储在数据库中。

用户通过制定存储过程的名字并给出参数来执行。

存储过程可以包含程序流、逻辑以及对数据库的查询,可以接受输入参数、输出参数、返回单个或多个结果集以及返回值。

本数据库中共包括以下存储过程:

(1)管理员修改选课开始、结束时间;

(2)学生选择课程;(3)学生删除课程;(4)学生统计所选课程分数;(5)查看制定课程上课的时间及地点;(6)教师给选择自己课程的学生打分;(7)教师统计自己课程的情况。

4.6触发器构成

触发器是一种由事件驱动的特殊的存储过程,当它被定义在表面上时,可看作表的一部分,一旦定义,任何用户当试图对表进行增加、删除或修改操作时,都有服务器自动激活相应的触发器,即触发器被请求。

本数据库中共包括以下触发器:

(1)学生删除课程成功后显示详细信息;

(2)教师给学生分数时若分数不在0~100范围内则提示并撤销操作;(3)学生选课或删除课程后自动更新课程信息表中已选人数。

 

5数据库物理实现

5.1数据库的建立

通过SQL语言建立符合物理设计中规定的数据库,代码及结果如下:

CREATEDATABASEstu_sel_cour

ON(

NAME=stu_cour,

FILENAME="F:

\database\stu_cour.mdf",

SIZE=3MB,

MAXSIZE=500MB,

FILEGROWTH=10%

LOGON

NAME=stu_cour_log,

FILENAME="F:

\database\stu_cour_log.mdf",

SIZE=3MB,

MAXSIZE=UNLIMITED,

FILEGROWTH=1MB

5.2数据表的建立

利用SQL语句创建物理结构设计中规定的数据表,代码及结果如下:

USEstu_sel_cour

GO

CREATETABLEadmin_info(

admin_idCHAR(10)PRIMARYKEY,/*管理员编号为主键*/

admin_nameVARCHAR(10)NOTNULL,

PASSWORDCHAR(16)

CREATETABLEstu_info(

stu_idCHAR(10)PRIMARYKEY,/*学生编号为主键*/

stu_nameVARCHAR(10)NOTNULL,

deptVARCHAR(20),

majorVARCHAR(20),

classINT,

sexVARCHAR

(2),

PASSWORDCHAR(16)

CREATETABLEteach_info(

teach_idCHAR(10)PRIMARYKEY,/*教师编号为主键*/

teach_nameVARCHAR(10)NOTNULL,

deptVARCHAR(20),

titleVARCHAR(10),

sexVARCHAR

(2),

PASSWORDCHAR(16)

CREATETABLEcour_info(

cour_idCHAR(10)PRIMARYKEY,/*课程编号为主键*/

cour_nameVARCHAR(20)NOTNULL,

teach_idCHAR(10),

creditTINYINT,

selected_numINT,

total_numINT,

cour_timeVARCHAR(10),

cour_placeVARCHAR(10),

start_timeSMALLDATETIME,

end_timeSMALLDATETIME,

CONSTRAINTteach_idfk/*添加teach_id为外键,与teach_info中的teach_id相关联*/

FOREIGNKEY(t

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 简洁抽象

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1