《数据库系统原理》课程设计-教材管理系统设计.doc_第1页
《数据库系统原理》课程设计-教材管理系统设计.doc_第2页
《数据库系统原理》课程设计-教材管理系统设计.doc_第3页
《数据库系统原理》课程设计-教材管理系统设计.doc_第4页
《数据库系统原理》课程设计-教材管理系统设计.doc_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库系统原理课程设计 2011年12月 10 日目录教材管理系统分析与设计1摘要2第1章可行性研究31.1 系统开发背景31.2 系统开发的意义31.3 系统的开发目标和规模31.4 经济可行性分析41.5 操作可行性分析41.6 系统设计的要求41.7系统实现功能描述4第2章需求分析与设计62.1系统设计的任务62.2 教材管理系统的流程62.3 教材系统的数据流图72.4 数据字典12第3章 总体设计173.1 软件设计流程图173.2 软件功能模块图18第4章 系统详细设计194.1系统功能概述194.2 系统界面21第5章 系统测试与运行305.1 登录界面的测试305.2 教材入库界面测试305.3 教材出库界面测试305.4 班级信息录入界面的测试305.5 查询界面的测试315.6信息统计与分析31第6章系统使用说明书326.1使用说明:326.2操作说明:32第7章小结34参考文献35教材管理系统设计1、系统概述开发该教材管理系统是为了更好地管理学校的各类教材,便于教材管理人员订书、领书、查询教材资料及其书款情况。使教材信息管理工作系统化、规范化、自动化,从而达到提高教材管理效率的目的。教材管理系统主要提供学生以班级为单位能从学校教材管理中心完成每学期领到所订教材的功能,其中包括班级信息、教材管理员信息、财务室信息、教师信息、教材信息、出版社信息。此系统可以让教师增加、删除和修改某一学期所定的教材信息,教材管理员可以依据教师提供的应订教材要求和出版社联系订书,还可以让出版社增加、删除和修改预定教材的信息。如果信息无误,财务室根据学生交的教材费给教材管理员拨款,订书成功后,开学初可以将所定教材成功发放给学生所在班级。系统实现功能描述本系统应该实现的功能如下:1、系统管理模块:首先是对本系统的操作用户设置权限以及用户基本信息的添加、修改、删除其次是设置有系统初始化,能够在系统出现问题或者有大量错误、冗余数据时进行初始化设置,使系统恢复期初始状态;2、书费管理局模块:财务科根据学生订书情况和教材费用收缴学生订书费用,并记录相应的数据;3、教材出入库模块:教材科根据学生订书数量和教材基本信息想学生发放教材的出库管理和向书商下达供书订单并打印教材报表,便于用户直接查看;4、综合查询模块:根据用户的类型和需求查询教材的库存信息,班级信息以及费用收缴信息;5、统计分析模块:录入班级信息闭和教师单位信息并设置打印报表功能供用户查看然后操作员根据订书情况统计分析学生买书的人数比例和学生不购买教材的原因分析,一次给校方提供相应的数据,便于改进学校的教材管理措施,满足学生对教材的需求;6、 帮助模块:介绍本系统的相关信息和操作指南。1、2、2、需求分析教材管理是教学管理中的组成部分,一般学校的教材管理模式是在学年制基础上以班级为单位进行处理的。院校的教材管理随着学生规模的日益增大、教材日益多样化、学生个人之间教材差异越来越大的现实面前已呈现出无法应对的局面。因此,建立一套与选课相配套的教材管理模式和管理系统具有十分重要的意义和实际应用的迫切性,而且现有的条件、管理理念和技术水平已使之成为可能。(1)班级信息班级交费财务管理员修改信息删除信息登记信息领书班级信息操作流程图1. 教材管理员信息教材管理员管理教材删除信息修改信息登记信息发书 教材管理员信息操作流程图2. 财务管理员信息财务管理员拨款教材管理员登记信息删除信息修改信息购买教材 财务管理员信息操作流程图3. 教师信息教师选定教材修改人数删除人数统计人数预订教材 教师信息操作流程图4. 教材信息教材分类班级删除领取信息修改领取信息登记领取信息被领取 教材信息操作流程图整理信息联系购买商被订购分类出版教材出版社5. 出版社信息 出版社信息操作流程图三、概念模型设计从课程设计选题中可以得知,我们设计的教材管理系统数据库需具备以下功能:(1)可随时查询教材库中订购的教材的种类、数量、订购班级。(2)可随时查询班级某一学期订购教材的情况。包括订购班级、教材号、教材名称、教材数量、书费等。(3)当需要时,可通过数据库中保存的出版社电话、邮编及地址等信息向有关书籍的出版社增购有关教材。(4)查询某种教材被哪些班级订购过(显示班级号、班级名称、班级人数、领书状态)。(5)查询出版某书籍的出版社的出版社名、电话、地址(6)查询各种图书借阅次数(显示书名,书号,借阅次数)。(7)查询图书所属出版社的相关信息(显示书名,书号,出版社名,电话,邮编,地址)(8)查询书库中某种类书籍的书名、书号(9)查询借阅了多种图书的读者的姓名、借书证号(10)查询某书架上放置的图书的书名、书号、数量(11)查询作者投稿的出版社的出版社名、出版社电话、地址(12)查询读者投稿时间、出版社名在普通教材的管理应用中,一般的流程有以下几个:1、管理员可以对用户进行管理,如添加用户,分配用户的角色,如“普通用户” 、“用户管理员” ;删除用户信息;修改用户信息。2、每个班级将需要订购的教材费用交由财务科科,财务科再通知教材科,根据上报的教材数量找到供应商订购教材,并详细记录教材信息。3、每个班级按照缴费情况,到教材科领书,并记录领取信息。并且教材管理处根据教库存信息决定是否订购书。4、校方高层管理人员可在学校教材发放完毕后根据教材科和财务科所提供的学生购书人数比例。5、当系统出现异常、人为故障时,或者在使用过程中出现了大量的冗余、错误数据时,可通过系统初始化设置使系统恢复初始状态。其系统流程图如下图所示:各院、系领取教材单领教材通知教材管理处定货单入库单出版社财务科收缴书费通知发书库存报表学校班级信息报表统计分析表2.3 教材系统的数据流图数据流程图 2.3.3 E-R图班号专业管理员号n姓名交费1所属院系班级财务管理员员1学校名称性别人数预收费用拨款n应付费用n管理员号n姓名管理使用教材管理员ISBN mm性别教材名n作者教材所属类别预定11价格专业选定m来源nn教师编号出版社教师姓名出版社名商标号所在省市性别所选教材所教课程2.4 数据字典2.4.1把各数据项的描述信息按下表格式组成数据字典班级表的结构字段名数据类型说明班级名文本(索引)主键,字段大小为20入学时间日期/时间所在院系文本字段大小为20班长文本字段大小为8班长联系电话文本字段大小为20班主任文本预算科目代码,字段大小为8班主任联系电话文本预算科目代码,字段大小为20操作员文本业务金额,字段大小为8最后修改时间日期/时间书费货币所学专业文本字段大小为20班级总人数数字整型买书人数数字整型单位信息表的结构字段名数据类型说明单位名文本(索引)主键,字段大小为20负责人文本字段大小为8联系电话文本字段大小为50书费货币操作员文本字段大小为8最后修改时间日期时间学生书费历史表的结构字段名数据类型说明班级名文本字段大小为20上期费用货币本次费用货币本期费用货币经办人文本字段大小为8上期数量数字整型本次数量数字整型操作员文本字段大小为8最后修改时间日期时间说明文本字段大小为50班级人数数字整型id自动编号主键,长整型 递增教材表的结构字段名数据类型说明教材名文本字段大小为50出版社文本字段大小为50作者文本字段大小为8获奖情况文本字段大小为50出版年月日期时间订书单位文本字段大小为50经办人文本字段大小为8教材数量数字整型教材单价货币使用说明文本字段大小为50入库时间日期时间说明文本字段大小为50操作员文本字段大小为8最后修改时间日期时间Id自动编号主键,长整型 递增教材出入库历史表的结构字段名数据类型说明教材名文本字段大小为50出版社文本字段大小为50获奖情况文本字段大小为50出版年月日期时间经办单位文本字段大小为50经办人文本字段大小为8上期数量数字整型本次数量数字整型本期数量数字整型教材单价货币使用说明文本字段大小为50入库时间日期时间说明文本字段大小为50操作员文本字段大小为8最后修改时间日期时间id自动编号主键,长整型 递增操作用户表的结构字段名数据类型说明用户名文本主键,字段大小为8密码文本字段大小为8所在单位文本字段大小为50权限一是/否管理权权限二是/否收费权权限三是/否出入库权权限四是/否查询权操作员文本字段大小为8最后修改时间日期/时间不购书原因记录字段名数据类型说明班级名文本主键所在专业文本字段大小为50太贵数字整型与专业不符数字整型没必要数字整型其他数字整型2.4.2数据库关联图第3章 总体设计3.1 软件设计流程图3.2 软件功能模块图图3.2.1 软件功能模块图对象如下:3、(1)班级班级领书过程图(2)教材管理员教材管理员的工作流程图(3)财务室(4)教师(5)教材(6)出版社处理要求及功能(1)能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括: 图书信息的录入、删除及修改。 图书信息的多关键字检索查询。 图书的出借和返还。(2)能够对一定数量的读者进行相应的信息存储与管理,这其中包括: 读者信息的录入、删除及修改。 读者资料的统计与查询。(3)能够对一定数量的出版社进行相应的信息存储与管理,这其中包括: 出版社信息的录入、删除及修改。 出版社资料的统计与查询。(4)能够对一定数量的书架进行相应的信息存储与管理,这其中包括: 书架信息的录入、删除及修改。 书架资料的统计与查询。(5)能够对一定数量的作者进行相应的信息存储与管理,这其中包括: 作者信息的录入、删除及修改。 作者资料的统计与查询。(6)对查询、统计的结果能够列表显示。4、 概念模型设计根据数据对象各实体的属性先设计出局部E-R图,然后设计出出总体E-R图,最后解决各局部E-R图间的冲突问题。5、数据库需要表达的信息有以下几种:设计分步E-R图如下:(1)班级信息(2)教材管理员信息(3)财务室信息(4)教师信息(5)教材信息(6)出版社信息数据字典(略)设计总E-R图如下:4、逻辑设计6、通过E/R模型到关系模型的转化,可以得到如下关系模式:(1)Class(ID,College,Depart,Major,Members,Costs)(2)TestbookManager(ID,Name,Sex)(3)FinanceManger(ID,Name,Sex,Incomes)(4)Teacher(ID,TName,Sex,Classname, Testbook)(5)Testbook(ISBN,Bookname,Autuer,Type,Price,Major)(6)Publisher(ID,Pubname,Address)5、物理设计为了提高在表中搜索元组的速度,在实现时应该基于码建立索引。建立索引的表项如下:(1)Part(ID)(2)Provider(ID)(3)Customer(ID)(4)Supply(PartID, ProviderID)(5)OfferToBuy(CustomerID, PartID)(6)Business(CustomerID, ProviderID, PartID)6、用SQL实现(1)建立Part表(1)CREATE TABLE Part( ID smallint IDENTITY(1,1) PRIMARY KEY CLUSTERED, Color varchar(20), Name varchar(20) NOT NULL, Weight int DEFAULT 0, Intro text);(2)建立Provider表CREATE TABLE Provider( ID smallint IDENTITY(1,1) PRIMARY KEY CLUSTERED, Name varchar(20)NOT NULL, password varchar(8) NOT NULL, Address varchar(30), Tel varchar(20), Intro text);(3)建立Customer表CREATE TABLE Customer( ID smallint IDENTITY(1,1) PRIMARY KEY CLUSTERED, Name varchar(20)NOT NULL, Address varchar(30), Tel varchar(20),);(4)建立Supply表CREATE TABLE Supply( PartID smallint, ProviderID smallint, Price int, Quantity int, CONSTRAINT PK_SUPPLY PRIMARY KEY CLUSTERED(PartID, ProviderID), CONSTRAINT PK_SUPPLY_PARTID FOREIGN KEY(PartID) REFERENCES Part(ID), CONSTRAINT PK_SUPPLY_PROVIDERID FOREIGN KEY(ProviderID) REFERENCES Provider(ID);(5)建立OfferToBuy表CREATE TABLE OfferToBuy( CustomerID smallint, PartID smallint, Price int, Quantity int, CONSTRAINT PK_OFFERTOBUY PRIMARY KEY CLUSTERED(PartID, ProviderID), CONSTRAINT PK_OFFERTOBUY_CUSTOMERID FOREIGN KEY(CustomerID) REFERENCES Part(ID), CONSTRAINT PK_OFFERTOBUY_PARTID FOREIGN KEY(PartID) REFERENCES Part(ID);(6)建立Business表CREATE TABLE Business( CustomerID smallint, ProviderID smallint, PartID smallint, Price int, Quantity int, CONSTRAINT PK_BUSINESS PRIMARY KEY CLUSTERED(PartID, ProviderID,CustomerID), CONSTRAINT PK_BUSINESS_PROVIDERID FOREIGN KEY(ProviderID) REFERENCES Provider(ID), CONSTRAINT PK_BUSINESS_CUSTOMERID FOREIGN KEY(CustomerID) REFERENCES Customer(ID) CONSTRAINT PK_BUSINESS_PARTID FOREIGN KEY(PartID) REFERENCES Part(ID);(7)供应商操作1)注册 INSERT INTO Provider(Name,Address,Tel,Intro) VALUES(#Name, #Address, #Tel, #Intro);2)注销 DELETE Provider WHERE(ID=#ID);3)修改个人信息 UPDATE Provider SET(Name=#Name, Address=#Address, Tel=#Tel, Intro=#Intro) WHERE(ID=#ID);4)增加供应项 INSERT INTO Supply(PartID,ProviderID,Price,Quantity) VALUES(#PartID, #ProviderID, #Price, #Quantity);5)删除供应项 DELETE Supply WHERE(PartID=#PartID AND ProviderID=#ProviderID);6)修改供应项 UPDATE Supply SET(Price=#Price, Quantity=#Quantity) WHERE(PartID=#PartID AND ProviderID=#ProviderID);注意:系统没有提供面向供应商修改零件信息的接口,所以供应商提供的零件必须已经在零件表中存在;可以这样假设,交易所的管理员负责更新零件信息,而供应商可以向交易所申请增加某种零件的信息。事实上,顾客也可以提出这样的要求。(8)顾客操作1)注册 INSERT INTO Customer(Name,Address,Tel) VALUES(#Name, #Address, #Tel);2)注销 DELETE Customer WHERE(ID=#ID);3)修改个人信息 UPDATE Customer SET(Name=#Name, Address=#Address, Tel=#Tel) WHERE(ID=#ID);4)增加需求项 INSERT INTO OfferToBuy(PartID,CustomerID,Price,Quantity) VALUES(#PartID, #CustomerID, #Price, #Quantity);5)删除需求项 DELETE OfferToBuy WHERE(PartID=#PartID AND CustomerID=#CustomerID);6)修改需求项 UPDATE OfferToBuy SET(Price=#Price, Quantity=#Quantity) WHERE(PartID=#PartID AND CustomerID=#CustomerID );(9)交易员操作针对需求分析中提出的问题,我们提出了“协议书”的解决方案,方案说明如下:1)每个交易在达成以前都作为协议书保存在数据库中,协议书具有和交易一样的完备信息,可以在条件成熟的情况下转为一个达成的交易;2)协议书只有在供应商和顾客都签字的情况下才有效;有效的协议书由交易员签发,协议书一经签发,就生效,表明一个交易的达成,数据库中的数据将同时予以修改;3)协议书可由供应商、顾客或交易员中的任意一个人提出申请。当协议书在双方都没有签字前,协议的双方或者交易员都可以删除这个协议书;但是当协议书签字完毕后,协议书就不可删除或修改,只能由交易员进行处理;4)协议书有可能在转成交易的过程中失败,因为在交易达成之前,数据库中的数据有可能因为其他交易而变化,一个协议书可能失效,这是允许的。根据以上对业务的分析,对数据库的模型作一些修改,增加协议书表,可建立其关系模式。交易关系模式及对应的SQL描述:Agreement(CustomerID,ProviderID,PartID,Price,Quantity, CustomerSign,ProviderSign)CREATE TABLE Agreement( CustomerID smallint, ProviderID smallint, PartID smallint, Price int, Quantity int, CustomerSign int, ProviderSign int, CONSTRAINT PK_AGREEMENT PRIMARY KEY CLUSTERED(CustomerID,ProviderID,PartID) CONSTRAINT PK_AGREEMENT_CUSTOMERID FOREIGN KEY(CustomerID) REFERENCED Customer(ID), CONSTRAINT PK_AGREEMENT_PROVIDERID FOREIGN KEY(ProviderID) REFERENCED Provider(ID), CONSTRAINT PK_AGREEMENT_PARTID FOREIGN KEY(PartID) REFERENCED Part(ID); 对交易的操作与其他操作相比,对数据的完整性要求比较高,其中需要注意:1)要防止同一用户(供应商、顾客)的数据因两个交易而同时修改;2)需要同时对供应数据库、需求数据库、交易数据库、协议数据库作出修改,而且需要保持这些修改的原子性。很显然,这些要求正是一个事务的要求,我们可以用一个事务来完成签发一个协议的操作。可以用CREATE PROC来建立一个签发协议事务。CREATE PROC PASS_AGREEMENT provideID int, customerID int, partID int,AS DECLARE TransName varchar(20) SELECT TransName=Pass_Agreement BEGIN TRANSACTION TransName DECLARE price int, quantity int SELECT price=price, quantity FROM Agreement WHERE providerID=providerID AND customerID=customerID AND partID=partID INSERT INTO Businees(ProviderID, CustomerID,PartID, Price, Quantity) VALUES ( providerID, customerID, partID, price, quantity )UPDATE Supply SET quantity=quantity-quantity WHERE ProviderID=providerID AND partID=partID IF( SELECT quantity FROM Supply WHERE ProviderID=providerID AND PartID=partID )0 ROLLBACK TRANSACTION TransNameDELETE FROM SupplyWHERE quantity=0UPDATE OfferToBuy SET quantity=quantity-quantity WHERE CustomerID=CustomerID AND partID=partID IF ( SELECT quantity FROM OfferToBuy WHERE CustomerID=customerID

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论