小型书店数据库设计_第1页
小型书店数据库设计_第2页
小型书店数据库设计_第3页
小型书店数据库设计_第4页
小型书店数据库设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、课程名称: 数据库系统分析与设计 题 目: 小型书店管理系统数据库设计 院 (系): 专业班级: 姓 名: 学 号: 指导教师: 2013 年 12 月 31 日摘要摘要随着科学技术的不断提高,计算机科学日渐成熟,对人们的工作、学习、生活、行为和思维方式都产生着重要的影响。传统的书店管理系统有很多缺点,浪费了许多人力和物力。特别是中小型书店、个体书店,如果没有一个好的书店管理系统,对于书店的经营是非常不利的。因此,针对上述这种情况,本次课设,我通过需求分析,概念模型设计,逻辑模型设计,物理模型分析,数据库的设计和实现等流程,其中在需求分析时,用的是结构化的方法,通过业务流程图和数据流程图,对书

2、店管理系统的业务需求进行了描述,概念模型设计主要通过 E-R 图描述。开发一个面向中小型书店、个体书店的书店管理系统,实现对人员、物流的全面管理,以帮助这些书店早日实现书店管理信息化。关键字:书店管理系统,需求分析,结构化方法,数据流程图,业务流程图目 录1 绪论绪论.11.1 系统简介 .11.2 设计目的 .11.3 设计内容 .12 需求分析需求分析.32.1 .需求分析的任务.32.2 系统数据流程分析.32.3 数据字典.63 概念模型设计概念模型设计.93.1 概念模型设计的方法和步骤.93.2 系统概念模型.104 逻辑模型设计逻辑模型设计.124.1 逻辑模型设计的方法.124

3、.2 逻辑模型实现.134.3 数据完整性约束定义.135 物理数据库模型设计与实现物理数据库模型设计与实现.155.1 物理数据库模型的图示.155.2 物理数据库模型的详细表示.165.3 物理数据库模型的实现.19总结总结.25参考文献参考文献.26第 0 页 共 26 页1 绪论1.1 系统简介本系统对书店图书的进、销、存管理信息系统进行了分析和设计,重点是对库存子系统进行了讨论。库存管理是商场运营的基础,它将采购管理和销售管理链接起来共同组成一个完整的进、销、存管理系统。该系统可以帮助图书仓库管理人员对库存商品进行详尽、全面地控制和管理,提供的各种库存报表和库存分析可以为管理者的决策

4、提供依据,从而实现降低库存和减少资金占用,避免图书积压或短缺,保证图书经营的正常进行。1.2 设计目的此书店管理系统以计算机为工具,通过对书店管理所需的信息管理,把管理人员从繁琐的数据计算处理中解脱出来,提高书店的经营效率。具体会涉及到的目标有:(1)能提高书店的运行效率,便于店主管理。(2)方便操作员的操作,达到简单、易用的目的。(3)提高操作员的工作效率。(4)提高正确率。(5)提高操作的成功率。(6)提高系统的可靠性和安全性。1.3 设计内容书店的角色定为店主和顾客。店主是软件系统的用户;而顾客则是来借阅或购买书的人。顾客不直接和系统交互,顾客的功能由店主代为执行。(1)员工管理:对所有

5、员工的信息进行登记,添加、删除、查询员工信息。第 1 页 共 26 页(2)书籍管理:对书店的图书进行分类、分析、统计、记录管理。(3)进货管理:仓库管理员对图书进行分析,得出所缺的书籍,进货。(4)销售管理:对每一次的交易进行登记,得到销售单给仓库管理员。(5)会员管理:对书店的所有会员信息进行登记,记录他们所有的消费信息。第 2 页 共 26 页2 需求分析2.1 .需求分析的任务进行整个数据库设计必须准确了解与分析用户需求(包括数据和处理) 。需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。作为地基的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度和质量。需求分析的

6、任务是通过详细调查现实世界要处理的对象(组织、部门、企业等) ,充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。需求分析调查的重点是“数据”和“处理” ,通过调查、收集和分析,获得用户对数据库的如下需求:(1)信息需求。指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。(2)处理要求。指用户需要完成什么处理功能。明确用户对数据有什么样的处理要求,从而确定数据之间的相互关系。(3)安全性与完整性要求。2.2 系统数据流程分析(1)基本业务调查可以通过网路检索、调查、开座谈会、跟班作业等方法,对所

7、设计系统的业务进行调查,明确其基本功能和流程。 1)员工管理,如图 2.1第 3 页 共 26 页员工管理员登陆(用户名和密码)员工信息单返回错误信息查询、添加、删除新的员工信息单图 2.1 员工管理业务流程图2)进货管理,如图 2.2仓库管理员供应信息表单库存分析缺货单采购员采购单供货商验收图 2.2 进货管理业务流程图3)书籍管理,如图 2.3仓库管理员进货信息单分类存储更新库存信息热销图书单适当加货库存已久的图书单打折处理图 2.3 书籍管理业务流程图4)会员管理,如图 2.4第 4 页 共 26 页会员管理员登陆(用户名和密码)会员信息单返回错误信息进行添加、删除新的会员信息单图 2.

8、4 会员管理业务流程图5)销售管理,如图 2.5顾客购书单现金收银员统计价钱并根据会员卡打折销售单仓库管理员会员卡图 2.5 销售管理业务流程图(2)数据流程图 根据了解和调查结果,给出系统业务数据流程图。 1)顶层数据流程图,如图 2.6P0小型书籍管理系统顾客仓库管理员采购员供应商购书单销售单发货单订货单缺货单采购单库存台账D1图 2.6 顶层数据流程图第 5 页 共 26 页2)第一层数据流程图,如图 2.7采购员P0P2P1P3销售图书整理进货顾客仓库管理员供应商采购单购书单销售单销售单缺货单发货单订货单库存台账库存清单进货单D1库存台账入库单出库单图 2.7 第一层数据流程图3)第二

9、层数据流程图进货部分的数据流程图,如图 2.8采购员P1.2P1.3P1.1检验入库供应商D1订购书籍合格采购单P1.4退书不合格发货单采购单库存台账入库单图 2.8 进货的数据流程图图书整理部分的数据流程图,如图 2.9第 6 页 共 26 页仓库管理员P2.2P2.1图书盘存图书分类库存清单D1库存台账库存清单图 2.9 图书整理的数据流程图销售部分的数据流程图,如图 2.10P3销售书籍D1库存台账顾客购书单销售单出库单图 2.10 销售的数据流程图2.3 数据字典在数据流程图中,数据信息和处理过程需要通过数据字典才能描述清楚,因此在数据字典中主要对数据流程图中的数据流、数据存储和处理过

10、程给出更详细、更准确的说明。(1)数据流定义可以通过表格的形式给出数据流程图的主要数据流,如表 2.1 所示。表 2.1 小型书店管理系统主要数据流定义序号名称位置结构定义最大数据流量1销售单F9销售单编号+销售日期+金额+条目+数目100 次/天2购书单F6购物单编号+数目+条目100 次/天3库存清单F4库存清单号+序号+品种+数量+备注1 次/天4发货单F7发货单编号+条目+发货日期+价钱1 次/10 天(2)数据存储定义第 7 页 共 26 页可以采用如下表格的形式给出系统的主要数据定义,如表 2.2 所示。表 2.2 小型书店管理系统主要数据存储定义编号名称输入输出组成存取频度存取方

11、式说明D1库存台账小型书店管理库存台账查询250条100 次/天联机处理;检索和更新;随即检索书籍号唯一且非空(3)处理过程可以采用如下表格的形式给出系统的主要处理过程定义,如表 2.3 所示。表 2.3 小型书店管理系统主要处理过程定义序号处理过程名称输入输出处理说明P1.1订购书籍采购单订货单订购所需书籍P1.2检验订货单和发货单合格信息或不合格信息检验发货单与订货单和书籍是否一致P1.3入库合格信息入库单检验合格,将书入库P1.4退书不合格信息退书信息因与订单不符或书籍有破损,退掉书籍P2.1图书分类图书清单图书分类信息对所进的书进行分类P2.2图书盘存图书清单库存台账盘点书籍与图书清单

12、是否一致P3销售书籍购书单销售单和出库单销售书籍第 8 页 共 26 页3 概念模型设计3.1 概念模型设计的方法和步骤在本次数据库设计中采用 PowerDesigner 设计软件进行概念模型设计具体步骤如下:(1)打开 PowerDesigner 软件要建立的模型类型Conceptual Data Model(概念模型) 。(2)打开 Conceptual Data Model 工作区间,利用工具窗口中的图标,建立实体和属性。(3)建立实体间的联系。(4)定义域和业务规则。最后的结果如图 3.1。第 9 页 共 26 页员工_销售销售_书籍管理仓库_存储存储_书籍顾客_购买购买_书籍供应商_

13、供应供应_书籍员工员工编号姓名性别出生日期住址电话 Characters (10)Characters (10)Characters (2)TimeLong characters (30)Characters (11)员工编号 顾客顾客编号会员编号姓名住址电话积分 Characters (10)Characters (10)Characters (10)Long characters (30)Characters (11)Integer顾客编号 供应商供应商编号联系人厂名厂址联系电话 Characters (10)Characters (10)Variable characters (20)C

14、haracters (50)Characters (11)供应商编号 书籍书籍编号书名作者品种出版社价格出版日期 Characters (10)Characters (40)Characters (10)Characters (20)Characters (50)MoneyDate书籍编号 销售发票编号销售日期金额条目数量 Characters (10)DateMoneyCharacters (100)Integer发票编号 仓库仓库编号仓库名仓库地址仓库管理员仓库电话 Characters (10)Characters (20)Long characters (50)Characters (

15、10)Characters (11)仓库编号 购买购书单编号数量条目 Characters (10)IntegerCharacters (100)购书单编号 供应发货单编号条目发货日期价格 Characters (10)Characters (100)DateMoney发货单编号 存储仓库清单编号序号品种数量备注 Characters (10)Characters (10)Characters (20)IntegerLong variable characters (100)仓库清单编号 图 3.1 书店管理系统概念模型3.2 系统概念模型根据系统的需求分析,得出了系统数据库的概念模型,用 E

16、-R 图表示出来,如图 3.2,下面为实体和关系的属性。书籍(书籍编号,书名,作者,品种,出版社,价格,出版日期)第 10 页 共 26 页仓库(仓库编号,仓库名,仓库地址,仓库管理员,仓库电话)供应商(供应商编号,联系人,厂名,厂址,联系电话)供应(发货单编号,条目,发货日期,价格)存储(仓库清单编号,序号,品种,数量,备注)员工(员工编号,姓名,性别,出生日期,住址,电话)购买(购书单编号,数量,条目)销售(发票编号,销售日期,金额,条目,数量)顾客(顾客编号,会员编号,姓名,住址,电话,积分)仓库员工顾客书籍供应商1n1n管理购买供应n11n存储销售n1图 3.2 书店管理系统 E-R

17、图第 11 页 共 26 页4 逻辑模型设计4.1 逻辑模型设计的方法LDM 是 PowerDesigner 用于完成信息系统的逻辑设计。虽然 LDM 仍然是独立于 DBMS 的,但可以进行外部键、索引、视图等对象的设计工作。CDM 生成 LDM 的具体方法如下: (1)选择 ToolsGenerate Logical Data Model 命令,打开 LDM Generation Options(生成 LDM 的选项设置)窗口。 (2)选择 Detail 选项卡,进行其他选项的设置 (3)选择 Selection 选项卡,可以选择 CDM、实体, (4)单击“确定”按钮,开始生成 LDM,生

18、成的 LDM 如图 4.1。第 12 页 共 26 页员工_销售销售_书籍管理仓库_存储存储_书籍顾客_购买购买_书籍供应商_供应供应_书籍供应_书籍员工员工编号仓库编号姓名性别出生日期住址电话Characters (10)Characters (10)Characters (10)Characters (2)TimeLong characters (30)Characters (11)员工编号 顾客顾客编号会员编号姓名住址电话积分 Characters (10)Characters (10)Characters (10)Long characters (30)Characters (11)I

19、nteger顾客编号 供应商供应商编号联系人厂名厂址联系电话 Characters (10)Characters (10)Variable characters (20)Characters (50)Characters (11)供应商编号 书籍书籍编号仓库清单编号书名作者品种出版社价格出版日期Characters (10)Characters (10)Characters (40)Characters (10)Characters (20)Characters (50)MoneyDate书籍编号 销售发票编号员工编号书籍编号销售日期金额条目数量Characters (10)Character

20、s (10)Characters (10)DateMoneyCharacters (100)Integer发票编号 仓库仓库编号仓库名仓库地址仓库管理员仓库电话 Characters (10)Characters (20)Long characters (50)Characters (10)Characters (11)仓库编号 购买购书单编号顾客编号书籍编号数量条目Characters (10)Characters (10)Characters (10)IntegerCharacters (100)购书单编号 供应发货单编号供应商编号条目发货日期价格Characters (10)Charac

21、ters (10)Characters (100)DateMoney发货单编号 存储仓库清单编号仓库编号序号品种数量备注Characters (10)Characters (10)Characters (10)Characters (20)IntegerLong variable characters (100)仓库清单编号 供应_书籍书籍编号发货单编号Characters (10)Characters (10)Identifier_1 图 4.1 书店管理系统的 LDM 模型4.2 逻辑模型实现根据 LDM 模型得到数据库的关系模型如下:书籍(书籍编号,仓库清单编号, 书名,作者,品种,出版

22、社,价格,出版日期)第 13 页 共 26 页仓库(仓库编号,仓库名,仓库地址,仓库管理员,仓库电话)供应商(供应商编号,联系人,厂名,厂址,联系电话)供应(发货单编号,供应商编号,条目,发货日期,价格)存储(仓库清单编号,仓库编号,序号,品种,数量,备注)员工(员工编号,仓库编号,姓名,性别,出生日期,住址,电话)购买(购书单编号,顾客编号,书籍编号,数量,条目)销售(发票编号,员工编号,书籍编号,销售日期,金额,条目,数量)顾客(顾客编号,会员编号,姓名,住址,电话,积分)供应书籍(书籍编号,发货单编号)4.3 数据完整性约束定义根据上面的关系模式,数据库的完整性约束如下所示:(1)实体完

23、整性约束在 4.2 的关系模式中有下划线的为主键。(2)参照完整性约束在 4.2 的关系模式中是斜体的为外键。(3)用户自定义完整性约束 1)在实体员工中,性别只可为“男”或“女” 。 2)所有属性为电话的只可位数字。第 14 页 共 26 页5 物理数据库模型设计与实现5.1 物理数据库模型的图示在 PowerDesigner 中,将 LDM 转换成 PDM,如图 5.1。员工员工编号仓库编号姓名性别出生日期住址电话char(10)char(10)char(10)char(2)datetimevarchar(30)char(11)顾客顾客编号会员编号姓名住址电话积分char(10)char(

24、10)char(10)varchar(30)char(11)int供应商供应商编号联系人厂名厂址联系电话char(10)char(10)varchar(20)char(50)char(11)书籍书籍编号仓库清单编号书名作者品种出版社价格出版日期char(10)char(10)char(40)char(10)char(20)char(50)moneydatetime销售发票编号书籍编号员工编号销售日期金额条目数量char(10)char(10)char(10)datetimemoneychar(100)int仓库仓库编号仓库名仓库地址仓库管理员仓库电话char(10)char(20)varcha

25、r(50)char(10)char(11)购买购书单编号书籍编号顾客编号数量条目char(10)char(10)char(10)intchar(100)供应发货单编号供应商编号条目发货日期价格char(10)char(10)char(100)datetimemoney存储仓库清单编号仓库编号序号品种数量备注char(10)char(10)char(10)char(20)intvarchar(100)供应_书籍发货单编号书籍编号char(10)char(10)图 5.1 书店管理系统的 PDM 模型第 15 页 共 26 页5.2 物理数据库模型的详细表示此处只显示 PowerDesigner

26、中导出的部分表格,后面的表形式都一样,所以只列举出表书籍。(1)表的清单,如表 5.1表 5.1 表的清单名称代码书籍book仓库storage供应supply供应_书籍supply_book供应商provider员工employee存储save购买buy销售sale顾客customer(2)引用的清单,如表 5.2。表 5.2 引用的清单名称代码父表格子表格外键列父角色子角色仓库_存储storage_save仓库存储仓库编号供应_书籍supply_book供应供应_书籍发货单编号供应_书籍supply_book2书籍供应_书籍书籍编号供应商_供应provider_supply供应商供应供应商

27、编号第 16 页 共 26 页员工_销售employee_sale员工销售员工编号存储_书籍save_book存储书籍仓库清单编号管理manage仓库员工仓库编号购买_书籍buy_book书籍购买书籍编号销售_书籍sale_book书籍销售书籍编号顾客_购买customer_buy顾客购买顾客编号(3)表书籍 1)表书籍的卡片,如表 5.3。表 5.3 表书籍的卡片名称书籍代码book 2)表的服务器验证规则书籍。 %RULES% 3)表的检验约束名称书籍。 CKT_BOOK 4)表书籍的引入的引用的清单,如表 5.4。表 5.4 表书籍引入的引用的清单名称代码子表格外键列父角色子角色供应_书

28、籍supply_book供应_书籍书籍编号购买_书籍buy_book购买书籍编号第 17 页 共 26 页销售_书籍sale_book销售书籍编号 5)表书籍的外出的引用的清单,如表 5.5。表 5.5 表书籍的外出的引用的清单名称代码父表格外键列父角色子角色存储_书籍save_book存储仓库清单编号 6)包含表书籍的图的清单,如表 5.6。表 5.6 表书籍的图的清单名称代码Diagram_1Diagram_1 7)表书籍的栏的清单,如表 5.7。表 5.7 表书籍的栏的清单名称代码书籍编号bookID仓库清单编号SListID书名bookName作者author品种variety出版社p

29、ublishingHouse价格price出版日期publishDate 8)表书籍的索引的清单,如表 5.8。第 18 页 共 26 页表 5.8 表书籍的索引的清单名称代码唯一的群集器主要的外键候选键表格书籍_PK书籍_PKTRUEFALSETRUEFALSEFALSE书籍存储_书籍_FK存储_书籍_FKFALSEFALSEFALSETRUEFALSE书籍 9)表书籍的键的清单,如表 5.9。表 5.9 表书籍的键的清单名称代码主要的书籍编号bookIDTRUE5.3 物理数据库模型的实现在本次书店管理系统设计中,在连接数据库是,使用的是 ODBC 接口连接数据库,具体步骤及所建数据库结果

30、如下:(1)在 PDM 模型中选择 DatabaseConnet 命令,打开 Connect to a DataSourse 窗口,如图 5.2 所示。图 5.2 Connect to a Data Sourse 窗口第 19 页 共 26 页(2)在 ODBC machine data source 下拉列表中选择一个建立的数据源,并在 ODBC 中建立一个数据库,在本设计中已经建立好数据库即 TOS数据库。(3)查看连接信息选择 DatabaseConnection Information 命令,可以查看有关连接数据库的信息,如图 5.3 所示。图 5.3 book 数据库连接信息(4)选

31、择 DatabaseGenerate Database 命令,打开 Database Generation 窗口.(5)选择 Option 选项卡,在次选项卡中可以对各类 PDM 对象生成参数,选择 Seclect 选项卡,可以选择需要生成的对象。(6)选择 Preview 选项卡进行预览或单击“确定”生成数据库。从此选项卡中可以看到生成数据库所需的代码。(7)点击“确定”按钮后生成的数据库如图 5.4 所示,共生成 10 个表:book ,storage ,supply ,supply_book ,provider ,employee ,save, buy ,sale,customer第 2

32、0 页 共 26 页图 5.4 生成数据库 10 个表(8)其中 book 表中各列如图 5.5。图 5.5 book 表中各列显示(9)生成数据库部分代码(下面只给出表 employee 的 SQL 代码,其他表跟它一样)。if exists (select 1 from dbo.sysreferences r join dbo.sysobjects o on (o.id = r.constid and o.type = F) where r.fkeyid = object_id(employee) and = FK_EMPLOYEE_MANAGE_STORAGE)alter

33、table employee drop constraint FK_EMPLOYEE_MANAGE_STORAGEgoif exists (select 1第 21 页 共 26 页 from dbo.sysreferences r join dbo.sysobjects o on (o.id = r.constid and o.type = F) where r.fkeyid = object_id(sale) and = FK_SALE_EMPLOYEE_EMPLOYEE)alter table sale drop constraint FK_SALE_EMPLOYEE_EM

34、PLOYEEgoif exists (select 1 from sysindexes where id = object_id(employee) and name = Relationship_3_FK and indid 0 and indid 255) drop index employee.Relationship_3_FKgoif exists (select 1 from sysobjects where id = object_id(employee) and type = U) drop table employeego/*=*/* Table: employee 第 22 页 共 26 页*/*=*/create table employee ( EmployeeID char(10) not null, StorageID char(10) null, name char(10) null, sex char(2) not null, birthday datetime null, address varchar(30) null, phone char(11) null, constraint PK_EMPLOYEE primary key noncluste

温馨提示

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

评论

0/150

提交评论