高校教材管理系统课程设计.docx
《高校教材管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《高校教材管理系统课程设计.docx(23页珍藏版)》请在冰点文库上搜索。
呼伦贝尔学院
计算机科学与技术学院
期末课程设计
题目:
高校教材管理系统
学生姓名:
赵春霞
学号:
201212102005
专业班级:
12级软件工程一班
指导教师:
凃云杰
完成时间:
2015年1月16日
目录
第1章绪论 1
1.1选题背景 1
1.2开发教材管理系统的必要性 1
1.3开发教材管理系统的特点 1
1.4开发工具 2
第2章系统分析 3
2.1可行性分析 3
2.1.1经济可行性 3
2.1.2技术可行性 3
2.1.3操作可行性 4
2.2系统需求分析 4
2.3系统功能结构图 4
第3章数据库设计 6
3.1数据库概念结构设计 6
3.2数据库逻辑结构设计 9
3.3数据库物理结构设计 10
3.4数据库的实施 14
3.4.1主要表的创建 14
3.4.2创建存储过程 15
3.4.3创建触发器 16
第4章总结 17
4.1课设评价 17
4.2不足 17
4.3体会 17
参考文献 18
第1章引言
1.1背景
随着计算机的不断发展,计算机以渗透到各个领域,高校管理也不例外,其中教材管理的计算机化已不容迟缓。
对于学校来说,教材管理是教学管理中的重要的一部分。
教材订购发放的过程中总是面对大量的领书人信息、教材信息以及两者相互作用产生的领书信息、订书信息。
因此需要对课程资源、教材资源、领书信息、进书信息进行管理,及时了解各个环节中信息的变更,有利于提高管理效率。
因此,建立一套与开课相配套的教材管理模式和管理系统具有十分重要的意义和实际应用的迫切性,而且现有的条件、管理理念和技术水平已使之成为可能。
1.2开发教材管理系统的目的
开发教材管理系统的目的就是充分利用计算机和现代办公软件,摆脱传统办公工具,用计算机实现集中方便的管理工作,把学校教材科的工作人员从繁重的体力劳动中解脱出来以达到提高工作效率和质量,最终实现教材管理的全面自动化为和现代化。
1.3开发环境介绍
1.MicrosoftSQLServer2008
SQLServer2008出现在微软数据平台愿景上是因为它使得公司可以运行他们最关键任务的应用程序,同时降低了管理数据基础设施和发送观察和信息给所有用户的成本。
第2章系统分析
2.1可行性分析
分析可行性的基本任务是在允许的成本和性能要求以及系统的范围内,分析每项需求得以实施的可能性。
这项工作的目的在于明确与每项需求相关联的风险,包括一些与其他方面的冲突、对外部环境的依赖和某些技术的障碍等。
2.1.1经济可行性
在教材管理系统中,初始投入比较多,但系统建成后,可以实现资源共享,可以支持选课订书等操作,不但节省人力,还可以带来经济效益,减少人工操作,方便快捷,从经济上是可行的
2.1.2技术可行性
呼伦贝尔学院教材管理系统是对技术要求方面比较高,安全性和可靠性都要强,但我校计算机学院人才济济,从技术上来说是可行的。
2.1.3操作可行性
本系统技术要求不高,容易操作,而且登陆操作界面人性化,从操作上来说是可行的。
2.2系统功能结构图
高校教材管理系统功能结构,图如2-1所示
第3章数据库设计
3.1数据库概念结构设计
概念设计的实质是将系统需求分析得到的用户需求抽象为信息结构的过程。
概念设计的结果是数据库的概念模型,也就是用E-R图表示。
首先我们为整个系统确立关系模型,步骤如下:
1.班级,如图3-1所示
3-1班级实体E-R图
2.教师,如图3-2所示
h
3-2教师实体E-R图2**
3.课程,如图3-3所示
3-3课程实体E-R图
4.教材,如图3-4所示
3-4教材实体E-R图
5.仓库,如图3-5所示
3-5仓库实体E-R图
6.供货商,如图3-6所示
3-6供货商实体E-R图
7.仓库管理员,如图3-7所示
3-7经办人实体E-R图
高校教材管理全局E-R图如下:
3-8高校教材管理全局E-R图
3.2数据库逻辑结构设计
逻辑结构的设计任务就是把概念结构设计阶段设计好的基本E-R图转换为与DBMS产品所支持的数据模型相符合的逻辑结构
1.本系统的关系模式如下
班级(班级编号,班级名称,班级人数)
教师(教师编号,教师姓名,联系电话,性别,年龄)
课程(课程编号,课程名称,课程性质,选课人数)
教材(教材编号,出版社编号,教材名称,ISBN号,作者,进货价格)
仓库(仓库编号,仓库名称,仓库电话,仓库地址)
供货商(供货商编号,供货商名,供货商地址,供货商电话)
仓库管理员(仓库管理员编号,仓库管理员姓名,仓库管理员电话)
领取(教材编号,班级编号,教师编号,领取时间,领取数量)
存储(教材编号,仓库编号,存储数量)
选课(课程编号,班级编号,教师编号,选课人数)
用书(课程编号,教材编号,选课人数)
入库(仓库管理员编号,仓库编号,入库时间,进货数量,教材编号)
出库(仓库管理员编号,仓库编号,出库时间,出库数量,教材编号)
订货表(订单编号,仓库编号,供货商编号,,教材编号,订货数量,订货时间)
2.关系图,如图3-9所示
3-9关系图
3.3数据库物理结构设计
各表名称及所包含的属性,数据类型和长度,主外键关系如下几张表所示:
表3-1班级表
字段名
数据类型
null
其他
班级编号
varchar(10)
not
PK
班级名
varchar(10)
人数
int
表3-2教师表
字段名
数据类型
null
其他
教师编号
Varchar(10)
PK
教师姓名
nchar(10)
性别
char
(2)
电话
nchar(11)
表3-3课程表
字段名
数据类型
null
其他
课程编号
varchar(10)
not
PK
课程名称
varchar(10)
开课学期
nchar(15)
课程性质
char(5)
表3-4教材表
字段名
数据类型
null
其他
教材编号
varchar(10)
not
PK
出版社编号
varchar(10)
not
FK
ISBN
nchar(20)
教材名
nchar(20)
not
作者
nchar(10)
进货价格
smallmoney
表3-5仓库表
字段名
数据类型
null
其他
仓库编号
varchar(10)
not
PK
仓库名
nchar(10)
仓库电话
char(11)
仓库地址
nchar(5)
表3-6供货商表
字段名
数据类型
null
其他
供货商编号
varchar(10)
not
PK
供货商名称
varchar(10)
供货商电话
char(11)
供货商电话
nchar(5)
表3-7仓库管理员表
字段名
数据类型
null
其他
仓库管理员编号
varchar(10)
not
PK
仓库管理员姓名
varchar(10)
not
仓库管理员电话
char(11)
仓库管理员权限
nchar(5)
表3-8选课表
字段名
数据类型
null
其他
教师编号
varchar(10)
not
PK.FK
课程编号
varchar(10)
not
PK.FK
班级编号
varchar(10)
not
PK
选课人数
Int
Not
表3-9用书表
字段名
数据类型
null
其他
教材编号
varchar(10)
not
PK.FK
课程编号
varchar(10)
not
PK.FK
选课人数
Int
Not
表3-10存储表
字段名
数据类型
null
其他
教材编号
varchar(10)
not
PK.FK
仓库编号
varchar(10)
not
PK.FK
存储数量
int
not
表3-11领取表
字段名
数据类型
null
其他
教材编号
varchar(10)
not
PK.FK
班级编号
varchar(10)
not
PK.FK
教师编号
varchar(10)
Not
PK,FK
领取时间
date
not
PK
领取数量
Int
表3-12入库表
字段名
数据类型
null
其他
仓库编号
varchar(10)
not
PK.FK
经办人编号
varchar(10)
not
PK.FK
入库时间
date
not
PK
教材编号
varchar(10)
not
FK
入库数量
int
表3-13出库表
字段名
数据类型
null
其他
仓库编号
varchar(10)
not
PK.FK
仓库管理员编号
varchar(10)
not
PK.FK
出库时间
date
not
PK
教材编号
varchar(10)
not
FK
出库数量
int
表3-14订单表
字段名
数据类型
null
其他
订单编号
varchar(10)
not
PK
供货商编号
varchar(10)
not
PK.FK
仓库编号
varchar(10)
not
PK.FK
教材编号
varchar(10)
not
FK
订货时间
date
订货数量
int
表3-15预定表
字段名
数据类型
null
其他
教师编号
varchar(10)
not
PK、FK
教材编号
varchar(10)
not
PK、FK
预定时间
varchar(10)
not
PK
课程编号
varchar(10)
not
PK、FK
3.4数据库的实施
3.4.1表的创建
createdatabase高校教材管理
go
use高校教材管理
createtable班级
(
班级编号varchar(10)primarykeynotnull,
班级名varchar(10),
人数int
)
insertinto班级values('2012105','软件工程',50)
insertinto班级values('2012106','网络工程',30)
insertinto班级values('2012107','信息管理',25)
createtable教师
(
教师编号varchar(10)primarykeynotnull,
教师姓名nchar(10),
性别char
(2),
年龄int,
教师电话nchar(11),
)
createtable课程
(
课程编号varchar(10)primarykeynotnull,
课程名称nchar(10),
课程性质char(10),
选课人数int,
)
insertinto课程values('801001','数据库应用','专业选修','0')
insertinto课程values('801002','java','专业必修','0')
insertinto课程values('801003','C#.NET','专业必修','0')
createtable出版社
(
出版社编号varchar(10)primarykeynotnull,
出版社名nchar(20),
出版社地址nchar(20),
出版社电话char(11),
联系人nchar(15),
)
insertinto出版社values('301001','北京日报出版社','内蒙古呼伦贝尔市健康街号','8912156','王志')
insertinto出版社values('301002','远大出版社','内蒙古呼伦贝尔市鄂温克自治旗正阳街','8812156','李洁')
createtable教材
(
教材编号varchar(10)primarykeynotnull,
出版社编号varchar(10)notnull,
ISBN号nchar(20),
教材名nchar(20)notnull,--
作者nchar(10),--
进货价格smallmoney,--
foreignkey(出版社编号)references出版社(出版社编号),
)
insertinto教材values('601001','301001','4758329912','C语言','周山','32')
insertinto教材values('601002','301002','1613541615','数据库','李璇那','12')
insertinto教材values('601003','301001','1564156415','Java语言','卡尼','45')
insertinto教材values('601004','301002','1818641534','高等数学','王杰','42')
insertinto教材values('601005','301002','1618461314','军事理论','赵昱航','33')
insertinto教材values('601006','301001','1561515641','计算机导论','吴语韩','20')
createtable仓库
(
仓库编号varchar(10)primarykeynotnull,--
仓库名nchar(10),--
仓库电话char(11),--
仓库地址nchar(20)--
)
insertinto仓库values('001','一号仓库','8814567','内蒙古海拉尔学府路号')
insertinto仓库values('002','二号仓库','8814568','内蒙古海拉尔学府路号')
createtable供货商
(
供货商编号varchar(10)primarykeynotnull,--
供货商名nchar(10),--
供货商电话char(11),--
供货商地址nchar(20)--
)
createtable管理员
(
管理员编号varchar(10)primarykeynotnull,
管理员姓名nchar(10)notnull,
管理员电话char(11),
)
insertinto管理员values('621001','李白','13847041265')
insertinto管理员values('621002','张华','13756402354')
insertinto管理员values('621003','李浩宇','18947552368')
insertinto管理员values('621004','张楠','18752500055')
createtable选课
(
教师编号varchar(10)notnull,
课程编号varchar(10)notnull,
班级编号varchar(10)notnull,
选课人数int,
primarykey(教师编号,课程编号,班级编号),
foreignkey(教师编号)references教师(教师编号),
foreignkey(课程编号)references课程(课程编号),
foreignkey(班级编号)references课程(班级编号),
)
createtable用书
(
教材编号varchar(10)notnull,
课程编号varchar(10)notnull,
选课人数intnotnull,
primarykey(教材编号,课程编号),
foreignkey(教材编号)references教材(教材编号),
foreignkey(课程编号)references课程(课程编号),
)
createtable存储
(
教材编号varchar(10)notnull,
仓库编号varchar(10)notnull,
存储数量int,
primarykey(教材编号,仓库编号),
foreignkey(教材编号)references教材(教材编号),
foreignkey(仓库编号)references仓库(仓库编号),
)
insertinto存储values('601001','001',100)
insertinto存储values('601002','001',100)
insertinto存储values('601003','001',100)
insertinto存储values('601004','002',200)
insertinto存储values('601005','002',200)
insertinto存储values('601006','002',200)
insertinto存储values('601004','001',200)
createtable领取
(
教师编号varchar(10)notnull,
班级编号varchar(10)notnull,
管理员编号varchar(10)notnull,
领取时间datenotnull,
课程编号varchar(10)notnull,
教材编号varchar(10)notnull,
总价money,
primarykey(领取时间,管理员编号,班级编号),
foreignkey(班级编号)references班级(班级编号),
foreignkey(课程编号)references课程(课程编号),
foreignkey(教材编号)references教材(教材编号),
)
insertinto领取values('201001','621001','2013-01-01','801001','601001','500')
insertinto领取values('201002','621001','2013-01-01','801001','601001','400')
insertinto领取values('201003','621001','2013-01-01','801001','601001','300')
createtable入库表
(
仓库编号varchar(10)notnull,
管理员编号varchar(10)notnull,
入库时间datenotnull,
教材编号varchar(10)notnull,
入库数量int,
primarykey(仓库编号,管理员编号,入库时间,教材编号),
foreignkey(仓库编号)references仓库(仓库编号),
foreignkey(管理员编号)references管理员(管理员编号),
foreignkey(教材编号)references教材(教材编号),
)
insertinto入库表values('001','621003','2013-01-01','601001',0)
insertinto入库表values('001','621003','2013-01-01','601002',0)
insertinto入库表values('002','621004','2013-05-01','601004',0)
insertinto入库表values('002','621004','2013-05-01','601005',0)
insertinto入库表values('002','621004','2013-01-01','601006',0)
createtable出库表
(
仓库编号varchar(10)notnull,
管理员编号varchar(10)notnull,
出库时间datenotnull,
教材编号varchar(10)notnull,
出库数量int,
primarykey(仓库编号,管理员编号,出库时间,教材编号),
foreignkey(仓库编号)references仓库(仓库编号),
foreignkey(管理员编号)references管理员(管理员编号),
foreignkey(教材编号)references教材(教材编号),
)
insertinto出库表values('001','621003','2013-01-01','601001',0)
insertinto出库表values('001','621003','2013-01-01','601002',0)
insertinto出库表values('002','621004','2013-05-01','601004'