数据库课程设计Word文档格式.docx

上传人:b****5 文档编号:20785586 上传时间:2023-01-25 格式:DOCX 页数:16 大小:157.33KB
下载 相关 举报
数据库课程设计Word文档格式.docx_第1页
第1页 / 共16页
数据库课程设计Word文档格式.docx_第2页
第2页 / 共16页
数据库课程设计Word文档格式.docx_第3页
第3页 / 共16页
数据库课程设计Word文档格式.docx_第4页
第4页 / 共16页
数据库课程设计Word文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

数据库课程设计Word文档格式.docx

《数据库课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库课程设计Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

数据库课程设计Word文档格式.docx

的特点。

因此,如何处理好在一个高度分布的网络环境中,多种软硬件平台的管理、部署和升级,适应实际的需求变化,为用户提供一种可靠的低成本运作模式,成为高校教材管理解决方案成功的关键。

针对这一情况,希望研究出一套高校教材管理系统,用来对教材出入库情况、信息情况等信息进行系统高效的管理。

而本课题的研究正是要在这个系统之下开发出教材管理模块,提高教材管理的工作效率,给用户带来更大效益。

本系统的开发,将信息化的管理带入到教育行业,在一定程度上,避免的由于人工操作发生的错误,提高了效益。

2.1功能介绍

系统B/S部分的主要功能:

⑴提供对教材库和目录库中书目的检索(按ISBN、书名、出版社、作者为关键字),方便老师预订和教务部门审核和预订教材,方便老师、学生查询教材.

⑵提供学生查询其所在班级及个人领书记录的功能,方便教材管理部门与班级对帐.

系统C/S部分的主要功能:

其主要功能模块包括:

教材预订,教材入库,教材管理,教材出库,字典管理,查询统计,系统维护等。

3系统设计

3.1系统设计的目标

目标:

给出应用领域中

1、数据项与数据项之间的关系

2、数据操作任务的详细定义,为后续设计做准备

可分四个步骤,四个步骤见下图:

1.对应用领域的调查分析

2.定义数据库系统支持的信息和应用

3.定义数据库操作任务

4.定义数据项

步骤一、教材管理领域的调查分析

调查阶段:

调查应用领域的组织结构、业务流程和数据流程,其中系统需要的组织机构有学生领书信息、征订员输入信息、采购员采购信息、用户管理信息四个组织机构。

3.2管理系统的流程

在普通教材的管理应用中,一般的流程有以下几个:

1、学生管理员将需要领取的教材定下来,然后将数据提交给数据库,在库的教材数量减去被领的教材数量;

如果在库的教材数量没有要求的多,则不予执行;

2、用户管理员将需要征订的教材信息输入到数据库中,然后自动将该教材的属性定为“征订”,等待采购员审核通过可以采购。

如果征订的信息需要修改,则征订员可以修改所输入的信息,但不可以修改其他征订员输入的信息;

3、用户管理员可以对用户进行管理,如添加用户,分配用户的角色,如“普通用户”、“用户管理员”;

删除用户信息;

修改用户信息;

3.3定义

1、系统名称:

高校教材信息管理系统

2、数据库管理软件:

MicrosoftSQLServer

3、数据库设计采用软件:

MicrosoftOfficeVisio2003

4、系统采用C/S体系结构:

Client(客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;

Server(服务器)端用于提供数据服务。

5、运行平台:

windows2000/xp/linux

6、数据库的安全性设计:

(登录用户、数据库用户、数据库角色等方面是如何设置的)

3.4系统模块图

3.5数据流图

3.6E-R图

 

教材实体E-R图

整体E-R图

仓库实体E-R图

3.7数据表的设计:

·

初订表的设计

department—订书系别(char[20]);

profession—订书专业(char[30]);

grade—订书班级(char[10]);

ISBN—ISBN号(char[20]);

bookname—教材名称(char[40]);

bookauthor—编作者(char[30]);

bookpublish—出版社(char[30]);

publishdate--出版日期(包含版次)(char[20]);

·

预定审核表:

price—单价(money);

quantity—预定数量(int)。

预订计划表/预订历史记录表:

booknumber—教材编码(char[10]);

quantity—预定数量(int);

datetime—预定时间

入库表:

quantity—入库数量(int);

datetime—入库时间(datetime)。

出库表:

num—标识号(系别+专业+年级+班级),由8位数字表示(char[8]),它的组成部分为:

前两位为系别号,其次两位为专业号,接着两位为年级号,最后两位为班级号;

quantity—出库数量(int);

datetime—出库时间(datetime)。

库存表:

quantity—库存量(int)。

教材信息表:

publishdate--出版日期(包含版次)(char[20])。

系别表:

departmentID—系别号(char[2]);

department—系别名称(char[30])。

专业表:

professionID—专业号(char[2]);

profession—专业名称(char[30])。

年级表:

gradeID—年级号(char[2]);

grade—年级名称(char[10])。

班级表:

classID—班级号(char[2]);

class—班级名称(char[10])。

教材类别表:

typeID—类别号(char[3]);

type—类别名称(char[20])。

登录表:

customer—用户帐号(char[10]);

由数字、字母及特殊符号组成;

password—登录密码(char[16]),由数字、字母及特殊符号组成。

type—用户类型(char[10]),由汉字组成。

3.8用例举例

3.8.1数据表

编号

应用名称

应用

功能定义

输入信息

输出信息

tblBookInfo

教材信息

存储教材信息

tblBookStorage

库存表

存储教材数量

教材数量

tblBookAttribute

教材属性

存储教材属性

tblClass

班级

存储班级

班级名称

tblUser

用户表

存储用户信息

用户信息

tblRole

角色表

存储角色

角色名

图2.6应用定义表

步骤三.定义数据库操作任务:

操作任务是指应用某个相对独立的事务。

由于技术有限,本系统的数据库操作任务,即事务没有相关的介绍;

步骤四.定义数据项:

数据项定义是以数据库操作任务定义为基础,步骤如下:

1.从DBIPO提取原子数据项;

2.把有联系者撮合为组,以组为单位定义数据项,组内的原子数据项称为属性;

3.根据用户和实际领域的信息模型补充其它数据项;

4.写出数据项如下的描述信息:

语义定义:

名字和实际意义;

完整性约束:

数据的类型、宽度、小数位、值约束和空值约束等;

5.把各数据项的描述信息按下表格式组成数据字典。

教材信息表

特征

ID

BookName

Author

PublishData

Price

Publish

BookMark

Memo

Attribute

类型

Int

varchar

datetime

money

char

Text

int

宽度

20

10

允许空值

值约束

惟一

图2.7教材信息表

教材属性表

BookAttribute

Varchar

图2.8教材属性表

Storage

BookId

Int

图2.9库存表

选定教材表

Id

ClassId

TakenNum

Int

图2.10选定教材表

UserName

PassWord

Email

Role

Char

8

40

图2.11用户表

CREATETRIGGERtri_takecourseONtb_stucourse

FORINSERT,UPDATE

AS

IF(SELECTCOUNT(*)FROMtb_stucourse,inserted

WHEREtb_stucourse.CourseNum=inserted.CourseNum)>

BEGIN

PRINT'

所对应课程选课人数不能超过40个!

'

ROLLBACK

END

ELSEIF

(SELECTCOUNT(*)FROMtb_student,inserted

WHEREtb_student.StudentNum=inserted.StudentNum)>

5

对应学生的选课不能超过5门!

(SELECTIfTakeCourseFROMtb_control)='

0'

当前不是选课时间段!

CREATEPROCproc_studentcourse

@StudentNumchar(10),

@StudentNamechar(10)OUT,

@CourseNamevarchar(20)OUT,

@CourseCreditfloatOUT,

@TeacherNamechar(10)OUT

SELECT@StudentNum=tb_student.StudentNum

@StudentName=tb_student.StudentName

@CourseName=tb_course.CourseName

@CourseCredit=tb_course.CourseCredit

@TeacherName=tb_teacher.TeacherName

FROMtb_stucourse,tb_course,tb_student,tb_teacher

WHEREtb_stucourse.StudentNum=tb_student.StudentNumAND

tb_stucourse.CourseNum=tb_course.CourseNumAND

tb_stucourse.TeacherNum=tb_teacher.TeacherNumand

tb_student.StudentNum=@StudentNum

3.8.2视图

⑴预订计划表→教材信息表

将教材信息先录入教材信息表,预订教材时,通过核对教材编码来确定预订信息的正确性:

如果教材信息表中存在该编码,则可预订;

反之系统提示错误信息,并重新输入。

并且在有必要的时候可以通过视图来查询该教材的详细信息。

⑵入库表→教材信息表

管理人员将教材入库时,可以通过核对教材编码来确定教材信息的正确性,并且在有必要的时候可以通过视图来查询该教材的详细信息。

⑶出库表→教材信息表

管理人员将教材出库时,可以通过核对教材编码来确定出库教材信息的正确性,并且在有必要的时候可以通过视图来查询该教材的详细信息。

⑷库存表—教材信息表

库存表通过教材编码与教材信息表相连,通过视图就可以查询库存中教材的详细信息。

3.8.3存储过程

3)建立查询学生课程存储过程proc_studentcourse,其作用为查询指定学生所有课程的选课记录,其关键代码如下所示:

1.CREATE 

PROC 

proc_studentcourse 

2.@StudentNum 

char(10), 

3.@StudentName 

char(10) 

OUT, 

4.@CourseName 

varchar(20) 

5.@CourseCredit 

float 

6.@TeacherName 

OUT 

7.AS 

8. 

SELECT 

@StudentNum=tb_student.StudentNum 

9. 

@StudentName=tb_student.StudentName 

10. 

 

@CourseName=tb_course.CourseName 

11. 

@CourseCredit=tb_course.CourseCredit 

12. 

@TeacherName=tb_teacher.TeacherName 

13. 

FROM 

tb_stucourse,tb_course,tb_student,tb_teacher 

14. 

WHERE 

tb_stucourse.StudentNum=tb_student.StudentNum 

AND 

15. 

tb_stucourse.CourseNum=tb_course.CourseNum 

16. 

tb_stucourse.TeacherNum=tb_teacher.TeacherNum 

and 

17. 

tb_student.StudentNum=@StudentNum 

4结论

经过这一个学期数据库原理与应用的学习,我对数据库的使用更加顺手了,尤其是最近两个星期的数据库最后一个实验(数据库设计)给我带来了挑战,数据库设计的是一个系统,而非一两张表,因此在对待表与表之间的关系的时候要有一种宏观上的认识。

 

在设计这个数据库系统的时候我学到了许多新知识,如使用PowerDesign数据模工具对数据库逻辑结构的建立,转换为物理模型,然后连接到SQLServer,再进行视图、触发器和存储过程的设计等。

在使用过程中,查阅了不少资料,包括网上和书籍等,锻炼了我的自学能力!

5参考文献

[1]SQLServer2000[Z].

[2]李存斌.数据库应用技术-SQLServer2008简明教程[M].北京:

中国水利水电出版社,2001.25~35

[3]庞山山,刘静.基于多角色的登录模块设计和实现[J].科技信息,2011年31期.201~202

6附录:

读书笔记

两个星期的时间非常快就过去了,这两个星期不敢说自己有多大的进步,获得了多少知识,但起码是了解了项目开发的部分过程。

虽说上过数据库上过管理信息系统等相关的课程,但是没有亲身经历过相关的设计工作细节。

这次实习证实提供了一个很好的机会。

通过这次课程设计发现这其中需要的很多知识我们没有接触过,去图书馆查资料的时候发现我们前边所学到的仅仅是皮毛,还有很多需要我们掌握的东西我们根本不知道。

同时也发现有很多已经学过的东西我们没有理解到位,不能灵活运用于实际,不能很好的用来解决问题,这就需要我们不断的大量的实践,通过不断的自学,不断地发现问题,思考问题,进而解决问题。

在这个过程中我们将深刻理解所学知识,同时也可以学到不少很实用的东西。

从各种文档的阅读到开始的需求分析、概念结构设计、逻辑结构设计、物理结构设计。

亲身体验了一回系统的设计开发过程。

很多东西书上写的很清楚,貌似看着也很简单,思路非常清晰。

但真正需要自己想办法去设计一个系统的时候才发现其中的难度。

经常做到后面突然就发现自己一开始的设计有问题,然后又回去翻工,在各种反复中不断完善自己的想法。

  

我想有这样的问题不止我一个,事后想想是一开始着手做的时候下手过于轻快,或者说是根本不了解自己要做的这个系统是给谁用的。

因为没有事先做过仔细的用户调查,不知道整个业务的流程,也不知道用户需要什么功能就忙着开发,这是作为设计开发人员需要特别警惕避免的,不然会给后来的工作带来很大的麻烦,甚至可能会需要全盘推倒重来。

所以以后的课程设计要特别注意这一块的设计。

  在需求分析过程中,我们通过上网查资料,去图书馆查阅相关资料,结合我们的生活经验,根据可行性研究的结果和客户的要求,分析现有情况及问题,采用Client/Server结构,将机票预定系统划分为两个子系统:

客户端子系统,服务器端子系统。

在两周的时间里,不断地对程序及各模块进行修改、编译、调试、运行,其间遇到很多问题:

由于忘记了一些java语言的规范使得在调试过程中一些错误没有发现,通过这次课程设计,我对调试掌握得更加熟练了,意识到了程序语言的规范性以及我们在编程时要有严谨的态度,同时在写程序时如有一定量的注释,既增加了程序的可读性,也可以使自己在读程序时更容易。

  我们学习并应用了SQL语言,对数据库的创建、修改、删除方法有了一定的了解,通过导入表和删除表、更改表学会了对于表的一些操作,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。

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

当前位置:首页 > 教学研究 > 教学计划

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

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