健身房管理系统数据库设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
健身房管理系统数据库设计
4.3.1数据库实体之间的联系
数据库设计在程序开发中起着至关重要的作用,数据库的设计往往决定了整个开发过程中如何进行程序编码。
一个合理、有效的数据库设计可以大大提高应用开发的效率,方便用户使用,减轻数据库系统管理人员维护负担。
又利于应用程序的开发和维护。
考虑到这个系统设计的灵活性和效率,本系统数据库决定采用MySQL作为项目中的数据库。
根据对收集的文献信息及系统功能分析及系统设计,规划出本系统所使用的主要数据库实体如下。
(1)卡实体:
卡(卡id,卡的类型名称,卡内金额,卡名称,卡编号,持卡人,卡的类型,卡有效时间,创建人,创建时间,IP地址,办卡备注,卡状态(是否有效),更新人,更新时间)
卡实体图如4-6所示:
图4-6卡实体图
(2)考勤信息实体:
考勤信息(考勤id,考勤名称,考勤类型,创建人,创建时间,被考勤人,IP地址,考勤备注,考勤状态,更新人,更新时间)
考勤信息实体图如图4-7所示:
图4-7 考勤信息实体图
(3)预约信息实体:
预约信息(预约id,上课程的人,课程编号,创建人,创建时间,结束时间,IP地址,预约备注,开始时间,预约状态,更新人,更新时间,预订详情,预订姓名,课长时间)
预约信息实体图如图4-8所示:
图4-8 预约信息实体图
(4)课程实体:
课程(课程id,课长时间,课程名称,上课人,课程价格,创建人,创建时间,IP地址,课程备注,课程状态,更新人,更新时间)
课程实体图如图4-9所示:
图4-9 课程实体图
(5)课程设置实体:
课程设置(课程设置id,课程编号,上课教室,上课人,创建人,创建时间,课程结束时间,IP地址,课程设置备注,课程开始时间,课程设置状态,更新人,更新时间,课程名,课程设置名,课长时间)
课程设置实体图如图4-10所示:
图4-10课程设置实体图
(6)器材实体:
器材管理(器材id,器材编号,创建人,创建时间,器材名称,器材购买者,器材图片,器材放置位置,器材价格,IP地址,注册日期,器材备注,器材状态,更新人,更新时间)
器材实体图如图4-11所示:
图4-11器材实体图
(7)租赁信息实体:
租赁信息(租赁器材id,创建人,创建时间,租赁名称,租赁者,租赁类型,租赁时间,租赁价格,租赁开始时间,IP地址,租赁备注,租赁状态,创建人,创建时间,更新人,更新时间,课长时间,是否归还)
租赁信息实体图如图4-12所示:
图4-12租赁信息实体图
(8)我的日历实体:
我的日历(日历记录id,日历内容,结束日期,创建人,创建时间,结束时间,IP地址,添加日历人,添加日历备注,开始日期,开始时间,日历状态,标题,更新人,更新时间)
我的日历实体图如图4-13所示:
图4-13我的日历实体图
(9)我的课程表实体:
我的课程表(我的课程id,上课教室,课长时间,课程部分,课程名,上课教练,IP地址,课程价格,创建人,创建时间,我的课程状态,更新人,更新时间,使用状态)
我的课程表实体图如图4-14所示:
图4-14我的课程表实体图
(10)通知公告实体:
通知公告(通知,创建时间,可启动状态,通知内容,通知名,通知类型,操作时间,IP地址,操作人,使用者,使用状态)
通知公告实体图如图4-15所示:
图4-15 通知公告实体图
(11)系统配置实体:
系统配置(配置id,配置键,配置名,配置类型,配置值,创建,创建时间,留言评论,更新人,更新时间)
系统配置实体图如图4-16所示:
图4-16 系统配置实体图
(12)登录日志实体:
登录日志(登陆id,登录次数,最后登录时间,登录网址,登录名,登录角色,登录时间);
登录日志实体图如图4-17所示:
图4-17 登录日志实体图
(13)系统模块实体:
系统模块(模块id,模块代码,创建时间,是否显示,模块名字,模块网址,模块图标,操作时间,操作者,父模块id,模块状态,返回);
系统模块实体图如图4-18所示:
图4-18系统模块实体图
(14)模块与角色多对多关联信息实体:
模块与角色多对多关联信息(模块角色主键id,创建时间,模块id,IP地址,操作时间,操作者,角色id)
模块与角色多对多关联信息实体图如图4-19所示:
图4-19 模块与角色多对多关联信息实体图
(15)系统角色实体:
系统角色(角色id,创建时间,是否可用,IP地址,操作时间,操作者,角色状态,角色键,角色名,角色排序码,角色类型)
系统角色实体图如图4-20所示:
图4-20系统角色实体图
(16)角色与用户多对多关联信息实体:
角色与用户多对多关联信息(角色用户id,IP地址,操作时间,操作者,角色id,用户id,创建时间)
角色与用户多对多关联信息实体图如图4-21所示:
图4-21 角色与用户多对多关联信息实体图
(17)系统用户操作日志实体:
系统用户操作日志(操作id,操作类型,部门名称,错误消息,操作的系统方法,操作IP地址,操作地点,操作名,操作参数,操作时间,操作网址,操作类型,操作状态,标题,执行时间)
系统用户操作日志实体图如图4-22所示:
图4-22系统用户操作日志实体图
(18)在线用户实体:
在线用户(在线用户id,浏览器,当前用户所在部门,到期时间,IP地址,最后访问时间,登录位置,登录名,在线标识,操作系统,会话ID,开始时间,用户id)
在线用户实体图如图4-23所示:
图4-23在线用户实体图
(19)系统照片视频文件信息实体:
系统照片视频文件信息(文件主键id,文件类型,创建时间,是否有效,被浏览次数,用户id,文件名称,文件所在位置,文件原始名称,文件大小,文件后缀,文件类型)
系统照片视频文件管理信息实体图如图4-24所示:
图4-24系统照片视频文件信息实体图
(20)系统用户实体:
系统用户(用户id,创建时间,电子邮件,用户状态,用户头像,用户是否锁定,密码,用户备注,用户名,用户电话,用户地址,个人签名)系统用户实体图如图4-25所示:
图4-25系统用户实体图
(21)用户类型实体:
用户类型(用户类型id,创建时间,IP地址,操作时间,操作者,用户id,用户字段类型id)
用户类型实体图如图4-26所示:
图4-26用户类型实体图
(22)用户字典类型实体:
用户字典类型(用户字典类型id,创建时间,IP地址,操作时间,操作者,状态,类型排序,用户类型)
用户字典类型实体图如图4-27所示:
图4-27 用户字典类型实体图
通过对以上的实体的分析,我们得出了主要实体之间的联系,即E-R图,如图4-28所示:
图4-28 E-R图
4.3.2 逻辑数据库设计
根据系统的功能设计和系统的功能模块的划分,健身房管理系统的设计和实现涉及了多个数据表:
(1)卡,如表4-1:
表4-1卡信息表
字段名称数据类型字段大小是否可为空说明
applyCardid varchar(10)10否申请卡id(主键)applyCardName varchar(70)70否申请卡的类型名称cardInPrice double(15, 2)是卡内金额
cardName varchar(70)70是卡名称
cardNo varchar(100)100是卡编号
cardPerson varchar(70)70是持卡人
cardType varchar(70)70否卡的类型cardUseredTime int(11)11是卡有效时间createBy varchar(80)80是创建人
createtime datetime(0)是创建时间
operateip varchar(100)100是IP地址
remarkS varchar(80)80是办卡备注
states int(1)1是卡状态(是否有效) updateBy varchar(80)80是更新人
updatetime datetime(0)是更新时间
(2)考勤信息,如表4-2所示:
表4-2 考勤信息表
字段名称数据类型字段大小是否可为空说明
attendanceid varchar(70)70否考勤信息id(主键)attendanceName varchar(70)70否考勤名称attendanceType varchar(2)2否考勤类型
createBy varchar(80)80是创建人
createtime datetime(0)是创建时间gymPerson varchar(70)70是被考勤人
operateip varchar(100)100是IP地址
remarkS varchar(100)100是考勤备注
states int(1)1是考勤状态
updateBy varchar(80)80是更新人
updatetime datetime(0)是更新时间(3)预约信息,如表4-3所示:
表4-3 预约信息表
字段名称数据类型字段大小是否可为空说明
bookingid varchar(70)70否预约课程id(主键)coursePerson varchar(100)100是上课程的人courseid varchar(70)70否课程编号
createBy varchar(80)80是创建人
createtime datetime(0)是创建时间
endTime datetime(0)是结束时间operateip varchar(100)100是IP地址
remarkS varchar(100)100是预约备注startTime datetime(0)是开始时间
states int(1)1是预约状态updateBy varchar(80)80是更新人updatetime datetime(0)是更新时间bookingDetails varchar(80)80是预订详情bookingName varchar(70)70否预订姓名courseDuration varchar(100)100是课长时间(4)课程,如表4-4所示:
表4-4 课程表
字段名称数据类型字段大小是否可为空说明
courseid varchar(10)10否课程id(主键)courseDuration varchar(30)30是课长时间courseName varchar(100)100否课程名称coursePerson varchar(100)100是上课人coursePrice double(15, 2)是课程价格createBy varchar(80)80是创建人
createtime datetime(0)是创建时间operateip varchar(100)100是IP地址
remarkS varchar(80)80是课程备注
states int(1)1是课程状态updateBy varchar(80)80是更新人updatetime datetime(0)是更新时间(5)课程设置,如表4-5所示:
表4-5 课程设置表
字段名称数据类型字段大小是否可为空说明curriculumSettingid varchar(10)10否课程设置id(主键)classRoom varchar(100)100是上课教室coursePerson varchar(100)100是上课人
courseid varchar(70)70是课程编号createBy varchar(80)80是创建人
createtime datetime(0)是创建时间
endTime datetime(0)是课程结束时间operateip varchar(100)100是IP地址
remarkS varchar(100)100是课程设置备注startTime datetime(0)是课程开始时间states int(1)1是课程设置状态updateBy varchar(80)80是更新人updatetime datetime(0)是更新时间courseName varchar(100)100是课程名curriculumSettingName varchar(100)100是课程设置名courseDuration varchar(80)80是课长时间
(6)器材,如表4-6所示:
表4-6 器材表
字段名称数据类型字段大小是否可为空说明
equipmentid varchar(10)10否健身设备id(主键)createBy varchar(80)80是创建人
createtime datetime(0)是创建时间equipmentName varchar(70)70否器材名称equipmentNo varchar(70)70否器材编号equipmentPerson varchar(70)70否器材购买者equipmentPic varchar(50)50是器材图片equipmentPlace varchar(50)50是器材放置位置equipmentprice double(15, 2)是器材价格operateip varchar(100)100是IP地址registerDate varchar(50)50否注册日期
remarkS varchar(80)80是器材备注
states int(1)1是器材状态updateBy varchar(80)80是更新人updatetime datetime(0)是更新时间(7)租赁信息,如表4-7所示:
字段名称数据类型字段大小是否可为空说明
leaseRentid varchar(10)10否租赁器材id(主键)createBy varchar(80)80是创建人
createtime datetime(0)是创建时间leaseRentName varchar(70)70否租赁名称leaseRentPerson varchar(70)70否租赁者leaseRentType varchar(70)70否租赁类型leaseRentendtime datetime(0)是租赁时间leaseRentprice double(15, 2)是租赁价格leaseRentstarttime datetime(0)是租赁开始时间operateip varchar(100)100是IP地址
remarkS varchar(80)80是租赁备注
states int(1)1是租赁状态updateBy varchar(80)80是更新人updatetime datetime(0)是更新时间courseDuration varchar(80)80是课长时间
isReturn int(1)1是是否归还(8)我的日历,如表4-8所示:
字段名称数据类型字段大小是否可为空说明
calendarid varchar(10)10否日历记录id(主键)createBy varchar(80)80是创建人
createtime datetime(0)是创建时间description varchar(50)50是日历内容
enddate varchar(100)100是结束日期
endtime time(0)是结束时间inputPerson varchar(100)100是添加日历人operateip varchar(100)100是IP地址
remarkS varchar(80)80是添加日历备注startdate varchar(100)100是开始日期
starttime time(0)是开始时间
states int(1)1是日历状态
title varchar(70)70否标题
updateBy varchar(80)80是更新人updatetime datetime(0)是更新时间(9)我的课程,如表4-9所示:
表4-9 我的课程表
字段名称数据类型字段大小是否可为空说明myCoursesLogId varchar(10)10否我的课程id(主键)classRoom varchar(70)70是上课教室courseDuration varchar(70)70是课长时间courseDurationSection varchar(80)80是课程部分courseName varchar(100)100否课程名coursePerson varchar(100)100是上课教练coursePrice double(15, 5)是课程价格createBy varchar(80)80是创建人
createtime datetime(0)是创建时间operateip varchar(100)100是IP地址
remarkS varchar(80)80是我的课程状态updateBy varchar(80)80是更新人
userid varchar(70)70否使用状态
(10)通知公告,如表4-10所示:
表4-10 通知公告
字段名称数据类型字段大小是否可为空说明
noticeid varchar(10)10否通知id(主键)createtime datetime(0)是创建时间enableStatus int(2)2是可启动状态noticeContent varchar(60)60是通知内容noticeName varchar(70)70否通知名noticeType char(1)1是通知类型operateip varchar(100)100是IP地址operatetime datetime(0)是操作时间operator varchar(70)70是操作人userName varchar(70)70否使用名
userid varchar(70)70否使用者
(11) 系统配置,如表4-11所示:
表4-11 系统配置表
字段名称数据类型字段大小是否可为空说明
configid varchar(10)10否配置id(主键)configKey varchar(10)10是配置键configName varchar(30)30是配置名configType char(1)1是配置类型configValue varchar(50)50是配置值createBy varchar(80)80是创建createtime datetime(0)是创建时间remarkS varchar(40)40是留言评论updateBy varchar(80)80是更新人updatetime datetime(0)是更新时间
(12) 登录日志,如表4-12所示:
表4-12 登录日志表
字段名称数据类型字段大小是否可为空说明
loginid varchar(10)10否登陆id(主键)
count int(11)11是登录次数last_login_time datetime(0)是最后登录时间loginIp varchar(100)100是登录网址
loginName varchar(20)20是登录名
loginRole varchar(70)70是登录角色
logintime datetime(0)是登录时间
(13) 系统模块,如表4-13所示:
表4-13系统模块表
字段名称数据类型字段大小是否可为空说明modularid varchar(10)10否模块id(主键)code varchar(70)70是模块代码createtime datetime(0)是创建时间isShow int(11)11是是否显示modularName varchar(10)10是模块名字modularUrl varchar(50)50是模块网址modularicon varchar(20)20是模块图标operateip varchar(30)30是IP地址operatetime datetime(0)是操作时间operator varchar(70)70是操作者
p_modularid varchar(70)70是父模块id remarks varchar(40)40是模块状态
turn int(11)11是返回
(14) 模块与角色多对多关联表,如表4-14所示:
字段名称数据类型字段大小是否可为空说明modularsrolesid varchar(10)10否模块角色id(主键)createtime datetime(0)是创建时间modularid varchar(70)70否模块id
operateip varchar(100)100是IP地址operatetime datetime(0)是操作时间
operator varchar(70)70是操作者
roleid varchar(70)70否角色id
(15) 系统角色,如表4-15所示:
表4-15系统角色表
字段名称数据类型字段大小是否可为空说明
roleid varchar(10)10否角色id(主键)createtime datetime(0)是创建时间
enable int(11)11是是否可用
operateip varchar(100)100是IP地址operatetime datetime(0)是操作时间
operator varchar(70)70是操作者
remarks varchar(40)40是角色状态
roleKey varchar(100)100是角色键
roleName varchar(20)20是角色名
roleSort int(11)11是角色排序码roleType varchar(100)100是角色类型
(16) 角色与用户多对多关联表,如表4-16所示:
字段名称数据类型字段大小是否可为空说明
roleuserid varchar(10)10 否角色用户id(主键)operateip varchar(100)100 是IP地址
operatetime datetime(0)是操作时间
operator varchar(70)70 是操作者
roleid varchar(70)70 否角色id
userid varchar(70)70 否用户id
createtime datetime(0)是创建时间
(17)系统用户操作日志,如表4-17所示:
表4-17系统用户操作日志表
字段名称数据类型字段大小是否可为空说明
operId varchar(10)10否操作id(主键)businessType int(11)11是操作类型(PC端还是手机端) deptName varchar(50)50是部门名称
errorMsg varchar(30)30是错误消息
method varchar(100)100是操作的系统方法
operIp varchar(50)50是操作IP地址
operLocation varchar(100)100是操作地点
operName varchar(50)50是操作名
operParam varchar(100)100是操作参数
operTime datetime(0)是操作时间
operUrl varchar(20)20是操作网址
operatorType int(11)11是操作类型(新增、修改、删除等) status int(11)11是操作状态(成功还是失败)title varchar(50)50是标题
Executetime varchar(50)50是执行时间
(18) 在线用户,如表4-18所示:
字段名称数据类型字段大小是否可为空说明
onlineid varchar(10)10否在线用户id(主键)browser varchar(50)50是浏览器
deptName varchar(80)80是当前用户所在部门expireTime bigint(20)20是到期时间
ipaddr varchar(60)60是IP地址lastAccessTime datetime(0)是最后访问时间loginLocation varchar(50)50是登录位置loginName varchar(80)80是登录名
online int(11)11是在线标识
os varchar(50)50是操作系统
sessionId varchar(80)80是会话ID startTimestamp datetime(0)是开始时间
userid varchar(10)10否用户id
(19) 系统照片视频文件信息表,如表4-19所示:
表4-19在系统照片视频文件管理表
字段名称数据类型字段大小是否可为空说明
videoid varchar(10)10否文件id(主键)contentType varchar(30)30是文件类型createtime datetime(0)是创建时间isValid char(1)1是是否有效lookCount bigint(20)20是被浏览次数userid varchar(10)10否用户id videoName varchar(50)50是文件名称videoPath varchar(100)100是文件所在位置videoRealName varchar(20)20是文件原始名称videoSize double(15, 5)是文件大小videoSizeStr varchar(20)20是文件大小videoSuffix varchar(20)20是文件后缀videoType varchar(10)10是文件类型
(20) 系统用户,如表4-20所示:
字段名称数据类型字段大小是否可为空说明
userid varchar(10)10否用户id(主键)createtime datetime(0)是创建时间email varchar(30)30是电子邮件enable int(11)11是用户状态imageUrl varchar(100)100是用户头像isLock int(11)11是用户是否锁定password varchar(20)20是密码
remarks varchar(40)40是用户备注userName varchar(20)20是用户名userPhone varchar(20)20是用户电话locations varchar(30)30是用户地址signaturePersonalized varchar(30)30是个人签名
(21)用户类型,如表4-21所示:
表4-21用户类型表
字段名称数据类型字段大小是否可为空说明
usertypeid varchar(10)10否用户类型id(主键)createtime datetime(0)是创建时间operateip varchar(60)60是IP地址operatetime datetime(0)是操作时间
operator varchar(70)70是操作者
userid varchar(10)10是用户id usertypedicid varchar(70)70是用户字段类型id
(22) 用户字典类型,如表4-22所示:
表4-22用户字典类型表
字段名称数据类型字段大小是否可为空说明
usertypedicid varchar(10)10否用户字典类型id(主键)createtime datetime(0)是创建时间
operateip varchar(60)60是IP地址
operatetime datetime(0)是操作时间
operator varchar(70)70是操作者
remarks varchar(100)100是状态
typeSort int(11)11是类型排序
userType int(11)11是用户类型userTypeName varchar(20)20是用户类型名。