健身场馆信息管理系统数据库设计_(3).doc_第1页
健身场馆信息管理系统数据库设计_(3).doc_第2页
健身场馆信息管理系统数据库设计_(3).doc_第3页
健身场馆信息管理系统数据库设计_(3).doc_第4页
健身场馆信息管理系统数据库设计_(3).doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

健身场馆信息管理系统数据库设计健身场馆信息管理系统数据库设计学院:软件学院专业:软件工程年级: 2010级姓名: 杜娟学号:1291410067版本变更记录版本号修改人修改时间备注1杜娟2012.05.052杜娟2012.05.143杜娟2012.05.234杜娟2012.06.04目录1 需求分析21.1 编写目的21.2 项目背景21.3 业务流程31.4 系统功能51.4.1总体系统功能图如下:51.4.2 会员管理功能图51.4.3 员工管理功能图61.4.4 健身房管理功能图61.4.5 会员卡管理功能图71.4.6 统计功能图71.5 数据库流图81.6 数据字典102 概念结构设计122.1分e-r图122.2总er图133 逻辑结构设计144物理结构设计145 数据库逻辑设计原则175.1命名规范175.1.1表属性规范185.1.2 索引195.1.3 视图195.1.4 存储过程195.1.5 触发器195.1.5序列195.1.7 变量195.2模式规范化205.3表设计205.3.1表属性规范205.4 视图设计215.5 表分区设计215.6索引设计225.7 sql编写225.7.1 字符类型数据225.7.2 复杂sql225.7.3 insert语句225.7.4 高效性225.7.5 完整性236 开发环境236.1 硬件接口236.2 软件接口231 需求分析1.1 编写目的此健身房信息管理系统数据库设计是为了说明健身房信息管理系统的数据库设计以及其结构情况,用于开发人员进行项目的设计与实现,同时也为后续的数据库维护工作提供了良好的使用说明,更重要的是可以作为未来系统升级时的重要参考资料。1.2 项目背景伴随着科学技术的飞速发展,计算机在业务管理应用中的普及度也越来越高,利用计算机实现健身房管理是势在必行的。对于大中型健身房来说,合理利用计算机支持企业高效率的完成日常事务,是适应现代管理制度需求的必要条件,同样,这也适用于小型健身房企业。计算机管理所无法比拟的优点是检索速度快、可靠性高、存储容量大、保密性好、成本低等。20世纪末,健身行业开始走入中国。作为一种新型的健康消费方式,他给中国人带来新鲜和刺激的同时,也成为中国经济发展的一个增长点,尤其受到民营资本的青睐。由于健身行业与商业零售业不同,他是提高民族素质不可或缺的一个产业,所以国家政策也在不断加大扶持力度。虽然说相对于美国健身行业60年的发展史,中国的健身行还处于初步发展时期,但此时,他却以强劲的发展势头为中国的健康产业开辟了一条新的领域,并给中国健身市场带来了新鲜的活力和极大的变化。据统计,目前全国健身房每年以1000家的速度递增。除了中体倍力具有国营北京外,其余几乎全是民营资本,也就是说民营资本在整个健身房产业占了90%的份额。中国的健身市场随着市场的优胜劣汰会更趋于合理。随着健康生活主题的提倡,人们会更加关注生活的质量和身体的健康,所以健身行业的前景充满了光明。健身行业企业面对前所未有的挑战和机遇,是被动应付还是主动出击,关键取决月企业的核心竞争力,而原始的管理经营模式下,信息是不通畅的,迟缓的,经过不断的摸索和总结,越来越多的经营管理者都已强烈的意识到,只有应用先进的信息技术,才能帮助企业获得比过去更为持久、有效的市场竞争力,以应对市场的竞争和变革。在健身场馆火爆的形式下,健身行业的现状:随着经济水平的提高,健身必然成为人们主要的生活方式之一,其市场潜力无可限量,健身行业可谓是“钱”途无量。但是在启动时,又没有一个标准化的管理方向。健身房管理不是简单的租块场地,摆些器材,请几个教练就行了,他对专业的要求很高,对公司管理要求也很高。健身房管理的问题,是一个健身企业如火热长远发展、取得最大收益的问题。只有在正确的管理战略方针的指导下,之后的战术方法才能确保科学性、有效性和效益型。健身房作为健身服务企业,随着自身规模的不断扩大,客户数量增多,出于更好的对客户进行管理和服务,提高员工工作效率,降低管理成本等多方面的考虑,有必要通过现代化科技手段,建立完善的客户自动化管理系统,以取代现有的手工操作,让公司原有的电脑设备能够更好的发挥作用,并通过自动化的客户管理方法,提升健身房档次,方便服务客户,扩大企业规模。1.3 业务流程一个健身场馆拥有若干个健身房,每个健身房可以拥有多种器材,每种器材的品种达上百种。健身馆信息管理记录了器材的分布状况、购买日期以及维护状态,能够更好地管理器材。每个健身房的训练项目不是固定的,教练也不固定,大多为外聘教练。每个训练项目由不同的教练教授,每个教练只教授一种训练项目。健身馆需要办理会员卡或者以访客的身份登记之后,才可以进入,每个健身房收费不同,可以选择只在健身房自由锻炼,也可以选择自费有教练指导的训练项目。每个健身房有固定人员,负责管理或者清洁健身房。业务流程图如下:(1)会员 图1.3.1 会员业务流程图(2) 管理员图1.3.2 管理员业务流程图1.4 系统功能对于客户管理,健身房管理系统首先需要为每一位客户建立尽可能详细的客户档案,将客户手中的会员卡重的会员资料和系统内客户资料统一起来。客户每次来消费,只要进行刷卡,系统就能查找客户的健身历史材料,并记录下来客户的健身时间,次数,有效期。客户能够方便的查询自己健身的统计资料,以便作出相应的健身计划调整。对于老客户继续参加健身的,系统可以轻易识别。1.4.1总体系统功能图如下:图1.4.1 总体系统功能图1.4.2 会员管理功能图 会员的管理模块为:会员信息管理,消费管理模块。管理员可以对会员的信息和消费项目进行统计管理,便于对会员的管理。图1.4.2 会员管理功能图1.4.3 员工管理功能图 员工管理模块分为:考勤管理,工资管理。考勤管理既对员工的工作时间进行考察并与员工的工资挂钩。图1.4.3 员工管理功能图1.4.4 健身房管理功能图 健身房管理模块分为:项目编制,课程管理,上课管理。项目编制既对项目进行制定和删除,课程管理既对项目的时间进行制定,上课管理即对健身房所进行的项目。图1.4.4 健身项目管理功能图1.4.5 会员卡管理功能图 会员卡管理模块分为:会员卡充值,会员卡办理,会员卡补办,会员卡挂失。图1.4.5 会员卡管理功能图1.4.6 统计功能图 统计功能模块分为:会员消费统计,员工业绩统计,营业统计。通过三个板块馆主可以知道健身馆的盈利亏损,对健身馆进行一定的调整。图1.4.6 统计管理功能图1.5 数据库流图使用结构化分析方法,确定系统的数据主要是会员、会员卡、员工、教练和健身项目,对数据的操作主要有员工修改、会员卡修改、员工修改、教练修改、健身项目,可以确定系统的处理逻辑和流程,得到如下所示的系统数据流图。图1.5.1 健身场馆第一层流程图图1.5.2 第二层数据流图1图1.5.3 第二层数据流图225图1.5.4 第二层数据流图31.6 数据字典(1)数据项(以消费编号为例)数据项名:消费编号含义说明:唯一标识每个消费单别名:消费单编号类型:字符型长度:12取值含义:前四位标识消费的年份,五、六位标识消费的月份,七、八位标识消费的日期,后五位标识消费的编号。如20120516 00001表示在2012年5月16日消费了1号消费品。(2)数据结构数据结构名:消费单含义说明:是消费管理子系统的主体数据结构,定义了每张消费单的基本信息组成:消费编号,消费卡标号,消费年月,开始消费时间,结束消费时间,教练编号(3)数据流数据流名:消费单说明:顾客消费的最终结果(4)数据项(已消费编号为例)数据项名:消费编号含义说明:唯一标识每个消费单别名:消费单编号类型:字符型长度:13取值含义:前四位标识消费的年份,五、六位标识消费的月份,七、八位标识消费的日期,后五位标识消费的编号。与其他数据项的逻辑关系:前八位与消费年份相匹配(5)数据结构数据结构名:消费单含义说明:是消费管理子系统的主体数据结构,定义了每张消费单的基本信息组成:消费编号,消费卡标号,消费年月,开始消费时间,结束消费时间,教练编号(6)数据流数据流名:消费单说明:顾客消费的最终结果数据流来源:编过号的消费单数据流去向:确认组成:消费编号,消费卡标号,消费年月,开始消费时间,结束消费时间,教练编号(7)数据存储数据存储:消费单表说明:记录消费的基本情况流入数据流:编过号的消费单流出数据流:确认组成:消费编号,消费卡标号,消费年月,开始消费时间,结束消费时间,教练编号存取方式:随机存取2 概念结构设计2.1分e-r图图2.1.1 分e-r图1图2.1.2 分e-r图2图2.1.3 分e-r图3 2.2总er图图2.2.1 总e-r图3 逻辑结构设计关系模式:健身场馆(健身场馆编号,场馆名称,馆主姓名,电话,地址,会员人数,教练人数,员工人数)健身房(健身房编号,健身房名称,健身场馆编号)教练(教练编号,教练姓名,性别,电话,职称,工时,工资,健身项目编号)员工(员工编号,工作人员姓名,性别,电话,职称,工时,工资,健身房编号)健身项目(健身项目编号,健身项目名称,会员人数,教练人数,健身房编号)会员(会员编号,会员姓名,性别,电话,消费时间,会员等级,教练编号,健身项目编号)会员卡(会员卡编号,日期,会员编号)器材(器材编号,器材名称,健身项目编号)消费单(消费单编号,消费时间,教练编号,会员姓名,健身房编号,健身项目编号)健身项目-会员(健身项目编号,会员编号,消费单编号)健身房-健身项目(健身房编号,健身项目编号,健身项目类别)教练-会员(教练编号,会员编号,健身项目编号)4物理结构设计 “健身场馆”表结构字段名称字段类型字段长度索引类型备注z_id整形10主键健身场馆编号z_name字符8场馆名称z_pname字符8馆主姓名z_phone字符10电话z_adress字符40地址z_num整形20会员人数l_num整形20教练人数y_num整形20员工人数表1表2“健身房”表结构字段名称字段类型字段长度索引类型备注j_id整形10主键健身房编号j_name字符8健身房名称z_id字符10外键健身场馆编号表3“教练”表结构字段名称字段类型字段长度索引类型备注l_id整形10主键教练编号l_name字符8教练姓名l_sex字符5性别l_phone字符10电话l_job字符20职称l_time字符30工时l_money字符30工资p_id整形30外键健身项目编号表4“员工”表结构字段名称字段类型字段长度索引类型备注y_id整形10主键员工编号y_name字符8工作人员姓名y_sex字符5性别y_phone字符10电话y_job字符20职称y_time字符30工时y_money整形30工资j_id整形10外键健身房编号表5“健身项目”表结构字段名称字段类型字段长度索引类型备注p_id整形10主键健身项目编号p_name字符8健身项目名称h_num字符20会员人数l_num字符20教练人数j_id字符10外键健身房编号表6“会员”表结构字段名称字段类型字段长度索引类型备注h_id整形10主键会员编号h_name字符8会员姓名h_sex字符5性别h_phone字符10电话h_time字符20消费时间h_grade整形30会员等级j_id整形30外键教练编号p_id整形30外键健身项目编号表7“会员卡”表结构字段名称字段类型字段长度索引类型备注k_id整形10主键会员卡编号k_date日期8日期h_id整形20外键会员编号表8“器材”表结构字段名称字段类型字段长度索引类型备注q_id整形10主键器材编号q_name字符8器材名称p_id整形10外键健身项目编号表9“统计”表结构字段名称字段类型字段长度索引类型备注t_id整形10主键统计编号t_date时间8统计时间t_huiyuan双精度10会员消费额t_yuangong字符型20员工业绩值t_ymoney双精度20员工工资t_all双精度30总体营业额5 数据库逻辑设计原则5.1命名规范命名应该使用英文单词,避免使用拼音,特别不应该使用拼音简写。命名不允许使用中文或者特殊字符。英文单词使用对象本身意义相对或相近的单词。选择最简单或最通用的单词。不能使用毫不相干的单词来命名。当一个单词不能表达对象含义时,用词组组合,如果组合太长时,采用用简或缩写,缩写要基本能表达原单词的意义。表名、字段名、视图名长度应限制在20个字符内(含前缀)。命名不允许使用sql保留字。5.1.1表属性规范表名采用camel样式命名,命名格式为表名。示例:tickettype表名以英文单数命名,不采用复数方便更好的使用orm工具生成符合编程规范的代码。示例:使用product而不是products字段名字段名称命名采用英文单词或缩写,英文单词只来自于具体业务定义,尽量表达清楚含义。同一个字段名在一个数据库中只能代表一个意思。不同的表用于相同内容的字段应该采用同样的名称,字段类型定义。命名格式为大写字母_英文单词。示例:h_name字段名称前不要加上表名前缀,比如用户表user包含一个用户名字段,建议采用name,不建议采用h_name形式。 对于表示字符型的字段数据类型建议使用varchar,(oracle为varchar2),而不是char,建议数据类型尽量采用如下几基本类型。ms sql数据类型oracle数据类型字符varcharvarchar2整数intnumber(10)带小数的数字decimal (p , s )number (p , s )日期datetimedate布尔型bitnumber(1)二进制数据varbinary(max)blob文本数据varchar(max)clob如无特别需要,避免使用大对象数据库类型,如oracle的blob,clob等,sql server的 varchar(max) 和 varbinary(max)等。5.1.2 索引前缀为ix+索引名称。示例:ixh_id5.1.3 视图视图名称采用pascal样式命名(以下的对象命名样式一样)。命名格式为view+ 视图名称。示例:viewstation5.1.4 存储过程前缀为proc(为了兼容sql server, oracle的函数前缀也采用proc)。按业务操作命名存储过程。5.1.5 触发器前缀为trig 。命名格式为 前缀 + 表名 + 触发器名+操作方式(insert、update等)。5.1.5序列前缀为seq 。按业务属性命名。(序列为oracle特有的对象类型)。5.1.7 变量普通变量前缀为var 。 存放字符、数字、日期型等变量。示例:varname游标变量前缀为cur 。存放游标记录集。记录型变量前缀为rec。 存放记录型数据。表类型变量前缀为tab 。 存放表类型数据。5.2模式规范化如无性能上的必须原因,应该使用关系数据库理论,达到较高的范式,避免数据冗余,但是如果在数据量上与性能上无特别要求,考虑到实现的方便性可以有适当的数据冗余,但基本上要达到3nf。5.3表设计每个表在创建时候,必须指定所在的表空间,不要采用默认表空间以防止表建立在系统表空间上导致性能问题。对于事务比较频繁的数据表,必须存放在用户自己创建的表空间中(对oracle数据库而言)。表的大小对查询的速度影响较大。有时为了提高数据库性能,把常用的属性和很少使用的属性分成两个表,可提高常用查询的速度。5.3.1表属性规范主键外键关联对于关联两个表的字段,一般应该分别建立主键、外键。实际是否建立外键,根据对数据完整性的要求决定。为了提高性能,对于数据量比较大的要求对外健建立索引。对于有要求级联删除属性的外键,必须指定on delete cascade 或通过对应程序来实现。null值采用camel样式命名,命名格式为表名。check条件 对于字段有检查性约束,要求指定check规则。触发器 触发器是一种特殊的存储过程,通过数据表的dml操作而触发执行,起作用是为确保数据的完整性和一致性不被破坏而创建,实现数据的完整约束。触发器事务属性的选择时候,对表操作的事务属性必须与应用程序事务属性保持一致,以避免死锁发生。尽量避免使用触发器。5.4 视图设计每个表在创建时候,必须指定所在的表空间,不要采用默认表空间以防止表建立在系统表空间上导致性能问题。对于事务比较频繁的数据表,必须存放在用户自己创建的表空间中(对oracle数据库而言)。视图是虚拟的数据库表,在使用时要遵循以下原则:(1)从一个或多个库表中查询部分数据项;(2)为简化查询,将复杂的检索或字查询通过视图实现;(3)提高数据的安全性,只将需要查看的数据信息显示给权限有限的人员;(4)视图中尽量避免嵌套使用视图;除特殊需要,避免类似select * from tablename 而没有检索条件的视图;5.5 表分区设计当表数据是分段的数据,且比较多,查询时明显感觉到数据很慢时,可考虑创建分区表。分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外,分区还可以极大简化常见的管理任务。比如,表数据是以年为分隔,对于当年的数据的操作需要添加、修改、删除和查询,而对于往年的数据,几乎不需要操作,或者操作往往只限于查询,那可考虑使用分区表。5.6索引设计对于查询中需要作为查询条件的字段,可以考虑建立索引。最终根据性能的需要决定是否建立索引。对于复合索引,索引字段顺序比较关键,把查询频率比较高的字段排在索引组合的最前面。对于簇集索引(clustered index)和非簇集索引(nonclustered index)的选择问题,一般在经常排

温馨提示

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

评论

0/150

提交评论