当前位置:文档之家› 高校教材管理系统方案

高校教材管理系统方案

大型数据库开发与设计题目:高校教材管理系统学号:姓名:班级:目录背景 (1)一、需求分析 (1)1.1 开发目的 (1)1.2 功能需求 (2)1.3 开发及运行环境 (2)1.4 性能需求 (2)1.5 安全性需求 (2)1.6完整性需求 (2)1.7 处理需求 (3)1.8 设计和实现上的限制 (3)1.9 用户界面 (3)1.10 数据流程图 (3)1.11数据字典 (4)二、概念结构设计: (5)2.1 ER图 (5)2.2 CDM图 (9)三、逻辑结构设计 (9)3.1 对于实体型间的联系有以下不同情况 (9)3.2 将ER图转换成关系模式 (9)3.3 各实体的属性的关系类型表 (10)四、物理结构设计: (12)4.1 PDM图 (12)4.2 建立表 (12)4.3查询 (19)4.4 删除 (19)4.5 数据库触发器的实现 (20)4.6数据库的存储过程 (21)4.6.1建立存储过程 (21)4.6.2 存储过程修改 (21)4.6.3存储过程的执行 (22)4.7 视图 (22)五、总结: (23)高校教材管理系统背景在高速发展的当今信息社会,越来越多的工作都已经将计算机引入了其中,并且成为了其中不可或缺的一个重要部分。

利用计算机进行各项管理与协调,将能大大的提高工作的效率,减小工作强度;在相同的工作强度情况下,利用计算机进行工作,能比原来的老式工作方式提高数倍乃至数十倍的工作的效率,可以大大的减少各项人力及物资损耗,从而使得能够将多余的人力及投入到更需要的地方去。

高校管理当然也不例外,所以教材管理的计算机化已刻不容缓。

教材管理对于各个学校而言,都是一项很复杂、烦琐的工作, 是高校教务管理中的一个重要环节, 由于大学专业设置门类多,各专业每期开设课程的种类多,其业务不仅涉及出版部门,而且要面对全校各系的授课教师,各班级的学生,教材科要管理的入出库教材种类非常多,涉及到的人员广,工作量大,再者是近些年来,我国高等教育规模不断扩大,学校学生人数迅速增加,使得教材管理工作更加繁重不堪。

所以,一套好的高校教材管理软件,不但能够大大降低工作人员的劳动强度,而且还能提高学校的管理效率和教学水平。

学校教材管理主要是由教材计划制定、采购、入库、发放、记账、结算等一系列工作所组成,该工作各院校都有专门机构负责该项工作,通常是教材科。

由于学校中专业设置门类多,各专业每期开设课程种类多,各个专业需要订购的课本也不一样,在每学期开学的时候教材的发放便成为了一个繁重的任务。

每期教材科管理的入出库教材种类少则几百多则几千种,涉及教材册数少则几千多则几万,涉及人员广,工作量大,再者特别是近年来,我国高等教育规模的不断扩大,学校学生人数迅速增加,使教材管理工作更加繁重不堪。

据调查,到目前为止,我国还有许多学校甚至是一些重点院校的教材管理仍为手工管理方式,这种现状不但与现实学校教材管理的业务需求不相适应,并且也与学校信息化建设的发展趋势不相适应,因此,学校教材管理人员目前迫切需要一套方便、高效的计算机化的管理信息系统来代替他们繁琐、低效的传统手工管理方式,并最终实现教材管理的全面自动化。

因此,教材管理水平的高低直接影响教学工作的进行、教学质量的提高和合格人才的培养,开发和使用高校教材管理信息系统是改善和提高教材管理水平的一个重要途径。

一、需求分析1.1 开发目的本课题旨在解决我校和其他高校教材管理工作还是依靠教材管理人员的手工管理的现状,并且在现有基础上考虑了如何完善和解决现有的两层结构的C/S(客户端/服务器)教材系统本身所固有的缺陷,把两层结构中服务器部分和客户端部分的应用单独划分出来,从而满足大型系统的需求。

通过本系统不仅可以方便教材管理人员管理教材,还可以方便教务部门和广大师生查询教材和查看教材管理记录本系统使用SQL Server 2008 Express数据库作为后台的数据管理系统,利用ADO 数据库组件连接后台数据库。

开发采用的是C#,它是由Microsoft公司开发的Windows程序开发环境,是现在最受欢迎的几种开发工具之一.1.2 功能需求(1)由于操作人员的计算机水平有限,因此要求系统具有良好的人机界面。

(2)方便的数据查询,支持多条件查询。

(3)系统支持良好的数据备份和还原操作,有效保护数据,减少意外损失。

(4)数据计算自动完成,尽量较少人工干预。

(5)报表分析教材进货,教材销售情况。

(6)强大的报表打印功能。

(7)报表基本信息查询时,可根据查询条件动态显示查询结果。

(8)报表分析过程中,可根据条件动态分析报表数据。

1.3 开发及运行环境系统开发平台:Microsoft Visual Studio 2008系统开发语言:C#数据库管理系统软件:SQL Server 2008运行平台:Windows XP(SP2),Windows 2000(SP4),Windows Server 2003(SP1)分辨率:最佳效果1024X768像素。

1.4 性能需求(1)数据库服务器支持多客户端访问。

(2)数据的安全性与完整性高,数据访问正确率在99.99%。

(3)数据库表能正确、及时反映最新容的更新。

(4)服务器在多客户端访问时能正常稳定工作。

1.5 安全性需求(1)系统能抵御瑞星网上公布的病毒的攻击而不至于瘫痪。

(2)系统能安全的防对数据库容不安全的访问和操作。

(3)系统能在断电的情况下,依靠UPS电源确保数据库容的完整性和安全性。

(4)数据库服务端应具备系统使用期间2小时备份一次数据库的功能。

(5)系统应用验证用户权限方可使用的功能保障。

1.6完整性需求当向数据库中插入、修改时,系统能够辨别输入的数据是否符合语义,不能的则不能修改成功。

1.7 处理需求能够存储教材的基本信息,并方便有效的进行相应的教材信息数据操作和管理,这主要包括:1)教材的出库与入库信息的录入,删除及修改2)教材信息的多关键字检索查询能够对教材的种类价格等进行相应的信息存储与管理,这其中包括:1)出库和入库信息的及时添加删除及更新2)学生和班级信息的管理3)出库和入库信息数量、价格的统计与查询能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,查询。

对查询,统计的结果能够列表显示1.8 设计和实现上的限制限于网络配置和C/S结构程序的网络编程实现问题,部分功能可能实现不完美,甚至是暂时无法实现。

1.9 用户界面能完全、直观的体现系统功能,用户能方便快捷的执行某种教材管理工作,能适应屏显分辨率的调整,友好、可操作性强。

1.10 数据流程图高校教材管理系统的系统功能流程图:高校教材管理系统的系统业务流程图:1.11数据字典数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。

是一种用户可以访问的记录数据库和应用程序源数据的目录。

数据字典最重要的作用是作为分析阶段的工具。

数据字典最重要的用途都是供人查询对不了解的条目的解释,在结构化分析中,数据字典的作用是给数据流图上每个成分加以定义和说明。

换句话说,数据流图上所有的成分的定义和解释的文字集合就是数据字典,而且在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户的通信。

数据库数据字典不仅是每个数据库的中心,而且对每个用户也是非常重要的信息。

用户可以用SQL语句访问数据库数据字典。

下面是本系统中的数据字典。

二、概念结构设计:概念结构设计就是对信息世界进行建模,常用的概念模型是ER模型,每一个实体型的ER图。

这里我们是对高校教材管理系统进行建模,我们把涉及到的实体型,教材和班级学生、教材的入库管理、出库管理、供应商、管理员及印刷社等。

用ER图表示出来。

概念结构设计的任务是在需求分析阶段产生的需求说明书的基础上,按照特定的方法把它们抽象为一个不依赖于任何具体机器的数据模型,即概念模型。

概念模型使设计者的注意力能够从复杂的实现细节中解脱出来,而只集中在最重要的信息的组织结构和处理模式上。

利用实体关系图来实现.它描述系统中的各个实体以及相关实体之间的关系,是系统特性和静态描述.数据字典也将是系统进一步开发的基础。

2.1 ER图下面是各实体的ER图:班级::订购管理:出库管理:学生:入库管理:供应商管理:高校教材管理系统实现各种管理工作,根据使用者学生与供应商、管理员管理、入库管理、出库的管理、印刷社、教材的关系,构化出本系统整体的ER图:2.2 CDM图三、逻辑结构设计数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本ER图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。

由于目前使用的数据库基本上都是关系数据库,因此首先需要将ER图转换为关系模型,然后根据具体DBMS的特点和限制转换为特定的DBMS支持下的数据模型,最后进行优化。

在本系统中我们选用的数据库环境是SQL srver2008。

3.1 对于实体型间的联系有以下不同情况(1)一个1:1联系可以转换成一个独立的关系模式,也可以与任意一段对应的关系模式合并。

(2)一个1:n联系可以转换成一个独立的关系模式,也可以与n端对应的关系模式合并。

(3)一个m:n联系可以转换成一个关系模式。

(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。

(5)具有相同码的关系模式可以合并。

3.2 将ER图转换成关系模式教材(教材编号,教材名称,类型编号,订书单位,名称,出版时间,作者,印,数量,字数,入库时间)班级(班级编号,班级名称,人数,班长,班长,班主任,班主任,学院系,学校,入学时间)学生(学号,,学院系,学校,班级)出库(教材编号,教材名称,数量,单价,班级编号,编号,出版时间,出库时间,负责人)入库(教材编号,教材名称,数量,单价,,入库时间,作者,负责人)管理员(管理员编号,管理员名字,性别,)供应商(供应商编号,供应商名称,供应商地址,,负责人)订购(订单编号,教材编号,教材名称,单价,数量)(编号,名称,,负责人,地址)。

(横线化的表示是主键)3.3 各实体的属性的关系类型表供应商表中的项、数据类型即相关作用:管理员表中的项、数据类型即相关作用:学生表中的项、数据类型即相关作用:四、物理结构设计:4.1 PDM图4.2 建立表根据CDM和PDM的信息及联系创建表,并将每一个表进行插入数据,程序如下,并附有表:create table 班级(班级编号 char(10) not null,班级名称 varchar(5) not null,人数 char(2) null,班长 char(10) null,班长 char(11) null,班主任 char(10) null,班主任 char(11) null,学院系 varchar(10) null,学校 varchar(10) null,入学时间 time null,constraint PK_班级 primary key (班级编号));insert into 班级 values('0001','计本','40','12052901','','6678','','信息学院','西财', 123000)insert into 班级 values('0002','计本','39','12042901','','6578','','信息学院','邮电', 130300)insert into 班级 values('0003','软件','40','12032901','','6778','','信息学院','西财', 112300)insert into 班级 values('0004','电子','40','12022901','','6458','','信息学院','邮电', 123010)insert into 班级 values('0005','网络','38','12012901','','6645','','信息学院','理工', 123022)insert into 班级 values('0006','软件','44','12062901','','6000','','信息学院','科技',133000)insert into 班级 values('0007','网络','40','12072901','','6666','','信息学院','科技', 123330)insert into 班级 values('0008','电子','33','12082901','','6888','','信息学院','理工',156000)select * from 班级;create table(编号 char(14) not null,名称 varchar(7) not null,char(11) null,负责人 varchar(4) null,地址 varchar(11) null,constraint PK_ primary key (编号));insert into values('1235','清华','','三','')insert into values('1223','','','四','')insert into values('1333','邮电','','王二','')insert into values('2345','麻省','','磊','美国')insert into values('7865','哈弗','','jion','美国')select * from ;create table 出库(教材编号 char(14) not null,班级编号 char(10) not null,教材名称 varchar(10) null,数量 numeric(10) null,单价 float(5) null,编号 char(14) null,出版时间 date null,出库时间 date null,负责人 varchar(4) null,constraint PK_出库 primary key clustered (教材编号, 班级编号));insert into 出库 values('0001','ISBN1205290101','数学',40,22.5,'0001','1235','王磊')insert into 出库 values('0002','ISBN1205290102','英语',44,26.5,'0002','1223','施磊')insert into 出库 values('0003','ISBN1205290103','语文',39,35.5,'0003','1233','郭靖')insert into 出库 values('0004','ISBN1205290104','物理',33,32.5,'0004','2345','玛丽')insert into 出库 values('0005','ISBN1205290105','c语言',38,28.5,'0005','7865','马克')select * from 出库;create table 订购(供应商编号 char(14) not null, 教材编号 char(14) not null,订单编号 char(14) null,教材名称 varchar(10) null,单价 float(5) null,数量 numeric(10) null,constraint PK_订购 primary key clustered (供应商编号, 教材编号));insert into 订购 values('01','ISBN1205290101','01234','数学',22.5,1000) insert into 订购 values('02','ISBN1205290102','01244','英语',32.5,2000) insert into 订购 values('03','ISBN1205290103','01254','语文',42.5,1500) insert into 订购 values('04','ISBN1205290104','01264','物理',52.5,1070) insert into 订购 values('05','ISBN1205290105','01274','c语言',27.5,1005)select * from 订购;create table 供应商(供应商编号 char(14) not null, 供应商名称 varchar(10) not null, 供应商地址 varchar(10) null,供应商 char(11) null,供应商负责人 char(4) null,constraint PK_供应商 primary key (供应商编号));insert into 供应商 values('01','西屋','','','jion')insert into 供应商 values('02','清华','','','sama')insert into 供应商 values('03','阿里','','','tom')insert into 供应商 values('04','科技','','','ato')insert into 供应商 values('05','书屋','','','mark')select * from 供应商;create table 管理员(管理员编号 char(14) not null, 管理员 varchar(5) not null,性别 char(2) null,char(11) null,constraint PK_管理员 primary key (管理员编号)insert into 管理员 values('0101','提提','男','')insert into 管理员 values('0102','蜜蜜','女','')insert into 管理员 values('0103','洋','女','')insert into 管理员 values('0104','安宇','男','')insert into 管理员 values('0105','欧阳','男','')select * from 管理员;create table 教材(教材编号 char(14) not null, 教材名称 varchar(10) not null, 类型编号 char(14) not null, 订书单位 varchar(10) null,名称 varchar(7) null,出版时间 date null,作者 varchar(4) null,印 int null,单价 float(5) null,数量 int null,入库时间 date null,字数 integer null,constraint PK_教材 primary key (教材编号));insert into 教材values('ISBN1205290101','数学','200','西财','清华','邵超',300,23.5,1000,1000000)insert into 教材values('ISBN1205290102','英语','300','邮电','','斌',400,33.5,2000,2000000)insert into 教材values('ISBN1205290103','语文','400','科技','邮电','荣',334,43.5,1500,1700000)insert into 教材values('ISBN1205290104','物理','500','理工','麻省','万',456,53.5,1070,2200000)insert into 教材values('ISBN1205290105','c语言','600','哈弗','哈弗','丽',675,26.5,1005,4300000)select * from 教材;create table 入库(管理员编号 char(14) not null,教材编号 char(14) not null,教材名称 varchar(10) null,varchar(10) null,数量 numeric(10) null,入库时间 date null,单价 float(5) null,作者 varchar(4) null,负责人 varchar(4) null,constraint PK_入库 primary key clustered (管理员编号, 教材编号));insert into 入库 values('0101','ISBN1205290101','数学','清华',1000,23.5,'邵超','凯')insert into 入库 values('0102','ISBN1205290102','英语','',2000,33.5,'斌','王辉')insert into 入库 values('0103','ISBN1205290103','语文','',1500,43.5,'荣','凯') insert into 入库 values('0104','ISBN1205290104','物理','麻省',1070,53.5,'万','军')insert into 入库 values('0105','ISBN1205290105','c语言','哈佛',1005,27.5,'丽','王五')select * from 入库;create table 学生(学号 char(10) not null,班级编号 char(10) null,varchar(4) not null, 学校 varchar(10) null,院系 varchar(10) null,书费 char(6) null,constraint PK_学生 primary key (学号));insert into 学生 values('12051','0001','丽','西财','信息学院',6000)insert into 学生 values('12052','0002','宇','理工','信息学院',7000)insert into 学生 values('12053','0005','宇','邮电','信息学院',8000)insert into 学生 values('12054','0003','马云','麻省','信息学院',9000)insert into 学生 values('12055','0004','周语','哈佛','信息学院',10000)select * from 学生;create table 印刷(编号 char(14) not null,教材编号 char(14) not null,constraint PK_印刷 primary key clustered (编号, 教材编号));insert into 印刷 values('1223','ISBN1205290101')insert into 印刷 values('1235','ISBN1205290102')insert into 印刷 values('1333','ISBN1205290103')insert into 印刷 values('2345','ISBN1205290104')insert into 印刷 values('7865','ISBN1205290105')select * from 印刷;4.3查询查询出库和入库中的教材数量,编程语句如下:select 教材.教材编号,教材.教材名称,出库.数量,入库.数量from 出库,入库,教材where 教材.教材编号 = 出库.教材编号 and 教材.教材编号=入库.教材编号4.4 删除删除入库中的一条信息,编程语句如下:delete from 入库 where 教材编号 = 'ISBN1205290105'4.5 数据库触发器的实现触发器是SQL Server 提供的除约束之外的另一种保证数据完整性的方法,它可以实现约束所不能实现的更复杂的完整性要求。

相关主题