机房收费系统数据库设计
之前,学习编写机房收费系统的文档时,曾写过 机房收费系统数据库概念设计模型ER图 这篇文章,现在到了机房收费系统个人版重构阶段,需要再次进行数据库的设计。可以说,之前的数据库的概念设计给我现在的设计奠定了一定的基础,但是仍然发现自己的设计中有
之前,学习编写机房收费系统的文档时,曾写过 机房收费系统数据库概念设计模型——ER图 这篇文章,现在到了机房收费系统个人版重构阶段,需要再次进行数据库的设计。可以说,之前的数据库的概念设计给我现在的设计奠定了一定的基础,但是仍然发现自己的设计中有许多不合理并且需要改进的地方。
在这次的数据库设计当中,学习了一些数据库的命名规范,重温了经典的三范式(属性原子化,避免局部依赖,避免传递依赖)。但是发现,在需求面前,一些分属两张表的字段,为了方便,还是得放到一张表中,不得不破坏三范式。
现在将自己设计的数据库分享如下:(因为自己还没真正进行机房的重构,不知道在实际应用中,这些表是否合理,还请大家提宝贵意见。)
数据库名ComputerRoomChargeSystem
学生信息表(T_StudentInfo)
名称 |
意义 |
类型 |
studentID |
学号(主键) |
Char(10) |
studentName |
姓名 |
Char(10) |
sex |
性别 |
Char(2) |
department |
系别 |
Char(20) |
grade |
年级 |
Char(10) |
class |
班级 |
Char(10) |
用户信息表(T_UserInfo)
名称 |
意义 |
类型 |
UserID |
用户名(主键) |
Char(10) |
realName |
真实姓名 |
Char(10) |
userLevel |
用户级别 |
Char(8) |
userPassword |
用户密码 |
Char(10) |
accountHolder |
开户人 |
Char(10) |
卡信息(T_CardInfo)
名称 |
意义 |
类型 |
cardID |
卡号(主键) |
Char(10) |
studentID |
学号(外键) |
Char(10) |
account |
余额 |
Decimal(10,4) |
usageState |
使用状态 |
Char(6) |
cardType |
卡类型 |
Char(8) |
registrationDate |
注册日期 |
Date |
registrationTime |
注册时间 |
Time(0) |
UserID |
用户名 |
Char(10) |
checkStatus |
结账状态 |
Bit(1) |
账单(T_AccountSheet)
名称 |
意义 |
类型 |
checkID |
结账编号(主键) |
Decimal(18,0) |
lastCardMoney |
上期充值卡金额 |
Decimal(18,4) |
currentChargeMoney |
本期充值金额 |
Decimal(18,4) |
currentReturnMoney |
本期退卡金额 |
Decimal(18,4) |
currentConsumeMoney |
本期消费金额 |
Decimal(18,4) |
currentCardMoney |
本期充值卡金额 |
Decimal(18,4) |
checkDate |
结账日期 |
Date |
checkTime |
结账时间 |
Time(0) |
userID |
用户名 |
Char(10) |
账单,我为其设置了一个结账编号,作为主键,我想在真正建表时,可以按照结账编号从大到小排列,因为在打印账单或是日结账, 周结账都是结最近的账单吧。
本期充值卡金额=上期充值卡金额+本期充值金额-本期消费金额-本期退卡金额
充值记录表(T_ChargeRecord)
名称 |
意义 |
类型 |
cardID |
卡号(外键) |
Char(10) |
chargeDate |
充值日期 |
Date |
chargeTime |
充值时间 |
Time(0) |
chargeMoney |
充值金额 |
Decimal(10,4) |
checkStatus |
结账状态 |
Bit(1) |
userID |
用户名 |
Char(10) |
退卡记录表(T_ReturnRecord)
名称 |
意义 |
类型 |
cardID |
卡号(外键) |
Char(10) |
returnDate |
退卡日期 |
Date |
returnTime |
退卡时间 |
Time(0) |
account |
退卡金额 |
Decimal(10,4) |
checkStatus |
结账状态 |
Bit(1) |
userID |
用户名 |
Char(10) |
上下机记录表(T_OnOffLineRecord)
名称 |
意义 |
类型 |
cardID |
卡号(外键) |
Char(10) |
onDate |
上机日期 |
Date |
onTime |
上机时间 |
Time(0) |
offDate |
下机日期 |
Date |
offTime |
下机时间 |
Time(0) |
offWay |
下机方式 |
Char(8) |
consumeMoney |
消费金额 |
Decimal(10,4) |
userID |
用户名 |
Char(10) |
checkStatus |
结账状态 |
Char(6) |
onFlag |
正在上机标志 |
Bit(1) |
在这个表中,我增加了结账状态这个字段,因为想到结账时,除了会结购卡数,充值金额,退卡金额,还要结消费金额。
基本数据表(T_BasicData)
名称 |
意义 |
类型 |
fixedPerCharge |
固定每小时费用 |
Decimal(10,4) |
temporaryPerCharge |
临时每小时费用 |
Decimal(10,4) |
increasingUnitTime |
递增单位时间 |
SmallInt |
leastTime |
至少上机时间 |
SmallInt |
prepareTime |
准备时间 |
SmallInt |
minMoney |
最少金额 |
Decimal(10,4) |
操作员工作记录(T_WorkLog)
名称 |
意义 |
类型 |
UserID |
用户名(外键) |
Char(10) |
LoginDate |
登录日期 |
Date |
LoginTime |
登录时间 |
Time(0) |
ExitDate |
注销日期 |
Date |
ExitTime |
注销时间 |
Time(0) |
onFlag |
正在上机标志 |
Bit(1) |
computerID |
机器名 |
Varchar(10) |

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

4月26日消息,中兴5G随身Wi-FiU50S目前已经正式开售,首发899元。外观设计上,中兴U50S随身Wi-Fi简约时尚,易于手持和包装。其尺寸为159/73/18mm,携带方便,让您随时随地畅享5G高速网络,实现畅行无阻的移动办公与娱乐体验。中兴5G随身Wi-FiU50S该设备支持先进的Wi-Fi6协议,峰值速率高达1800Mbps,依托骁龙X55高性能5G平台,为用户提供极速的网络体验。不仅支持5G双模SA+NSA网络环境和Sub-6GHz频段,实测网速更可达惊人的500Mbps,轻松满

7月12日消息,荣耀MagicV3系列今日正式发布,搭载全新荣耀视力舒缓绿洲护眼屏,在屏幕本身具备高规格和高素质的同时,还开创性的引入AI主动式护眼技术。据悉,传统的缓解近视的方式是“近视镜”,近视眼镜度数均匀分布,保证了视线中心区域成像在视网膜之上,但周边区域成像在视网膜后,视网膜感应到成像在后,促进眼轴向后生长,从而使度数加深。目前主要的缓解近视发展的方式之一是“离焦镜”,其中心区域度数正常,周边区域通过光学设计分区调整,从而使周边区域成像落在视网膜前,

7月29日消息,荣耀X60i手机今日正式开售,首发1399元。设计上,荣耀X60i手机采用居中挖孔直屏设计,四边近乎无界的超窄边框,极大地拓宽了视野边界。荣耀X60i参数显示屏:6.7英寸高清显示屏电池:5000mAh大容量电池处理器:天玑6080处理器(台积电6nm,2x2.4G的A76+6×2G的A55)系统:MagicOS8.0系统其他功能:5G信号增强灵动胶囊屏下指纹双MIC降噪知识问答摄影能力:后置双摄系统:5000万像素主摄200万像素辅助镜头前置自拍镜头:800万像素价格:8GB

5月13日消息,vivoX100s今晚正式发布,除了出色的影像,新机在信号方面表现也十分强悍。据vivo官方介绍,vivoX100s采用了创新的寰宇信号放大系统,该系统配备了高达21根天线。这一设计基于直屏进行了重新优化,以平衡5G、4G、Wi-Fi、GPS以及NFC等众多信号需求。这使得vivoX100s成为了vivo有史以来信号接收能力最强的手机。新款手机还采用了独特的360°环绕设计,天线分布在机身周围。这一设计不仅增强了信号的强度,还针对日常各种握持姿势进行了优化,避免了因握持方式不当导

苹果公司最新发布的iOS18、iPadOS18以及macOSSequoia系统为Photos应用增添了一项重要功能,旨在帮助用户轻松恢复因各种原因丢失或损坏的照片和视频。这项新功能在Photos应用的"工具"部分引入了一个名为"已恢复"的相册,当用户设备中存在未纳入其照片库的图片或视频时,该相册将自动显示。"已恢复"相册的出现为因数据库损坏、相机应用未正确保存至照片库或第三方应用管理照片库时照片和视频丢失提供了解决方案。用户只需简单几步

7月19日消息,小米MIXFold4首旗舰折叠新机今晚正式发布,首次搭载“立体异形电池”。据介绍,小米MIXFold4在电池技术上实现了重大突破,专为折叠屏设计了创新的“立体异形电池”。传统折叠屏设备多采用常规方形电池,空间利用效率较低。为解决这一问题,小米没有采用常见的卷绕式电芯,而是全新开发叠片工艺,打造全新形态的电池,大幅提升了空间利用率。电池技术创新为了实现精确交替堆叠正负极片,确保锂离子安全嵌入,小米开发了新型超声焊接机和叠片机,提高了焊接和裁切精

5月8日消息,苹果新款iPadPro/Air平板电脑目前已经发布,根据苹果官网的消息,新款iPadPro和iPadAir均不再支持2018年发布的第二代ApplePencil,而是仅支持ApplePencilPro及ApplePencil(USB-C)。ApplePencil(USB-C)于2023年11月发布,这款手写笔在保持与第一代和第二代ApplePencil相同的像素级精准度、低延迟和倾斜角度感应等功能的同时,去除了压感功能,并且不支持无线充电。其售价为649元。而新发布的ApplePe

如何在PHP中使用MySQLi建立数据库连接:包含MySQLi扩展(require_once)创建连接函数(functionconnect_to_db)调用连接函数($conn=connect_to_db())执行查询($result=$conn->query())关闭连接($conn->close())
