1、 健身场馆信息管理系统数据库设计 21 2020年4月19日 文档仅供参考,不当之处,请联系改正。 目 录 一、需求分析 3 1.1项目背景 3 1.2数据采集 4 1.3业务流程 4 1.4系统功能 4 1.5数据流图 4 1.6数据字典 4 二、概念结构设计 7 2.1全局E-R图 9 三、逻辑结构设计 10 3.1选定DBMS 10 3.2关系模型 10 3.3规范化原则优化 11 3.4数据模型完整性 11
2、 四、物理设计 11 4.1数据表结构 11 4.2关系模式存取方法选择 17 4.3数据存放位置的选择 17 一、需求分析 1.项目背景 随着经济的发展和人们生活水平的提高,仅局限于个人温饱的衣食住行上的消费已经不能满足人们的需求。同时各种疾病的发生率如心脏病、癌症等也越来越高。关注身体健康已经成为当下热门的话题,健身房成为时下流行的消费场所,不论年龄,职业,性别大家都知道生命在于运动。而健身房的信息冗杂,人员众多,如何更加高效地管理,成为一个亟待解决的问题。 健身馆信息管理系统是帮助健身馆更好地管理、经营的信息管理系统。方便管
3、理者更方便地获取和管理健身馆经营状况,器械维护状况,会员职员状况等信息。 2.数据采集 (1)各个训练项目的名称,开始时间,结束时间,标准收费; (2)各个健身房的名称,标准门票,房间号,联系电话,开门时间,关门时间; (3)各个器械对应的项目,品牌编号,购买日期,维护状态;各品牌的种类及价格; (4)各个清洁人员、管理人员的姓名,性别,年龄,负责健身房的情况,基本薪金,联系方式,住址; (5)各个教练的姓名,性别,年龄,训练项目编号,基本薪金,联系方式,住址;教练的聘用时间; (6)各个会员的姓名,性别,生日,年龄,工作单位,职业,住址,联系方式,推荐人;以及会员的消费状况。
4、 3.业务流程 (1)硬件设施 以长春市净月开发区博硕路的浩瑞斯健身会馆为例,它作为一个连锁店,内设舞蹈房,瑜伽房,动感单车房,器械房等健身房间,另外有换衣间,洗浴间,卫生间等必备房间,在场馆中央设置大厅,提供电视,沙发等供会员以及工作人员休息娱乐。 (2) 项目安排 综合年龄,职业以及兴趣等综合考虑,我们开设如下项目,舞蹈类有:健身街舞、爵士舞、肚皮舞、民族舞、有氧操等;瑜伽类有:传统瑜伽、球瑜伽、普拉提等;健身器材类有:跑步机、划船器、肩部推举器、高拉背训练器、坐式屈腿训练器、踏板等。 (3) 具体流程 一个健身场馆拥有若干个健身房,每个健身房拥有多种器
5、材,健身馆信息管理系统记录了器材的分布状况、购买日期、维护人员以及维护状态,以便能够更好地管理器材。 每个健身房的训练项目是固定的,可是教练不固定,大多为外聘教练。每个训练项目由不同的教练教授,每个教练只教授一种训练项目。 健身馆需要办理会员卡才能够进入,会员的收费标准由会员所选择的训练项目而定,项目越多,享受的优惠越多。会员持卡进入场馆,为了避免顶替冒充者,卡中有本人照片存储,会员的直接联系人为会员顾问,每名会员顾问负责5—10名会员。 会员可聘请私人教练约定固定时间来进行训练,也可自己练习,馆内会安排教练进行相应指导。 每个健身房有固定人员,负责管理或者清洁
6、健身房以及收取门票。 4.系统功能 (1) 在顾客子系统中能够查看和修改顾客姓名; (2) 在员工子系统中能够查看好修改员工的基本信息,如员工姓名,住址、基本薪资、来管工作的时间等; (3) 在消费子系统中能够查看和修改消费的基本信息,如消费时间、消费额度等,进而能了解收入情况。 (4) 在器械子系统中能够查看和修改器械的基本信息,如类型,购买时间、购买地点、用途、管理人员等; 下图1为健身馆第一层功能框图,有顾客管理、员工管理、消费管理、器械管理四个子功能模块。 健身馆信息管理系统 器械管理 消费管理 员工管理 顾客管理
7、 图1第一层功能框图 下图2为子功能模块1——顾客管理的内容,分别为顾客信息管理以及顾客信息修改。 顾客信息管理 顾客管理 顾客信息修改 图2顾客管理功能图 下图3为子功能模块2——员工管理的内容,分别为员工信息查看以及员工信息修改。 员工信息查看 员工管理 员工信息修改 图3员工管理功能图 下图4为子功能模块3——消费管理的内容,分别为消费信息查看、消费卡信息以及消费的信息。 消费信息查看 消费卡信息 消费管理 消费的信息 图4消费管理功能图 下图5为子功能模块4——器械
8、管理的内容,分别为器械信息查看以及器械的信息。 器械信息查看 器械管理 器械的信息 图5器械管理功能图 5.数据流图 下图为第一层次流程图: 图6健身场馆第一层次流程图 下面三幅图(图7、8、9)为第二层数据流图 图7 图8 图9 6.数据字典 (1)数据项(以消费编号为例) 数据项名:消费编号 含义说明:唯一标识每个消费单 别名:消费单编号 类型:字符型 长度:12 取值含义:前四位标识消费的年份,五、六位标识消费的月份,七、八位标识消费的日期,后五位标识消费的编号。如 0516 00001表示在 5月16日消费了1
9、号消费品。 (2)数据结构 数据结构名:消费单 含义说明:是消费管理子系统的主体数据结构,定义了每张消费单的基本信息 组成:消费编号,消费卡标号,消费年月,开始消费时间,结束消费时间,教练编号 (3)数据流 数据流名:消费单 说明:顾客消费的最终结果 (1)数据项(已消费编号为例) 数据项名:消费编号 含义说明:唯一标识每个消费单 别名:消费单编号 类型:字符型 长度:13 取值含义:前四位标识消费的年份,五、六位标识消费的月份,七、八位标识消费的日期,后五位标识消费的编号。 与其它数据项的逻辑关系:前八位与消费年份相匹配 (2)数据结构 数据结构名:消费单
10、 含义说明:是消费管理子系统的主体数据结构,定义了每张消费单的基本信息 组成:消费编号,消费卡标号,消费年月,开始消费时间,结束消费时间,教练编号 (3)数据流 数据流名:消费单 说明:顾客消费的最终结果 数据流来源:编过号的消费单 数据流去向:确认 组成:消费编号,消费卡标号,消费年月,开始消费时间,结束消费时间,教练编号 (4)数据存储 数据存储:消费单表 说明:记录消费的基本情况 流入数据流:编过号的消费单 流出数据流:确认 组成:消费编号,消费卡标号,消费年月,开始消费时间,结束消费时间,教练编号 存取方式:随机存取 二、概念结构设计 总E—R图
11、 三、逻辑结构设计 1.选定DBMS 使用SQL SERVER为DBMS,开发本系统。 2.关系模式 训练项目(训练项目编号,名称,开始时间,结束时间,收费标准) 健身房(健身房编号,训练项目编号,名称,标准门票,房间号,联系电话,开门时间,关门时间,管理人员) 器械(器械编号,训练项目编号,品牌编号,购买日期,维护状态) 管理人员(管理人员编号,姓名,性别,年龄,健身房编号,基本薪金,联系方式,住址) 清洁人员(清洁人员编号,姓名,性别,年龄,健身房编号,基本薪金,联系方式,住址) 教练(教练编号,姓名,性别,年龄,训练项目编号,基本薪金,
12、联系方式,住址) 会员(会员编号,姓名,性别,生日,年龄,工作单位,职业,住址,联系方式,推荐人) 消费(消费编号,消费名称,会员编号,消费时间) 3.规范化原则优化 要具有良好全局关系模式 4.数据模型完整性 (1)实体完整性:本数据库应用系统中,实体有训练项目,健身房,器械,管理人员,清洁人员,教练,会员,消费。 (2)参照完整性:将外键和主键相对应,主键不能为空,且不能有重复项。 (3)用户自定义完整性:属性的取值应该来自于域。 (5) 物理结构设计 1.建立索引的依据: 所谓选择索引存取方法实际上就是根据应用要求确定对关系的哪些属性列建立索引、哪些属性
13、列建立组合索引、哪些索引要设计为唯一索引等。根据本信息系统的具体情况,建立索引的依据如下: (1)一个属性经常在查询条件下出现。 (2)一个属性经常作为最大值或最小值等聚集函数的参数。 (3)一个属性经常在连接操作的连接条件出现。 2.确定数据库的存储结构 本部分主要是确定数据库物理结构,即确定数据的存放位置和存储结构,包括确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等。 在综合考虑存取时间、存储空间利用率和维护代价三方面的因素下,经过权衡,确定下数据的存放位置和存储结构。 (1).确定数据的存放位置 为了提高系统的性能,根据应用情况将数据的易变部分
14、与稳定部分、经常存取部分与存取效率较低部分分开存放。 考虑到当前许多计算机都有多个磁盘,因此将表(如消费单表)和索引放在不同的磁盘上,在查询时,两个磁盘驱动器并行工作,能够大大提高I/O读写的效率;而对于较大的表(如消费单的表)则分放在两个磁盘上,这样能够加快存取速度,在多用户环境下的作用更有效;为了改进系统的性能,将日志文件与数据库对象(表、索引等)放在了不同的盘上。 2、确定系统配置 在数据库设计初始阶段,为了对以后的数据库进行物理优化,提供了一些系统配置变量、存储分配系数,并对这些变量赋予了合理的缺省值。可是这些值不一定适合每一种应用环境,在进行物理设计时,对这些变量重新赋值,
15、以改进系统的性能。 对系统配置的变量,例如:同时使用数据库的用户数,同时打开的数据库对象数,内存分配参数,缓冲区分配参数(使用的缓冲区长度、个数),存储分配参数,物理块的大小,物理块装填因子,时间片大小,数据库的大小,锁的数目等。这些参数值直接影响存取时间和存储空间的分配,在物理设计时应根据应用环境确定这些参数值,以使系统性能最佳。 健身房表: 健身房表 列名 类型 长度 索引否 说明 健身房编号 String 5 是 前两位是楼层数,后三位是健身房名 健身房名 String 3 是 健身房在该楼层的顺序编号 员工编号 String 4 是 员工的
16、顺序编号 项目编号 String 5 是 项目的顺序编号 员工表: 员工表 列名 类型 长度 索引否 说明 员工编号 Int 4 是 员工的顺序编号 员工姓名 String 20 否 员工的姓名 地址 String 20 否 员工的住址 电话 String 11 否 员工的电话 性别 char 1 否 员工的性别 年龄 String 2 否 员工的年龄 健身房编号 Int 5 是 前两位是楼层数,后三位是健身房名 来馆时间 Date 20 否 来健身馆工作的时间 离开时间 Dat
17、e 20 否 离开健身馆的时间 器械表: 器械表 列名 类型 长度 索引否 说明 器械编号 Int 6 是 器械的顺序编号 器械名称 String 20 否 器械的名称 购入时间 Date 20 否 器械购买的时间 购入者 String 20 否 器械的购买者 购买地点 String 20 否 器械的购买地点 健身房编号 String 5 是 前两位是楼层数,后三位是健身房名 员工编号 String 4 否 员工的顺序编号 价格 String 6 否 该器械的价格 磨损度 Strin
18、g 6 否 器械的磨损情况 客户表: 客户表 列名 类型 长度 索引否 说明 客户编号 Int 8 是 客户的顺序编号 客户姓名 String 20 否 客户的姓名 身份证号 String 18 否 客户的身份证 性别 char 1 否 客户的性别 消费卡标号 String 14 是 客户的消费卡的标号 教练表: 教练表 列名 类型 长度 索引否 说明 教练编号 Int 5 是 教练的顺序的编号 教练姓名 String 20 否 教练的姓名 性别 char 1 否 教练
19、的性别 年龄 String 2 否 教练的年龄 地址 String 20 否 教练的住址 电话 String 11 否 教练的电话 来管时间 Date 20 否 来健身馆工作的时间 离开时间 Date 20 否 离开健身馆的时间 项目编号 String 5 是 项目的顺序编号 项目表: 项目表 列名 类型 长度 索引否 说明 项目编号 Int 5 是 项目的顺序编号 项目名称 String 10 否 项目的名字 健身房编号 Int 5 是 前两位是楼层数,后三位是健身房名 收费标准
20、 String 3 否 每小时的收费价格,单位元 消费卡表: 消费卡表 列名 类型 长度 索引否 说明 消费卡标号 String 14 是 消费卡的标号 卡中余额 String 8 否 消费中的余额数 消费单表: 消费单表 列名 类型 长度 索引否 说明 消费编号 String 13 是 前四位标识消费的年份,五、六位标识消费的月份,七、八位标识消费的日期,后五位标识消费的编号 消费卡标号 String 14 是 消费卡的标号 消费年月 Date 20 否 消费的日期 起始消费时间 String
21、 8 否 消费的具体起始时间 结束消费时间 String 8 否 消费的具体结束时间 工资表: 工资表 列名 类型 长度 索引否 说明 工资编号 Int 8 是 工资的顺序编号 职称 String 5 否 不同工种的名字 职称编号 Int 4 否 在该工种的编号 工资 Int 5 否 每月支付的工资数,单位元 时间 Date 20 否 发该次工资的时间 客户_项目表: 客户_项目表 列名 类型 长度 索引否 说明 客户编号 Int 8 是 客户的顺序编号 项目编号 Int
22、 5 是 项目的顺序编号 教练编号 Int 5 否 教练的顺序编号 日期 Date 20 客户练习此项目的时间 项目_教练表: 项目_教练表 列名 类型 长度 索引否 说明 教练编号 Int 5 是 教练的顺序编号 项目编号 Int 5 是 项目的顺序编号 开始教授时间 Date 20 否 教练开始教授此项目的时间 结束教授时间 Date 20 否 教练结束教授此项目的时间 消费卡_健身房表: 消费卡_健身房表 列名 类型 长度 索引否 说明 消费卡标号 String 14 否 消费卡的标号 健身房编号 Int 5 否 前两位是楼层数,后三位是健身房名 日期 Date 20 否 消费卡在此健身房划卡的时间






