ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:321.81KB ,
资源ID:8180982      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8180982.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(书店销售系统数据库分析与设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

书店销售系统数据库分析与设计.docx

1、书店销售系统数据库分析与设计东方学院实 验(实训)报 告项 目 名 称 书店销售系统数据库分析与设计 所属课程名称 数据库原理及应用 项 目 类 型 设计、综合型 实验(实训)日期 2014.52014.6 班 级 12信息1班 学 号 * * * 1220400122 1220400125 1220400127 1220400139 1220400143 姓 名 李珺茹 郑章章 徐莹莹 巫日峥 冯星 傅媛 徐斌 林良泽 分工表一、设计目的及要求1.1、目的在科学飞速发展的今天,人们的视野越来越广,数据量急剧增加。过去人们把数据存放在文件柜里,现在人们借助计算机和数据库技术科学地保存和管理大量

2、的复杂数据,以便能方便而充分地利用这些宝贵的信息资源。 本系统的设计目标就是要为中小型书店提供一套运行稳定、安全可靠、操作简便的管理系统。帮助书店销售业务处理日常工作业务,规范管理各项工作和操作流程。从根本上改变以前那种旧的管理模式,真正提高管理和服务的水平。1.2、背景随着社会信息量的迅速增长,计算机处理的数据量不断增加,在我国,管理信息系统是计算机应用最广泛的领域之一。随着我国经济建设突飞猛进,管理科学化与管理手段的现代化已经提到非常重要的地位,企、事业单位为了提高自身的管理水平和竞争能力,纷纷投入人力物力,开发适合本单位需求的管理信息系统。中国的信息化沿着企业信息化和政府信息化这两根链条

3、正在飞速的发展,在全国的各级教育单位中,都在进行管理方式的改革,由以前的人工管理方式在向现在的人工加计算机技术的过渡中,在现在的这种模式中可以很大的提高工作人员的工作效率,提高了正确性。1.3概述这次所选的设计题目是书店销售管理系统。数据库环境选择SQL server 2005中文版。1.4可行性分析管理上可行性书店管理其实是不能说是简单,但是很琐碎。每天的销售还有最后的书本数量的核对会耗费大量的人力和时间。而进行计算机信息技术上的自动化管理不仅提高了管理的准确性而且省时省力。经济上可行性只要这个书店管理系统就好,不需要额外的支出。技术上可行性在大学我们已经学习了有关数据库,c语言等一系列计算

4、机技术,在相对宽裕的时间内是可以编写出程序的。二、课程设计内容说明1、需求分析1.1书店的部门组成对于书店来说,目的是销售图书,所以包含销售部门;同时为书店进书的部门称为进货部门。1.2各部门的业务说明1.2.1销售部门对图书销售情况进行结算,对客户资源进行管理。如,对某一段时间的图书销售情况进行统计;对订书的顾客信息进行记录,统计等。因此,需要销售人员,图书,购书实体:顾客,以及联系:销售,购买。1.2.2进货部门记录图书供应商的信息,以便获得最新的图书进货信息。通过供应商,为书店购进新的图书。需要实体供货商,联系:进货。 1.3基本信息管理1.3.1该模块实现图书情况的分类,包括书号,书名

5、,作者,售价等。便利店员查找书籍,为顾客提供更好的建议。1.3.2销售情况管理该模块对每本出售的书本进行统计,记录每本书售出的日期,购买人,经办人和销售的金额。在这里店员可以很方便的加入销售记录,修改记录。便于每天书店清账。而且在这里总金额的计算公式是事先设定好的,这样避免了人为的计算错误。1.3.3销售、进货、书本信息管理销售、进货和书本库存三者结合起来管理整个书店的图书数量。库存实现对书店剩余书本的管理,知道什么书还剩几本。而进货清楚让人知道进了什么书,售价是什么还有哪个供应商提供的。而且在这里总金额的计算公式是事先设定好的,这样避免了人为的计算错误。1.3.4书店会员管理 实现系统相关会

6、员信息的注册及身份,同时也提供对应会员的资料更新。该模块还可以收集会员相关的消费额度,提供不同的折扣力度。1.3.5书店职员管理实现书店职员的相关的管理,收集每个员工的相关信息,更好的了解员工还有实现不同职位不同的工资管理。1.4安全性要求与完整性要求安全性要求:系统应设置访问用户都预先约定好一个计算过程或者函数,鉴别用户身份时,系统提供一个随机数,用户根据自己预先约定的计算过程或者函数进行计算,系统根据用户计算结果是否正确进一步鉴别用户身份;系统应对不同的访问级别,限制访问用户可查询和处理数据的类别和内容;系统应对不同用户设置不同的权限,区分不同的用户,如区分会员,职员。完整性要求:各种信息

7、记录的完整性,信息记录内容不为空,主码值唯一;列值非空,列值唯一,列值满足一个布尔表达式;用户的操作违背了完整性约束条件时,采取一定的动作,如拒绝执行该操作;各种数据间相互联系的正确性;相同的数据在不同的记录中的一致性。2.概念结构设计部分E-R图图2.1 书本基本信息E-R图图2.2供应商信息E-R图图2.3 职工信息E-R图图2.4会员信息E-R图图2.5销售信息E-R图图2.6进货信息E-R图 总体E-R图3逻辑结构设计 3.1 E-R图向关系模型的转换逻辑设计的目的是把概念设计阶段设计的全局E-R模式转换层与选用的具体机器上DBMS锁支持的数据模型相符合的逻辑结构。逻辑设计的步骤主要步

8、骤有以下五步:(1) 初始模式的形成(2) 自模式设计(3) 应用程序设计梗概(4) 模式评价(5) 修正模式E-R图向关系模型转换,首先要进行数据的规范化。所谓规范化是指在一个数据结构中没有重复出现的项组。规范化是在关系数据库中减少数据冗余的过程。3.1.1实体书本(书号,书名,作者,价格,出版社,出版日期,类别,库存数量)属于BCNF供应商(供应商代号,供应商名字,联系人,电话,地址) 属于BCNF员工(工号,ID,姓名,电话,住址,职位,性别,年龄) 属于BCNF会员(会员号,姓名,年龄,电话,累积消费,折扣力度,入会时间,性别) 属于BCNF3.1.2关系进货(书号,时间,供应商代号,

9、工号,书名,进货单号,金额,数量,总价)属于BCNF销售(书号,销售单号,书价,购买者,工号,折扣,时间,数量) 属于3NF3.2 数据模型的优化 关系模式会员号,姓名,书名,供应商号,职工号不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF,但是销售关系模式、进货关系模式、库存信息关系模式中存在着一些数据冗余,现将四个关系模型进行合并,消除冗余,优化为:进货(书号,时间,供应商代号,工号,书名,进货单号,金额,数量)4.物理结构设计4.1数据库物理设计原理数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库系统确定合理的存储结构和存

10、取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。主要体现在后者。4.1.1建立索引:根据本系统的特点,采用B+树索引存取方法建立索引对图书,会员,职员,供应商,进货,销售和库存建立索引对图书,会员,职员,销售建立组合索引对进货,销售,图书建立组合索引对图书,供应商,进货建立组合索引对其进行的操作:查找查找以典型的方式进行,类似于二叉查找树。起始于根节点,自顶向下遍历树,选择其分离值在要查找值的任意一边的子指针。在节点内部典型的使用二分查找来确定这个位置。插入节点要处于违规状态,它必须包含在可接受范围之外数目的元素。

11、首先,查找要插入其中的节点的位置。接着把值插入这个节点中。 如果没有节点处于违规状态则处理结束。 如果某个节点有过多元素,则把它分裂为两个节点,每个都有最小数目的元素。在树上递归向上继续这个处理直到到达根节点,如果根节点被分裂,则建立一个新根节点。为了使它工作,元素的最小和最大数目典型的必须选择为使最小数不大于最大数的一半。 删除首先,查找要删除的值。接着从包含它的节点中删除这个值。 如果没有节点处于违规状态则处理结束。 如果节点处于违规状态则有两种可能情况:它的兄弟节点,就是同一个父节点的子节点,可以把一个或多个它的子节点转移到当前节点,而把它返回为合法状态。如果是这样,在更改父节点和两个兄

12、弟节点的分离值之后处理结束。 它的兄弟节点由于处在低边界上而没有额外的子节点。在这种情况下把两个兄弟节点合并到一个单一的节点中,而且我们递归到父节点上,因为它被删除了一个子节点。持续这个处理直到当前节点是合法状态或者到达根节点,在其上根节点的子节点被合并而且合并后的节点成为新的根节点。4.1.2存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。将日志文件和数据库对象(表、索引等)分别放在不同的磁盘,可以改进系统的性能,提高系统的安全性。所以,系统应将日志文件和数据文件存放在不同磁盘上。4.2 相关表

13、的物理结构字段名称数据类型主键或外键是否允许为空备注书号char(5)主键,外键不允许书名varchar(30)不允许作者char(10)允许价格decimal(5,2)不允许出版日期smalldatetime允许出版社varchar(6)不允许库存数量int 不允许数量=0类别char(5)不允许表4.1书本物理结构字段名称数据类型主键或外键是否允许为空备注供应商代号varchar(6)主键不允许供应商名称varchar(20)不允许联系人char(10)不允许电话varchar(13)不允许地址varchar(30)允许表4.2供应商物理结构字段名字数据类型主键或外键是否允许为空备注工号v

14、archar(6)主键不允许姓名char(10)不允许性别varchar(2)不允许男/女年龄varchar(12)允许职位char(5)不允许电话char(13)不允许IDvarchar(18)不允许住址varchar(30)允许表4.3职员物理结构字段名字数据类型主键或外键是否允许为空备注会员号varchar(6)主键不允许姓名Char(10)不允许性别varchar(12)不允许男/女年龄varchar(12)允许入会时间datetime不允许折扣char(5)不允许0.90/0.80/0.70累计消费decimal(5,2)允许电话varchar(12)不允许表4.4会员物理结构字段名

15、字数据类型主键或外键是否允许为空备注销售单号char(6)主键不允许书号char(5)外键不允许会员号varchar(6)外键允许折扣decimal(5,2)不允许0/0.90/0.80/0.70书价decimal(5,2)不允许时间datetime不允许数量int 不允许数量=1工号varchar(6)外键不允许总价decimal(5,2)不允许折扣*数量*书价表4.5销售物理结构字段名字数据类型主键或外键是否允许为空备注进货单号char(6)主键不允许供应商代号varchar(6)外键不允许书号char(5)外键不允许书名varchar(30)不允许书价decimal(5,2)不允许时间s

16、malldatetime不允许数量int 不允许数量=1总价decimal(5,2)不允许书价*数量工号varchar(6)外键不允许表4.6进货物理结构5.数据库实施5.1数据库建立代码5.1.1数据库的创建(sql语句代码)create database bookstroeuse bookstroe5.1.2表的创建书本信息关系表的创建create table 书本( 书号 char(5) not null primary key,书名 varchar(30) not null ,作者 char(10) , 价格 decimal(5,2) ,出版社 varchar(6) not null

17、,出版日期 smalldatetime,类别 char(5) not null,库存数量 int check(库存数量=0),)供应商信息关系表的创建create table 供应商(供应商代号varchar(6) not null primary key,供应商名字varchar(20) not null, 联系人char(10) not null,电话varchar(13) not null, 地址varchar(30), )员工信息关系表的创建create table 员工(工号 varchar(6) not null primary key,姓名 Char(10) not null,性

18、别 varchar(2) not null check(性别=男 or 性别=女), 年龄 varchar(12) ,职位 char(5) not null,电话 varchar(13) not null ,ID varchar(18) not null,住址 varchar(30) ,)会员信息关系表的创建create table 会员(会员号 varchar(6) primary key not null,姓名 char(10) not null,性别 varchar(2) not null check(性别=男 or 性别=女),年龄varchar(12),入会时间 datetime n

19、ot null, 折扣 char(5) not null check(折扣in (0.90,0.80,0.70), 累计消费 decimal(5,2),电话 varchar(12) not null, )销售信息关系表的创建create table 销售( 销售单号char(6) not null primary key , 书号char(5) not null ,会员号varchar(6),折扣decimal(5,2) not null check(折扣in (1,0.90,0.80,0.70),书价decimal(5,2) not null, 工号varchar(6) not null ,

20、 时间 datetime not null, 销售数量int check (销售数量=1), 销售总价 as 折扣*销售数量*书价,foreign key(会员号) references 会员(会员号),foreign key(书号) references 书本(书号), foreign key(工号) references 员工(工号), )进货信息关系表的创建create table 进货( 进货单号 char(6) not null primary key,供应商代号 varchar(6) not null,书号 char(5) not null,书名 varchar(30) not n

21、ull,书价 decimal(5,2) not null,时间 smalldatetime not null,进货数量 int check (进货数量=1), 工号 varchar(6) not null,总价 as 书价*进货数量,foreign key(书号) references 书本(书号),foreign key(供应商代号) references 供应商(供应商代号),foreign key(工号) references 员工(工号), )5.1.3各个表的关系图图5.1.3数据库关系图5.2初始数据的输入数据库以及表创建之后,要输入一些实际的数据。一下是一些数据输入的代码。向供应

22、商表输入数据insert into 供应商values(01,a1,张三,上海,12345)insert into 供应商values(02,a2,李四,杭州,54321)5.2.1输入数据后的供应商表向书本信息表输入数据insert into 书本values(11021,光荣日,韩寒,20.00,01,2001.06.13,小说)insert into 书本values(11022,一个人的好天气,青山七惠,18.00,01,2001.07.15,小说)5.2.2输入数据后的书本信息表向员工信息表输入数据insert into 员工 values(001,钱小五,女,25,店员,88733

23、227,310000000000000000,杭州)insert into 员工values(003,王小二,男,21,店长,88733221,310000000000000021,杭州)5.2.3输入数据后的员工信息表向会员信息表输入数据insert into 会员values(no43,王菲,女,19,2010.02.03,0.90,103.3,88733226)insert into 会员values(no98,刘朵朵,女,20,2011.12.03,0.80,403.3,88733228)5.2.4输入数据后的会员信息表向进货关系表输入数据insert into 进货values(b1

24、,01,11021,光荣日,20.00,2011.12.12,50,001)insert into 进货values(b2,02,11022,一个人的好天气,18.00,2011.12.13,40,001)5.2.5输入数据后的进货关系表向销售关系表输入数据insert into 销售values(s1, 11021,no98,0.80,20.0,003, 2013.01.12 ,2 )insert into 销售values(s2 ,11022,no43,0.90,18.0,003, 2013.01.12,3)4.2.7输入数据后的销售关系表5.3视图的建立1.这个视图是总结了销售情况,当销

25、售输入数据时视图会把卖出的书的数量加起来,那么要看某天的某本书的销售量就很方便了。代码:create view 销售情况as select 时间, 书号,sum(销售数量) 销售数量,sum(销售总价) 销售总价from 销售 group by 书号,时间5.3.1销售情况视图2在销售情况视图的基础上建立了书本数量的视图,当销售输入数据时视图里的销售数量会动态的改变。代码:create view 书本数量as select 书本.书名,进货.进货数量,销售.销售数量,书本.库存数量from 书本,进货,销售where 书本.书号=进货.书号and 进货.书号=销售.书号5.3.2书本数量视图5

26、.4触发器的建立1输入的员工年龄不可以小于16岁create trigger tr_员工_insert on 员工for insert asdeclare 年龄 varchar(12) select 年龄=年龄from insertedif 年龄16beginraiserror(员工年龄应该大于,16,1)rollback transactionend5.3.1输入数据触发触发器后2当向进货信息中输入新的书本信息,那么在库存中自动加入该书的书号还有数量。create trigger kucun on 进货after insertas begin insert into书本(书号,库存数量)se

27、lect 书号,进货数量from insertedend5.3.2进货表出入数据后6、数据库的试运行当数据装入数据库以后,进入数据库的试运行阶段,数据库的试运行也称为联合调试。数据库的试运行对于系统设计的性能检测和评价是十分重要的,该阶段重点执行对数据库的各种操作,实际测量系统的各种性能,检测是否达到设计要求。通过该阶段的运行与测试,可以检验数据库系统设计是否合理,运行是否安全、高效。7、数据库的维护数据库系统投入正式运行,意味着数据库的设计与开发阶段的基本结束,运行与维护阶段的开始。数据库的运行和维护是个长期的工作,是数据库设计工作的延续和提高。三、结论及体会通过这次的数据库验证体系课,学到

28、了很多实际应用的东西。平时只是一味的学习理论知识,很少能有亲手实践做系统的时间,这次的课教会了我们怎样去着手做一个系统,怎样团队合作,怎样去一步一步构建一个系统等等。 通过这次做书店销售管理系统,我们知道了在传统模式下利用人工进行图书销售信息管理,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些情况,令书店管理者对图书的信息管理带来了很大困难,严重影响了书店的经营效率。随着科学技术的不断提高,计算机科学日渐成熟, 使用先进的计算机技术来代替传统的人工模式,来实现信息的现代化管理,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对图书销售信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、易修改、可靠性高、存储量大、数据处理快捷、保密性好、寿命长、成本低、便于打印等。这些优点能够极大地提高图

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1