首页 数据库 mysql教程 机房收费系统数据库设计

机房收费系统数据库设计

Jun 07, 2016 pm 03:57 PM
学习 数据库 编写 设计

之前,学习编写机房收费系统的文档时,曾写过 机房收费系统数据库概念设计模型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)

小结:自己感觉数据库设计是件很有意思的事情,在画机房重构版的类图时,感觉还得先从数据库设计入手,所以数据库设计还是很重要的啊!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

首发899元 中兴5G随身Wi-Fi U50S开售:最高网速500Mbps 首发899元 中兴5G随身Wi-Fi U50S开售:最高网速500Mbps Apr 26, 2024 pm 03:46 PM

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,轻松满

荣耀Magic V3首发AI离焦护眼技术:有效缓解近视发展 荣耀Magic V3首发AI离焦护眼技术:有效缓解近视发展 Jul 18, 2024 am 09:27 AM

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

1399元起 荣耀X60i手机开售:视觉四等边OLED直屏 1399元起 荣耀X60i手机开售:视觉四等边OLED直屏 Jul 29, 2024 pm 08:25 PM

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

vivo信号最强手机!vivo X100s搭载寰宇信号放大系统:21天线、360°环绕设计 vivo信号最强手机!vivo X100s搭载寰宇信号放大系统:21天线、360°环绕设计 Jun 03, 2024 pm 08:41 PM

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

iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片 iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片 Jul 18, 2024 am 05:48 AM

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

全新堆叠工艺!小米MIX Fold 4首搭金沙江'立体异形”电池 全新堆叠工艺!小米MIX Fold 4首搭金沙江'立体异形”电池 Jul 20, 2024 am 03:20 AM

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

2024款苹果iPad Pro/Air不支持第二代Apple Pencil:有需求可购新款 2024款苹果iPad Pro/Air不支持第二代Apple Pencil:有需求可购新款 May 08, 2024 pm 04:07 PM

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

在PHP中使用MySQLi建立数据库连接的详尽教程 在PHP中使用MySQLi建立数据库连接的详尽教程 Jun 04, 2024 pm 01:42 PM

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

See all articles