版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.wd.wd.wd.数据库原理课程设计 某书店图书进货、销售管理系统学校:广西大学 学院:计算机与电子信息学院 班级:网络131班 组长:何鑫1307300313 组员:方焕1307300304 指导教师:叶进目录一需求分析.21.1编写目的.21.2 背景.21.3 可行性分析.31.4 系统总体的功能需求.3二概念构造设计.32.1 概念构造设计步骤.42.2 局部E-R图.42.3 整体E-R图.8 2.4 物理构造设计.9三数据库的实施和维护.113.1 建设数据库.11 3.2 根据构造设计建表.12 3.3 载入数据.15 3.4 创立存储过程.16 3.5 查询与统计功能.18
2、3.6 触发器脚本.18 3.7 视图脚本.19 3.8 约束.20四测试.21五总结.23数据库开发与设计一.需求分析1.1编写目的在科学飞速开展的今天,人们的视野越来越广,数据量急剧增加。过去人们把数据存放在文件柜内,现在人们借助计算机和数据库技术科学的保管和管理大量的复杂数据,以便方便而充分的利用这些珍贵的信息资源。本系统的设计目的就是为中小型书店提供一套运行稳定、安全可靠、操作方便的管理系统。帮助书店销售业务处理日常工作业务,标准管理各项工作和操作流程。从 基本上改变以前那种旧的管理模式,真正提高管理和服务水平。1.2背景随着社会信息量的迅速增长,计算机处理的数据量不断增加,在我国,管
3、理信息系统是计算机应用最广泛的领域之一。随着我国经济建设突飞猛进,管理科学化与管理手段的现代化已经提到非常重要的地位,企、事业单位为了提高自身的管理水平和竞争能力,纷纷投入人力物力,开发适合本单位需求的管理信息系统。中国的信息化沿着企业信息化和政府信息化这两根链条正在飞速的开展,在全国的各级教育单位中,都在进展管理方式的改革,由以前的人工管理方式在向现在的人工加计算机技术的过渡中,在现在的这种模式中可以很大的提高工作人员的工作效率,提高了正确性。在传统模式下利用人工进展图书销售信息管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些
4、情况,令书店管理者对图书的信息管理带来了很大困难,严重影响了书店的经营效率。随着科学技术的不断提高,计算机科学日渐成熟, 使用先进的计算机技术来代替传统的人工模式,来实现信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一局部,使用计算机对图书销售信息进展管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。这些优点能够极大地提高图书销售信息管理的效率,也是书店的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必
5、要的事情。1.3 可行性分析可行性分析的任务是明确开发应用工程的必要性和可行性。必要性来自实现开发任务的迫切性,而可行性那么取决于实现应用系统的资源和条件。但如果领导或管理人员对信息系统的需求很不迫切,或者条件尚不具备,就是不可行。下面从系统的经济可行性、管理可行性、技术可行性等对本系统开发进展可行性分析,看可行与否。经济上的可行性 HYPERLINK :/ 科学技术的 HYPERLINK :/ 开展和人们生活水平的不断提高, HYPERLINK :/ 计算机的价格越来越能被很多人所承受,不管是在 HYPERLINK :/ 企业还是家庭,计算机的使用已经成为普遍现象,所以从用户 HYPERLI
6、NK :/ 经济方面考虑,本系统的开发不会有很大的困难和风险,且系统本身成本较低,不需要很多的开发费用和以后的维护费用。管理上的可行性该书店图书销售管理系统是鉴于目前书店图书信息的剧增,读者市场对图书的呈爆炸性增长的前提下,书店对图书销售管理的自动化与准确化的要求日益强烈的背景下构思出来的,操作简单、方便,便于管理,并且书店有关管理者均同意该系统的开发、使用,相应的管理制度改革的时机也已成熟,规章制度齐全,提供的原始数据也很准确,所以,从管理上来说,是可行的。14系统总体的功能需求某书店需要一套信息管理系统辅助完成图书销售业务,该图书销售系统业务主要实现:图书类别、出版社、图书、仓库信息的管理
7、; 实现进货、入库管理; 实现销售、出库管理; 创立存储过程查询某段时间内各种图书的进货和销售情况;创立视图查询各类图书的库存总数; 创立触发器当图书入库时自动修改相应图书的总量和存放仓库中该图书 的数量; 要求一单可以处理多种图书比方销售设置销售单及其明细两个表; 建设数据库相关表之间的参照完整性约束。 二.概念构造设计一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。将E-R模型转换为关系模型转换原那么:一个1:1联系可以转换为一个独立的关系,也可以与任意一段对应的关系模式合并。如果转化为一个独立的关系模式,那么与该联系相连的各个实体的码以及联系本身的属性均转换
8、为关系的属性,每个实体的码均是该关系的候选码。如果与某一个实体对应的关系合并,那么需要在该关系模式的属性中参加另一个关系的主码和联系本身的属性。一个m:n的联系可以转化为一个单独的关系模式,这个单独的关系模式的主码是两端实体的码,再加上联系的属性。一个1:n联系可以转化为一个独立的关系模式,也可以与n端的关系模式合并作如果与n端的关系模式合并,在n端的关系模式中加上另一端关系的码和联系属性。2.1概念构造设计步骤第一步是进展局部视图的设计:由于高层的数据流图只能反映系统的概貌,而中层流图能较好的反映系统中各局部应用的子系统组成。因此我们们先逐一的设计分E-R图。第二步是进展视图的集成:各子系统
9、的E-R图设计好之后,下一步就是要将所有的分E-R图合成一个系统的总E-R图,得到全局概念模型。2.2 局部E-R图1.图书销售系统E-R图出版社进货 书店处理 库内图书2.书店-库内图书“处理联系细化E-R图 书店 书店 书店销售退书处理库内图书库内图书 库内图书3. 库内图书实体属性图图书ISBN码 库内图书作者出版社图书信息图书名图书种类库存量4. 供应商实体属性图 出版社 出版社地址出版社名称联系人5. 供应图书报价-书店-供应商“进货联系的属性图图书ISBN编码进货数量进货日期进货价格进货编号 出版社 书店 进货6. 书店-库内图书 “销售联系的属性图销售数量销售时间图书ISBN编码
10、销售价格销售编号 库内图书销售 书店7. 书店-库内图书 “退书联系的属性图退书时间退书数量退书信息图书ISBN编码退书编号 库内图书 书店退书 账户 姓名 密码 管理员8.“管理员属性图2.3 整体E-R图2.4 物理构造设计出版社信息表字段名数据类型字段大小是否允许空备注出版社char20N主键出版社地址char20N Char12N联系人Char10N库内图书信息表字段名数据类型字段大小是否允许空备注图书ISBN编码intN主键图书种类Char10N图书名Char20N出版社Char20N外键库内图书量intY作者Char20N图书信息char200Y 销售信息表字段名数据类型字段大小是
11、否允许空备注销售编号intN主键图书ISBN编码intY外键销售时间datatimeN销售数量intN销售价格moneyN 进货信息表字段名数据类型字段大小是否允许空备注进货编号intN主键出版社intY外键图书ISBN编码intN外键进货日期datatimeN进货价格moneyN进货数量intN退书信息表字段名数据类型字段大小是否允许空备注退书编号Char20N主键图书ISBN编码Char14N外键退书时间DataN退书数量MoneyN退书信息IntegerN管理员信息表字段名数据类型字段大小是否允许空备注姓名Char20N编号Char10N主键密码char10N三数据库的实施和维护3.1
12、建设数据库根据以下代码建设数据库:CREATE DATABASE 书店进货销售管理系统ONNAME = order_dat, FILENAME = F:mssqldata orderdat.mdf, SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5)LOG ON NAME = order_log, FILENAME = F: mssql log orderlog.ldf, SIZE = 10MB, MAXSIZE =30MB, FILEGROWTH = 5MB)3.2 根据构造设计建表CREATETABLE出版社信息表(出版社char(20)primarykey,
13、出版社地址char(20),char(20),联系人char(20)CREATETABLE图书类别表(类别号char(20)primarykey,类别char(20),类别信息char(20),备注char(20)CREATETABLE图书信息表(图书号char(20)primarykey,图书名char(20),出版社char(20)CONSTRAINTFK_1foreignkeyreferences出版社信息表(出版社),类别号char(20)CONSTRAINTFK_2foreignkeyreferences图书类别表(类别号),作者char(20),备注char(20)CREATETA
14、BLE进货订单(进货单号char(20)primarykey,进货者char(20),备注char(20)CREATETABLE销售订单(销售单号char(20)primarykey,购置者char(20),备注char(20)CREATETABLE进货详情表(进货项号char(20)primarykey,进货单号char(20)CONSTRAINTFK_3foreignkeyreferences进货订单(进货单号),图书号char(20)CONSTRAINTFK_4foreignkeyreferences图书信息表(图书号),图书数量char(20),进货日期date,进货价格char(20
15、),备注char(20)CREATETABLE销售详情表(销售项号char(20)primarykey,销售单号char(20)CONSTRAINTFK_5foreignkeyreferences销售订单(销售单号),图书号char(20)CONSTRAINTFK_6foreignkeyreferences图书信息表(图书号),图书数量char(20),销售日期date,销售价格char(20),备注char(20)CREATETABLE库存信息表(图书号char(20)CONSTRAINTFK_7foreignkeyreferences图书信息表(图书号),图书数量char(20),入库信息
16、char(20),出库信息char(20),备注char(20),)3.3 载入数据(1)图书类型出版社图书信息表仓库进货、入库销售、出库7图书类别视图3.4 创立存储过程(1)某段时间内进货查询CREATEprocedurebuysearch起始时间date,完毕时间dateasbeginSELECT*from进货详情表where进货日期=起始时间and进货日期=起始时间and销售日期=终止时间end;3.5查询与统计功能-每月的销售总额和销售总量Create Proc QueryBookdate CHAR(10)As Select Sum(SellNum) as TotalNuns,Sum
17、(Sprice) as TotalSales From SellOut Where DateDiff(mm,date,SDate)=0-每月销售的排行榜Create Proc BookBackdate smalldatetimeAs Select top 10 b.Bname,s.SellNum From Book b inner join SellOut s on b.BookID=s.BookID-按月查卖了多少本书Create Proc QueryMonth date smalldatetimeAs Begin Select b.Bname,Sum(b.Bnum) From Book a
18、s b inner join SellOut as s on b.BookID=s.BookID Where Datediff(mm,date,s.SDate)=0 Group by b.Bname End3.6触发器脚本-使用触发器,实现新书在书库中的插入工作和图书数量修改CreateTrigger进货On进货详情表FORInsertAsdeclarenintSelectn=图书号frominserteddeclarenumintSelectnum=图书数量FrominsertedUpdate库存信息表set图书数量=图书数量+numWhere图书号=nCreateTrigger销售On销售
19、详情表FORInsertAsdeclarenintSelectn=图书号frominserteddeclarenumintSelectnum=图书数量FrominsertedUpdate库存信息表set图书数量=图书数量-numWhere图书号=n3.7视图脚本Create View SBookAsSelect Publisher,BookID, Bname,20-Bnum as Num From Book where Bnum5 -小于本时就定本书 Group by Publisher, BookID, Bname, 20-BnumCreate Proc SelectBookAsBegin
20、Select* From SBook Insert Into BuyIn Select v.BookID,GetDate(),v.Price,v.Num From SBook as vEnd-建设查询供应商信息的视图create view Provider_viewasselect ProviderID,Paddress,Pphone,Pcontacter,Pnamefrom Provider-建设查询书籍信息视图create view Book_viewasselect BookID,ProviderID,Bkind,Bname,Bpublish,Bnumfrom Book四测试4.1 测试
21、的目的1、软件测试是为了发现缺陷而执行的过程。2、测试是为了证明程序中的错误,而不是证明程序中无错误。3、一个好的测试用例指的是它可能发现至今尚未被发现的缺陷。4、一次成功的测试指的是发现了新的软件缺陷的测试。这种观点主要目的:测试要以查找缺陷为中心,而不是为了演示软件能够正确运行。但是发现缺陷并不是软件测试的唯一目的。通过分析缺陷产生的原因和缺陷的分布特征,可以帮助程序员发现软件开发过程的缺乏,以便及时改进。工程名称:某书店图书进货、销售管理系统1程序运行环境已经正确设定。 是程序代码检查:1程序单位首部有程序说明和修改备注。 是2变量、过程、函数命令符合规那么。 是3程序中有足够的说明信息。 是4修改注释
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程项目承揽建设股权合作协议(居间协议)
- 工程图纸基础(名词、符号、代号大全)
- 2.1.2大气运动(热力环流)课件高中地理鲁教版(2019)必修一
- 13书面表达分类精练-2022-2023学年八年级英语下学期期末复习培优拔高(牛津译林版)(原卷版)
- 2024年黄冈客车上岗证模拟考试
- 2024年唐山客运从业资格证考试模拟考试
- 2024年标准版续租租房合同范本
- 2024年郑州客运从业资格证模拟考试题库下载
- 2024年南充客运资格证考试内客
- 2024年民间融资居间合同样本
- 附表 电力服务(涉电维护、检测等)收费项目及标准
- 《矿山机械设备》复习题
- 焊接工艺设计方案
- 中国古代楼阁PPT课件
- 二手车旧机动车评估图文实例及交易注意事项珍贵教材PPT课件
- 公司“师带徒”实施方案
- 管02酸洗、钝化记录
- 《内科护理学》病例分析(完整版)
- 低压有源滤波柜订货技术文件
- 全国中学生物理竞赛纯电阻电路的简化和等效变换
- 5GQoS管理机制介绍
评论
0/150
提交评论