《店管理系统设计报告.doc》由会员分享,可在线阅读,更多相关《店管理系统设计报告.doc(45页珍藏版)》请在三一办公上搜索。
1、数据库系统原理课程设计报告摘 要随着办公自动化的日益发展,越来越多的企事业单位都实现了无纸化办公。作为一个现代化的书店,需要一个拥有自动化,全方位的办公系统,方便处理日益复杂化的管理经营项目。书店管理系统就是能满足书店日常经营及后台统计电算化的系统。具有方便,人性化的系统可以帮助营业员和管理人员处理一般的管理项目。并且各项权限分明。使书店能够满足快速发展的现代化会的需要,书店管理系统对书店图书日常销售中的手工操作繁琐、易出错的问题进行研究,利用计算机管理繁琐的日常图书销售管理工作,避免手工操作过程中繁琐且易出错的现象,提高工作的质量和效率。 本报告根据书店的管理过程中所要遇到的各类情况,在系统
2、中都做了详细而又正确的处理结果,本系统不仅对书店管理进行了统计和查询,而且对书店的日常管理、信息检索等进行了分析,解决了用手工方法带来的困难,和数据出错的概率。 关键字:书店、销售管理、图书管理目 录1引言12. 需求分析阶段22.1 引言22.2 需求分析阶段的目标与任务22.2.1处理对象22.3 需求分析阶段成果33 概念设计阶段93.1 引言93.2 任务与目标93.3 阶段结果104逻辑设计阶段124.1逻辑设计的任务和目标124.2数据组织124.2.1将E-R图转换为关系模型134.2.2模型优化134.2.3数据库模式定义134.2.4 用户子模式定义164.3数据处理195物
3、理设计阶段195.1物理设计阶段的目标与任务195.2数据存储方面195.3系统功能模块206数据库实施阶段226.1建立数据库、数据表、视图、索引226.1.1 建立数据库226.1.2 建立数据表226.2数据入库296.3创建各个功能的存储过程297系统调试和测试298实习心得299存在的问题及建议30致谢30参考文献30附录1 存储过程定义30附录2 数据查看和存储过程功能的验证34附录3 所有的SQL运行语句40II数据库系统原理课程设计报告1引言信息在社会和经济的发展中所起的作用越来越为人们所重视。信息资源的开发利用水平成为衡量一个国家综合国力的重要标志之一。计算机作为信息处理的工
4、具,为适应数据处理需求的迅速发展。随着办公自动化的日益发展,越来越多的企事业单位都实现了无纸化办公。作为一个现代化的书店,需要一个拥有自动化,全方位的办公系统,方便处理日益复杂化的管理经营项目。书店管理系统就是能满足书店日常经营及后台统计电算化的系统。具有方便,人性化的系统可以帮助营业员和管理人员处理一般的管理项目。并且各项权限分明。使书店能够满足快速发展的现代化会的需要,书店管理系统对书店图书日常销售中的手工操作繁琐、易出错的问题进行研究,利用计算机管理繁琐的日常图书销售管理工作,避免手工操作过程中繁琐且易出错的现象,提高工作的质量和效率。本报告根据书店的管理过程中所要遇到的各类情况,在系统
5、中都做了详细而又正确的处理结果,本系统不仅对书店管理进行了统计和查询,而且对书店的日常管理、信息检索等进行了分析,解决了用手工方法带来的困难,和数据出错的概率。 2. 需求分析阶段2.1 引言进行系统设计,首先要对系统的现状进行分析。根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。 需求分析是在于要弄清用户对开发的数据库应用系统的确切要求。数据库设计的第一步是明确数据库的目的和如何使用,也就是说需要从数据库中得到哪些信息。明确目的之后,就可以确定您需要保存哪些主题的信息(表),以及每个主题需要保存哪些信息(表中字段)。在构造系统时,首先从需求出发构造数据库
6、表,然后再由数据库表结合需求划分系统功能模块。这样,就把一个大的系统分解成了几个小系统。这里把系统的层次划分为了四个部分:在架图书管理、图书销售管理、图书库存管理、图书进购管理、书店员工管理及供应商信息管理。能够实现以下功能: 进行新书入库、现有图书信息修改以及删除; 对供应商信息表、员工信息表、顾客信息表等基本表的查询维护等。 能够查询每月销售利润等情况。2.2 需求分析阶段的目标与任务2.2.1处理对象报价表:供应商号,图书编号,进价仓库:仓库号,仓库地址,电话出库书目表:图书编号 ,员工号 ,出库数量 ,出库日期 订单:订单号 ,员工号 ,日期 订单细则表:细则编号 ,图书编号 ,供应商
7、号 ,订单号 ,数量 供应商:供应商号 ,供应商名 ,地址 顾客:顾客编号 ,顾客名 ,是/否会员 ,折扣 ,地址 ,电话 员工:员工号 ,员工姓名 ,工种 ,职称 库存书目表:图书编号 ,数量 ,仓库号 利润:销售编号 ,图书编号 ,购买数量 ,利润 图书:图书编号 ,图书名称 ,作者 ,出版社 ,图书价格 销售记录表:销售编号 ,顾客编号 ,员工号 ,日期 在架图书表:书架编号 ,图书编号 ,图书名称 ,图书类型 ,图书数量 2.2.2处理功能及要求1.能够存储大量的图书信息,并且可以修改维护及查询相关的图书的价格、出版社等信息。2.能够管理员工、顾客及供应商的信息,并且可以做相应的查询,
8、修改,删等操作。 3.根据图书的销售情况,生成销售利润。4.根据供应商的提供的订单情况、图书的出入库情况相应地更改仓库图书数量。3能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。4对查询、统计的结果能够列表显示。2.2.3.安全性和完整性要求1) 安全性要求 系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全
9、性等方面。2) 完整性要求系统完整性要求系统中数据的正确性以及相容性。可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。2.3 需求分析阶段成果2.3.1 体会与收获需求分析往往是让人感觉最漫长最无聊的,但它却是最重要的环节。在系统分析阶段参考了很多书籍,在网上查了很多资料,重复了很多遍,耽搁了很多时间,在第一阶段就感觉到做一个数据库设计真的是很耗费精力的。但是,在众多参考资料的帮助下,还是顺利地完成了该阶段的任务,得到以下看似很重要的图表。2.3.2 系统总的数据流图:书店管理系统的数据流图,它展示了书店的主要需求,即进书、售书、库存、相关查询等等。图书进书书店管理员发行
10、商购书清单库存库存清单仓库上架销售购书者销售清单被订购运书下订单收到汇款订购统计分类查书分类表书本现金统计利润部分书统计书本2.3.3 图书管理系统数据流程图1.图书订购管理数据流图:顾客缺货客户需求书店管理员书名订购汇款发行商订单购书清单报价价格进价销售清单发行商信息销售量信息统计2.上架图书管理数据流图:图书需求购书者分类核对查找书架信息符合图书信息类别核对无误信息位置及存放类别上货书店管理员书本销售结果书架清单统计3.图书销售管理数据流图:图书书店管理员销售购书者付款供货书本售价现金利润销售清单顾客信息统计是否会员4.图书库存管理数据流图:图书分类书名及类型型书店管理员数量书库仓库书本分
11、类库存清单统计书架清单销售清单余数销售数2.3.4 书店销售管理系统数据字典(a)数据项:系统涉及的数据项有39项表1.1 数据项列表数据项编号数据项名存储结构1图书编号char(7)2图书名称nchar(20)3作者nchar(20)4出版社nchar(4)5图书价格float6仓库号char(4)7仓库地址nchar(20)8电话char(20)9类别nvarchar(5)10供应商号char (4)11供应商名 nchar(4)12地址nchar(20)13联系电话char(20)14顾客编号char(5)15顾客名nchar(10)16是否会员nchar(1)17折扣 float (8
12、)18员工号char(4)19员工姓名nchar(10)20性别nchar(1)21工种nvarchar(8)22职称nvarchar(5)23联系电话char(20)24进价float25出库数量 int26出库日期datetime 27订单号Char5)28细则编号char(5)29购买数量int30利润float31入库数量int32入库日期 datetime 33销售编号char(5)34书架编号char(4)35图书类型 nvarchar(5)36登录名nchar(10)37姓名nchar(4)38密码 char(3)39用户身份nchar(5) (b)数据结构:表1.2 数据结构列
13、表数据结构编号数据结构名组成DS-1报价表供应商号,图书编号,进价DS-2仓库表仓库号 ,仓库地址 ,电话 DS-3出库书目表出库书目表:图书编号 ,员工号 ,出库数量 ,出库日期 DS-4 订单表 订单号 ,员工号 ,日期 DS-5订单细则表 细则编号 ,图书编号 ,供应商号 ,订单号 ,数量 DS-6供应商信息表 供应商号 ,供应商名 ,地址 DS-7 顾客信息表 顾客编号,顾客名 ,是/否会员 ,折扣 ,地址 ,电话 DS-8 员工信息表 员工号 ,员工姓名 ,工种 ,职称 DS-9库存书目表 图书编号 数量 ,仓库号DS-9利润表 销售编号 ,图书编号 ,购买数量 ,利润 DS-10入
14、库数目表 图书编号 员工号 ,入库数量 ,入库日期 DS-11图书信息表 图书编号 ,图书名称 ,作者 ,出版社 图书价格 DS-12销售记录表:销售编号 ,顾客编号 ,员工号 ,日期 DS-13在架图书表 书架编号 ,图书编号 ,图书名称 ,图书类型 ,图书数量 登录信息表登录名、姓名、密码 、用户身份2.3.5 处理逻辑描述根据供应商的供应情况,图书的出入库情况修改图书库存相关信息。根据图书的销售情况相应地更改在架图书的图书数量,及生成相应的利润报表。3 概念设计阶段 3.1 引言概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。3.
15、2 任务与目标(1)选择中层数据流为切入点,通常选择实际系统中的子系统; (2)设计分E-R图,即各子模块的E-R图; (3)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一; (4)生成全局E-R图,通过消除冲突等方面。3.3 阶段结果对应1. 供应商供应图书E-R图供应商 1 进货 Q N供应商图书报价 M 1书店 处理 1 库内图书 H2 顾客在架图书“处理”联系细化E-R图顾客购买在架图书 1 N M销售 H销售人员 3、库内图书出库入库关系图书入库 N 入库 库内图书 1 1图书出库出库 M 4 图书销售利润关系购买顾客图书 1 M 1 1对应处理 N 销售记录 H利
16、润5、 订单与订单细则间的关系订单对应订单细则 1 1 1 6、 上述ER图中各实体的属性如下所示:报价:供应商号,图书编号,进价仓库:仓库号,仓库地址,电话出库书目:图书编号 ,员工号 ,出库数量 ,出库日期 订单:订单号 ,员工号 ,日期 订单细则:细则编号 ,图书编号 ,供应商号 ,订单号 ,数量 供应商:供应商号 ,供应商名 ,地址 顾客:顾客编号 ,顾客名 ,是/否会员 ,折扣 ,地址 ,电话 员工:员工号 ,员工姓名 ,工种 ,职称 库存书目表:图书编号 ,数量 ,仓库号 利润表:销售编号 ,图书编号 ,购买数量 ,利润 入库数目:图书编号 ,员工号 ,入库数量 ,入库日期 图书:
17、图书编号 ,图书名称 ,作者 ,出版社 ,图书价格 销售记录:销售编号 ,顾客编号 ,员工号 ,日期 在架图书:书架编号 ,图书编号 ,图书名称 ,图书类型 ,图书数量 4逻辑设计阶段4.1逻辑设计的任务和目标以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的DBMS产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。4.2数据组织4.2.1将E-R图转换为关系模型报
18、价表:供应商号,图书编号,进价仓库:仓库号,仓库地址,电话出库书目表:图书编号 ,员工号 ,出库数量 ,出库日期 订单:订单号 ,员工号 ,日期 订单细则表:细则编号 ,图书编号 ,供应商号 ,订单号 ,数量 供应商:供应商号 ,供应商名 ,地址 顾客:顾客编号 ,顾客名 ,是/否会员 ,折扣 ,地址 ,电话 员工:员工号 ,员工姓名 ,工种 ,职称 库存书目表:图书编号 ,数量 ,仓库号 利润:销售编号 ,图书编号 ,购买数量 ,利润 图书:图书编号 ,图书名称 ,作者 ,出版社 ,图书价格 销售记录表:销售编号 ,顾客编号 ,员工号 ,日期 在架图书表:书架编号 ,图书编号 ,图书名称 ,
19、图书类型 ,图书数量 4.2.2模型优化以上关系模式均达到第三范式,所以无须优化。 4.2.3数据库模式定义表1图书信息表列名数据类型可否为空图书编号Charnot null图书名称Charnot null 作者Char 出版社Char图书价格Char表2 员工信息表列名数据类型可否为空员工号Charnot null员工姓名 nchar 性别nchar 工种nvarchar 职称nvarchar 地址 nchar 联系电话Char表3 供应商信息表列名数据类型可否为空供应商号Charnot null供应商名Char 地址 nchar 联系电话Char 表4 库存书目表列名数据类型可否为空 仓库
20、号Charnot null 图书编号Char 数量int表5顾客信息表 列名数据类型可否为空顾客编号Charnot null顾客名nchar 是否会员Nchar 折扣 float地址nchar 电话Char 表6销售记录表列名数据类型可否为空IDInt Not null 销售编号Charnot null顾客编号CharNot null 员工号charNot null 日期Datatime 表7 订单表列名数据类型可否为空订单号Charnot null员工号 char Not null 日期 Datatime 表8出库书目表列名数据类型可否为空图书编号Charnot null员工号 CharNo
21、tnull 出库数量 int 出库日期Datatime 表9 入库书目表列名数据类型可否为空图书编号 Charnot null员工号 char Not null 入库数量Int 入库日期Datatime 表10订单细则表列名数据类型可否为空IDCharnot null细则编号Charnot null 图书编号Char 供应商号Char 订单号Char 数量Int 表11报价表列名数据类型可否为空 IDCharnot null 供应商号Char 图书编号int 进价Float 表12仓库表列名数据类型可否为空 仓库号Charnot null 仓库地址Nchar 仓库电话Char 类别nvarch
22、ar表13利润表列名数据类型可否为空销售编号Charnot null图书编号 char Not null 购买数量 Int 利润Float 表14登录信息表列名数据类型可否为空登录名Nchar not null姓名 Nchar Not null 密码 char 用户身份nchar表10在架图书表列名数据类型可否为空IDCharnot null书架编号Charnot null 图书编号Char 图书名称Nchar 图书类型Nvarchar 图书数量 Int 4.2.4 用户子模式定义表2.7 用户子模式定义编号用户子模式 作用(共性:提供数据保密和安全保护机制)V1图书信息视图 书店销售图书信息
23、查询V2员工信息表视图员工信息的查询、管理V3供应商信息表视图便于查看供应商的相关信息V4现有库存查询视图用于查看当前书店能买到的图书V5顾客信息表视图用于查看顾客的相关信息V6销售记录查询视图查看顾客在本店的销售记录V7订单信息表视图查看书店与供应商的订单情况V8出库信息查询视图用于查询图书的出库情况V9入库信息查询视图用于查询图书的入库情况表2.8 图书信息视图列名数据类型可否为空图书编号Charnot null图书名称Charnot null 作者Char 出版社Char图书价格Char书架编号Datel图书类型nvarchar图书数量int仓库号char表2.9 员工信息表视图列名数据
24、类型可否为空员工号Charnot null员工姓名 nchar 性别nchar 工种nvarchar 职称nvarchar 地址 nchar 联系电话Char表2.10 供应商信息表视图列名数据类型可否为空供应商号Charnot null供应商名Char 地址 nchar 联系电话Char 图书编号Char图书名称nvarchar进价float表2.11现有库存查询视图列名数据类型可否为空 仓库号Charnot null 仓库地址nchar 图书编号Char 图书名称nvarchar 数量int 电话char表2.12 顾客信息表视图列名数据类型可否为空顾客编号Charnot null顾客名n
25、char 是否会员Nchar 折扣 float地址nchar 电话Char 表2.13销售记录查询视图列名数据类型可否为空销售编号Charnot null顾客编号CharNot null 顾客名Nchar l是否会员Nchar 折扣 float 电话Char 地址nchar日期Datatime 图书名称nchar购买数量Int 利润float员工姓名nchar表2.14 订单信息表视图列名数据类型可否为空订单号Charnot null员工号 char Not null 日期 Datatime 细则编号char 供应商号 Char 数量Int 表2.15出库信息查询视图列名数据类型可否为空图书编
26、号Charnot null图书名称nchar 员工号 CharNotnull 员工姓名nchar 出库数量 int 出库日期Datatime 表2.16 入库信息查询视图列名数据类型可否为空图书编号 Charnot null图书名称nchar 员工号 char Not null 员工姓名 nchar入库数量Int 入库日期Datatime 4.3数据处理书店销售管理系统系统功能模块图:上架图书管理图书进购管理图书销售管理图书库存管理 出库记录及查询图书查询书架图书管理供应商管理销售及利润统计顾客及售书查询进购书目查询出库记录及查询5物理设计阶段5.1物理设计阶段的目标与任务 数据库的物理设计就
27、是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。5.2数据存储方面为数据库中各基本表建立的索引如下:1. 供应商信息表、仓库表、订单表、订单细则表上建立唯一索引。2. 由于在销售记录表中经常按日期查询某一天或某一个时间段内的销售情况,因此可以在销售记录的日期上建立聚簇索引。3、 在员工信息表的员工号及顾客信息表的顾客编号上建立聚簇索引。4、 由于顾客经常按图书名称查询图书信息,书店管理员经常修改在架图书信息,因此可在图书信息表及在架图书信
28、息表的图书名称上建立非聚簇索引。5.3系统功能模块在架图书管理该系统分为四个模块: 在架图书管理、进购图书管理、销售图书管理、库存图书管理。在架图书查询在架图书维护进购图书管理员工信息查询及维护订单表查询及维护供应商信息管理报价查询及维护 销售图书管理顾客信息查询及维护销售记录查询及维护销售利润查询及维护 售书员查询图书库存管理仓库信息查询及维护仓库图书信息查询及维护入库信息查询及维护出库信息查询及维护 6数据库实施阶段6.1建立数据库、数据表、视图、索引6.1.1 建立数据库create database 书店管理系统 6.1.2 建立数据表(1)图书信息表create table 图书信息
29、表(图书编号 char(7) primary key,图书名称 nchar(20) not null,作者 nchar(4),出版社 nchar(10),图书价格 float)(2)仓库表create table 仓库表(仓库号 char(4) primary key,仓库地址 nchar(20),电话 char(20),类别 nvarchar(5)(3) 供应商信息表 create table 供应商信息表 (供应商号 char(4) primary key,供应商名 nchar(4),地址 nchar(20),联系电话 char(20)(4) 顾客信息表create table 顾客信息表
30、(顾客编号 char (5) primary key,顾客名 nchar(10),是否会员 nchar(1),折扣 float (8),地址 nchar(20),电话 char(20)(5) 员工信息表 create table 员工信息表 (员工号 char(4)primary key,员工姓名 nchar(10),性别 nchar(1) check (性别 in ( 男,女),工种 nvarchar(8),职称 nvarchar(5),地址 nchar(20),联系电话 char(20)(6) 报价表create table 报价表(ID int identity (1,1) primar
31、y key,供应商号 char(4) foreign key references 供应商信息表(供应商号) on update cascade, 图书编号 char (7) foreign key references 图书信息表(图书编号) on update cascade, 进价 float)(7)出库书目表create table 出库书目表(图书编号 char(7) primary key,员工号 char(4) foreign key references 员工信息表(员工号) on update cascade not null,出库数量 int ,出库日期 datetime
32、)(8)订单表create table 订单表(订单号 char(5)primary key, 员工号 char(4) foreign key references 员工信息表(员工号),日期 datetime)(9)订单细则表create table 订单细则表 (ID int identity(1,1) primary key,细则编号 char(5) not null,图书编号 char(7)foreign key references 图书信息表(图书编号) on update cascade, 供应商号 char(4) foreign key references 供应商信息表(供应
33、商号) on update cascade,订单号 char(5) foreign key references 订单表(订单号) on update cascade,数量 int )(10)库存书目表 create table 库存书目表 (图书编号 char(7) primary key,数量 int,仓库号 char(4)foreign key references 仓库表(仓库号) on update cascade)(11)利润表create table 利润表(销售编号 char(5) primary key,图书编号 char(7) foreign key references
34、图书信息表(图书编号) on update cascade not null,购买数量 int,利润 float)(12)入库书目表create table 入库书目表(图书编号 char(7) primary key,员工号 char(4) foreign key references 员工信息表(员工号) on update cascade,入库数量 int,入库日期 datetime)(13)销售记录表 create table 销售记录表 (ID int identity(1,1) primary key,销售编号 char(5) unique not null,顾客编号 char(5
35、) foreign key references 顾客信息表(顾客编号) on update cascade,员工号 char(4) foreign key references 员工信息表(员工号) on update cascade,日期 datetime)(14)在架图书表create table 在架图书表(ID int identity (1,1) primary key,书架编号 char(4) ,图书编号 char(7) foreign key references 图书信息表(图书编号) on update cascade,图书名称 nchar(10),图书类型 nvarcha
36、r(5),图书数量 int)(15)登录信息表create table 登录信息表(登录名 nchar(10) not null primary key,姓名 nchar(4) not null,密码 char(3) null,用户身份 nchar(5) not null check (用户身份 in (系统管理员,经理,销售管理员,库存管理员)6.1.3 建立视图(1) 图书信息视图 create view 图书信息视图 as select 图书信息表.图书编号,图书信息表.图书名称,作者,出版社,图书价格,书架编号,图书类型,图书数量,仓库号from 图书信息表,库存书目表,在架图书表where 图书信息表.图书编号=库存书目表.图书编号 and 图书信息表.图书编号=在架图书表.图书编号(2) 员工信息表视图create view 员工信息表视图as select * from 员工信息表 (3) 供应商信息表视图create view 供应商信息视图asselect 供应商信息表.供应商号,供应商名,地址,联系电话,报价表.