花店管理系统数据库设计.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流花店管理系统数据库设计.精品文档.厚德树人笃学致用*遵义师范学院课程设计报告题 目: 花店管理系统 学 院 计算机与信息科学学院 专 业 计算机科学与技术 年 级 姓 名 学 号 指导教师 完成日期 2013-6-20 2012 至 2013 学年第 二学期目录1 概述32系统需求分析32.1需求分析任务32.2设计要求32.3数据流图42.3.1花供应、存储数据流图42.3.2销售订购数据流图42.3.3数据字典53概念结构设计53.1概念结构设计的方法53.2 整体功能描述63.2.1系统实现的主要功能63.2.2系统功能模块图63.3.3系统实现的主体操作模块63.3.4系统主体操作模块图73.3 零售子系统E-R图73.4 订购子系统E-R图83.5 供应子系统E-R图93.6整体E-R图94.逻辑结构设计104.1关系数据模式104.2优化114.2.1确定数据依赖114.2.2消除冗余124.2.3分解成第三范式:124.3 数据库的结构124.4数据库表的设计135.数据库物理设计与实施155.1数据库应用的硬件、软件环境介绍155.2系统视图165.3加载测试数据176.数据操作要求及实现206.1数据插入、查询操作206.2数据更新操作206.3数据连接查询操作217.总结228.参考文献24花店管理系统摘要:我们已经学习了两个学期的数据库课程,所以对数据库的创建和SQL语言以及数据库表的增加、修改、删除有了很好的掌握。这次实验要求建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试的一般过程,为我们的毕业设计打下基础。 为了更好的巩固和加强书本所学的知识,并把所学的东西转化为实际应用,在这里我进行花店管理系统数据库的设计。通过把花店管理系统的构造以及采购的信息还有鲜花,店员的相关信息制成表格,输入到数据库中,使之能够进行查询、修改、删除并且与花店管理系统执行相同的操作。需求分析阶段就是要研究我所作的花店管理系统的具体分类和实施过程流图。概念设计阶段要完成数据抽象与局部视图设计还有视图的集成。逻辑结构设计阶段要把E-R图转化为关系模式。最后就是要运行和实施数据库。关键词:SQL语言;数据库设计;花店管理系统1 概述随着人们的物质生活水平的不断提高和社会的进步,人们表达情感的方式也大不一样,比如,在情人节里会送给自己心仪的人一束鲜艳欲滴的玫瑰,在三.八妇女节会送给妈妈一束美丽的康乃馨,等等。很多生活中的实际例子都证明,鲜花总是可以带给人温馨与浪漫,为人们的生活增添了更多色彩,它已成为人们生活中不可缺少的一部分。随之而来的就是很多小型花店的诞生。所以,对于很多店主来说,就希望有一套高效的管理系统来提高管理效率,进而提高收益。所以,想到这一点,我就特别创作了这样一个关于花的世界的数据库系统。2系统需求分析2.1需求分析任务分析花店管理系统应用领域涉及的内容,对涉及到的领域的各个应用的信息要求和操作要求进行详细分析,形成需求分析说明书。最重要的是调查、收集信息、分析鲜花信息和鲜花购买流程。处理要求、数据的安全性与完整性要求。要求系统能有效、快速、安全、可靠和无误的完成上述操作。并要求客户机的界面要简单明了,易于操作,服务器程序利于维护。2.2设计要求花店店位一般位于居民聚集区、菜场、学校、医院附近或人流较大街区,店面使用面积在20左右,有12名营业人员。创业初期的投入在5至10万人民币。由于受到投资规模的限制,店主期望在不增加日常开支的前提下,扩大客户群,提供更多货品信息,通过高效的经营管理方式以降低营运成本并产生良好的收益。本花店管理系统是针对小型花店经营模式进行相关业务管理的一套软件。应用本系统的目的是有助于花店管理业务便利开展,提高工作效率,提升服务质量,使花店在一定时期内产生明显的收益。2.3数据流图2.3.1花供应、存储数据流图图1花供应、存储数据流图2.3.2销售订购数据流图顾客订购需求订购订购信息送货花收花人图2销售订购数据流图2.3.3数据字典将所有用户需求分析完毕之后,就要开始构造数据字典了。经分析之后,本系统要用到七个基本表:花信息表,顾客信息表,供应商信息表,库存信息表,零售信息表,供应信息表和订购信息表数据结构定义如表1所示。数据结构名含义说明组成花信息表定义了花的有关信息花编号、名称、花语、进货单价、销售单价顾客信息表定义了顾客的有关信息顾客编号、顾客姓名、性别、电话供应商信息表定义了花的供应商的有关信息厂商名、地址、电话库存信息表定义了库存的有关信息编号、仓库名称,工资,花店编号零售信息表定义了销售有关信息零售编号、花编号、数量、日期供应信息表定义了花供应的有关信息花编号、厂商名、供应数量、日期订购信息表定义了订购花的有关信息花编号、顾客编号、订购数量、订购日期、送货时间、送货地点、备注表1 数据结构定义3概念结构设计3.1概念结构设计的方法概念设计阶段我采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上的进行概念结构设计。对已经细化到无法再分的阶段逐步集成在一起,最终合成一个全局概念模式。3.2 整体功能描述3.2.1系统实现的主要功能(1) 花信息管理:花基本信息的查询、修改、新增、删除管理。(2) 顾客管理:顾客资料的方便查询和录入、顾客资料和信息的查询(3) 销售(订购)管理:顾客订购信息的录入、修改、查询以及零售顾客买花信息记录。(4) 花店供应管理:各种花材来源的供应商相关信息记录。(5) 仓库管理:花材存储位置、数量等信息管理。3.2.2系统功能模块图图3系统功能模块图3.3.3系统实现的主体操作模块(1)新增模块新花添加:添加新的花材种类和相关信息。新增客户:新建客户资料,即新客户资料的录入。新增供货商:花材供货来源厂商信息的增加。(2)查询模块 花材信息查询:查询花材的基本信息。 客户信息查询:查询客户的基本资料。 库存信息查询:查询库存量。供应商查询:查询供应商相关资料。(3)修改模块花材信息修改:对需要改动的花的信息进行修改。客户信息修改:对需要改动的客户信息进行修改。供应商信息修改:对需要改动的供应商的信息进行修改。仓库信息修改:对需要改动的仓库的信息进行修改。图4系统主体操作模块图3.3.4系统主体操作模块图3.3 零售子系统E-R图零售系统是针对顾客直接到店里买花,它记录的信息有:花的编号、顾客买的花数量、顾客买花的日期。图5零售子系统E-R图3.4 订购子系统E-R图订购系统是针对顾客亲自到店里预订鲜花或是打电话预订鲜花的相关信息的记录,其中包括的信息有:花编号、顾客编号、订购数量、订购日期、送货时间、送货地点等。图6订购子系统E-R图3.5 供应子系统E-R图供应系统管理的是供应商对花的供应,其中还记录有供应的花的数量和日期等信息。图7供应子系统E-R图3.6整体E-R图把几个子系统合并得整体的E-R图如下所示: 图8整体E-R图4.逻辑结构设计4.1关系数据模式(1)花信息表:(花编号、名称、花语、进货单价、销售单价)(2)顾客信息表: (顾客编号、顾客姓名、性别、电话)(3)供应商信息表:(厂商名、地址、电话)(4)库存信息表: (编号、仓库名称)(5)零售信息表:(零售编号、花编号、数量、日期)(6)供应信息表: (花编号、厂商名、供应数量、日期)(7)订购信息表: (花编号、顾客编号、订购数量、订购日期、送货时间、送货地点、备注)4.2优化将转化的关系模式进行优化,最终达到第三范式。4.2.1确定数据依赖(1)供应商信息:(厂商名、地址、电话)厂商名地址,厂商名电话(2)库存信息: (编号、仓库名称)编号仓库名称(3)花信息:(花编号,名称,花语、进货单价、销售单价)花编号名称,花编号花语,花编号进货单价,花编号销售单价(4)顾客信息: (顾客编号、顾客姓名、性别、电话)顾客编号顾客姓名,顾客编号性别,顾客编号电话(5)零售信息:(零售编号、花编号、数量、日期)零售编号花编号,零售编号数量,零售编号日期(6)供应信息: (花编号、厂商名、供应数量、日期)花编号厂商名,花编号供应数量,花编号日期(7)订购信息: (花编号、顾客编号、订购数量、订购日期、送货时间、送货地点、备注)花编号顾客编号,花编号订购数量,花编号订购日期,花编号送货时间,花编号送货地点4.2.2消除冗余厂商名地址,厂商名电话,编号仓库名称,花编号名称,花编号花语,花编号进货单价,花编号销售单价,顾客编号顾客姓名,顾客编号性别,顾客编号电话,零售编号花编号,零售编号数量,零售编号日期,花编号厂商名,花编号供应数量,花编号日期,花编号顾客编号,花编号订购数量,花编号订购日期,花编号送货时间,花编号送货地点4.2.3分解成第三范式:(编号、仓库名称)(花编号,名称,花语、进货单价、销售单价) (顾客编号、顾客姓名、性别、电话)(零售编号、花编号、数量、日期)(花编号、厂商名、供应数量、地址、电话、日期)(花编号、顾客编号、订购数量、订购日期、送货时间、送货地点、备注)4.3 数据库的结构字段名数据类型长度约束花编号int 主键名称nchar10不为空花语nchar10不为空进货单价decimal(18,2)不为空销售单价decimal(18,2)不为空表2花信息表的结构字段名数据类型长度约束厂商名nchar10 不为空地址nchar20不为空电话nchar15不为空表3 供应商信息表的结构字段名数据类型长度约束顾客编号int 主键顾客姓名nchar10不为空性别nchar3不为空电话nchar10不为空表4 顾客信息表的结构字段名数据类型长度约束编号int主键仓库名称nchar10不为空表5 库存信息表的结构字段名数据类型长度约束零售编号int 主键花编号nchar20不为空数量nchar10不为空日期datetime不为空表6 零售信息表的结构字段名数据类型长度约束花编号int 主键厂商名nchar10不为空供应数量nchar10不为空日期datetime不为空表7 供应信息表的结构字段名数据类型长度约束花编号int 主键顾客编号nchar20不为空订购数量int不为空订购日期data不为空送货时间datatime不为空送货地点nchar10不为空备注nchar10不为空表8订购信息表的结构4.4数据库表的设计(1)花信息表:表9花信息表(2)顾客信息表:表10顾客信息表(3)供应商信息表:表11供应商信息表(4)库存信息表:表12库存信息表(5)零售信息表:表13零售信息表(6)供应信息表:表14供应信息表(7)订购信息表:表15订购信息表5.数据库物理设计与实施5.1数据库应用的硬件、软件环境介绍本次实验用到的软件是SQL server 2008,安装它对硬件、软件环境的要求如下表:项 目要求说明CPU处理器类型: Pentium III兼容处理器或速度更快的处理器处理器速度: 最低:1.0 GHz 建议:2.0 GHz 或更快内存最小:512MB建议:2GB或更大硬盘根据组件的不同,需要的硬盘空间进行变化。笔者建议2.2GB以上硬盘空间显示器分辨率1024x768 像素以上操作系统Windows Server 2003 Service Pack 2Windows Server 2008Windows Server 2008 R2可以安装到64位服务器的Windows on Windows (WOW64)32位子系统中项 目要求说明需要的框架.NET Framework 3.5 SP1SQL Server Native ClientSQL Server 安装程序支持文件需要的软件Microsoft Windows Installer 4.5或更高版本Microsoft Internet Explorer 6 SP1或更高版本网络协议Shared memory(客户端连接本机SQL Server实例时使用)Named PipesTCP/IPVIA表16 SQL server 2008安装对硬件、软件环境的要求5.2系统视图图9系统视图5.3加载测试数据(1)花信息表:图10花信息表(2)顾客信息表:图11顾客信息表(3)供应商信息表:图12供应商信息表(6) 库存信息表:图13 库存信息表(5)零售信息表:图14 零售信息表(7) 供应信息表:图15 供应信息表(8) 订购信息表:图16 订购信息表6.数据操作要求及实现6.1数据插入、查询操作(1)向顾客信息表中插入一条信息并查询该表的全部信息,结果如下图:图17 向顾客信息表中插入信息(2)查询花编号=2的花的花语,结果如图所示:图18 查询花编号=2的花的花语6.2数据更新操作(1)把花的信息表中花编号=1的花的名称改为红玫瑰,结果如下图:图19 把花的信息表中花编号=1的花的名称改为红玫瑰6.3数据连接查询操作(1)对供应信息表和供应商信息表进行连接查询,结果如图所示:图20 对供应信息表和供应商信息表进行连接查询(2)对花信息表和库存信息表连接查询一号仓库存放的花,其结果如下图所示:图21对花信息表和库存信息表连接查询一号仓库存放的花7.总结本次实验对于我来说是一个很大的挑战,我们以前做的实验报告都没有这次这么正式,这么要求标准,这次实验报告老师是以毕业设计的标准来要求我们的,虽然觉得自己做的有模有样,但我深知离毕业设计的标准还差很远,特别是内容上的差距。 通过最近这一段时间的实验,我的花店管理系统的设计终于竣工了。在这个系统的设计过程中,不仅加深了我对数据库知识的掌握,还对所学过的软件工程这个概念有了更深刻的理解,也了解了软件生命周期的各个工作流:需求,分析,设计,实现和维护。同时我认为需求分析阶段很重要,在没有对需求分析深刻了解之前,我对一个程序的认识只局限于功能的实现,编写代码,并没有考虑什么需求分析,。通过这次花店管理系统项目的实现,我发现需求分析设计是很重要的,老师也说过需求分析阶段很重要。因为在实际的项目中,用户的要求会随着其项目的发展而变动,如果没有很细腻的需求分析,一开始就设计实现,那么一旦用户需求发生变动,实现的部分就都要重新再做,既浪费人力也浪费财力。但如果我们重视需求分析,当用户的需求稍加改动,我们也可以采取好的措施来修改。本次实验做完之后我觉得不足之处有:应该为该系统加上两张表,员工信息表和花店信息表,为它们添加字段为:员工信息表(员工编号、姓名、性别、电话)和花店信息表(店名,地址,电话)。应该为该系统的表建立索引,在网上查看了相关知识,知道了建立索引有好有坏,好处是可以大大提高数据库的检索速度,改善数据库性能。缺点是带索引的表在数据库中需要更多的存储空间;操纵数据的命令需要更长的处理时间,因为它们需要对索引进行更新。还有在表中仅有几行数据时为其建立索引不划算,因为SQL Server在索引中搜索数据所花的时间比在表中逐行搜索所花的时间更长。而本系统中的表的数据都很少,所以就没有为其创建索引,也不知道这样做何不合适。在4.3节的确定数据依赖、消除冗余、分解成第三范式做得很忐忑,我们的离散数学也学过第三范式,但还是没有很好的掌握。希望在下一次的实验中我已对第三范式有很深的掌握。8.参考文献1丁学钧,温秀梅.Visual Basic语言程序设计M.清华大学出版社,2009.2 王珊,陈红数据库系统原理教程M清华大学出版社,1998,7 3程爱红.分层分组教学模式在信息技术课堂上的应用J. 学校党建与思想教育,2012(8).4 夏邦国,刘凡馨.Visual C+数据库开发经典实例精解M.机械工业出版社.2003.5 陈世洪.SQL SERVER 200管理开发及应用实例M.人民邮电出版社.2002.6 姜代红.数据库原理与应用M.机械工业出版社.2000.7 李晓喆等.SQL Server2000管理及应用系统开发M.人民邮.1998.8 萨师煊,王珊.数据库系统概论(第三版)M.北京:高教出版社.2000.9 萨师煊,王珊.数据库系统概论(第四版) M.北京:高教出版社.2006.10 李书琴,杨丽丽.数据库原理与应用实习指导书M.信息工程学院.2007.11 姚巍.Visual Basic数据库开发及工程实例M.北京:人民邮电出版社.2003.12高春艳,李俊民,刘彬彬.Visual Basic数据库系统开发案例精选M.北京:人民邮电出版社.2006.