客房收费系统数据库设计
? ? ? 之前。當學習編寫計算機房收費系統文件。我寫 機房收費系統數據庫概念設計模型——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 | username(主鍵) | Char(10) |
| realName | 真實姓名 | Char(10) |
| userLevel | 用戶級別 | Char(8) |
| userPassword | 用戶password | 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 | username | 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 | username | Char(10) |
賬單,我為其設置了一個結賬編號,作為主鍵,我想在真正建表時,能夠依照結賬編號從大到小排列,由于在打印賬單或是日結賬, 周結賬都是結近期的賬單吧。
本期充值卡金額=上期充值卡金額+本期充值金額-本期消費金額-本期退卡金額
充值記錄表(T_ChargeRecord)
| 名稱 | 意義 | 類型 |
| cardID | 卡號(外鍵) | Char(10) |
| chargeDate | 充值日期 | Date |
| chargeTime | 充值時間 | Time(0) |
| chargeMoney | 充值金額 | Decimal(10,4) |
| checkStatus | 結賬狀態 | Bit(1) |
| userID | username | Char(10) |
退卡記錄表(T_ReturnRecord)
| 名稱 | 意義 | 類型 |
| cardID | 卡號(外鍵) | Char(10) |
| returnDate | 退卡日期 | Date |
| returnTime | 退卡時間 | Time(0) |
| account | 退卡金額 | Decimal(10,4) |
| checkStatus | 結賬狀態 | Bit(1) |
| userID | username | 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 | username | 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 | username(外鍵) | Char(10) |
| LoginDate | 登錄日期 | Date |
| LoginTime | 登錄時間 | Time(0) |
| ExitDate | 注銷日期 | Date |
| ExitTime | 注銷時間 | Time(0) |
| onFlag | 正在上機標志 | Bit(1) |
| computerID | 機器名 | Varchar(10) |
版權聲明:本文博主原創文章,博客,未經同意不得轉載。
總結
以上是生活随笔為你收集整理的客房收费系统数据库设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bt3 u盘版安装教程_bt3下载中文版
- 下一篇: 亚马逊员工敦促CEO放弃重返办公室要求: