終於,走到了機房收費系統重構的階段……
之前的一遍機房收費系統的數據庫是用的給的那個,只是把每個表都看了一下,當時也沒有學習數據庫原理那本書,然後就沒有深究……
現在不一樣了,我們進行機房收費系統重構,況且學習了數據庫原理這本書,對數據庫有了更深的認識。所以對於數據庫要好好的設計,按照步驟走……
數據庫技術是信息資源管理最有效地手段。數據庫設計是指對於一個給定的應用環境,構造最優的數據庫模式,建立數據庫及其應用系統,有效存儲數據,滿足用戶信息要求和處理要求。
數據庫的設計的步驟和各階段的主要內容如下:
在邏輯設計階段要注意
將E-R圖轉換為關系模型實際上就是要將實體、實體的屬性和實體之間的聯系轉化為關系模式,這種轉換一般遵循如下原則:
(1)一個實體型轉換為一個關系模式。實體的屬性就是關系的屬性。實體的碼就是關系的碼。
(2)一個m:n聯系轉換為一個關系模式。與該聯系相連的各實體的碼以及聯系本身的屬性均轉換為關系的屬性。 而關系的碼為各實體碼的組合。
<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+ICAgICCjqDOjqdK7uPYxOm7Bqs+1v8nS1Nequ7vOqtK7uPa2wMGitcS52M+1xKPKvaOs0rK/ydLU0+tutsu21NOmtcS52M+1xKPKvbrPsqKho8jnufvXqru7zqrSu7j2tsDBorXEudjPtcSjyr2jrNTy0+u4w8Gqz7XP4MGstcS498q1zOW1xMLr0tS8sMGqz7WxvsnttcTK9NDUvvnXqru7zqq52M+1tcTK9NDUo6y2+LnYz7W1xMLrzqputsvKtczltcTC66GjPC9wPgo8cD4gICAgIKOoNKOp0ru49jE6McGqz7W/ydLU16q7u86q0ru49rbAwaK1xLnYz7XEo8q9o6zSsr/J0tTT68jO0uLSu7bLttTTprXEudjPtcSjyr26z7KioaM8L3A+CjxwPiAgICAgo6g1o6nI/bj2u/LI/bj20tTJz8q1zOW85LXE0ru49rbg1KrBqs+116q7u86q0ru49rnYz7XEo8q9oaPT67jDtuDUqsGqz7XP4MGstcS498q1zOW1xMLr0tS8sMGqz7WxvsnttcTK9NDUvvnXqru7zqq52M+1tcTK9NDUoaO2+LnYz7W1xMLrzqq498q1zOXC67XE1+m6z6GjIAo8L3A+CjxwPiAgICAgo6g2o6nNrNK7yrXM5byvtcTKtczlvOS1xMGqz7WjrLy019TBqs+1o6zSsr/JsLTJz8r2MToxoaIxOm66zW06bsj91tbH6b/2t9ax8LSmwO2hozwvcD4KPHA+ICAgICCjqDejqb7f09DP4M2swuu1xLnYz7XEo8q9v8m6z7KioaM8L3A+CjxwPiAgICAgo6g4o6m7udPQvs3Kx87Sw8ezo8u1tcTI/be2yr2jqMi3tqjK/b7d0sDAtaGjz/uz/cjf0+C1xMGqz7WjqaO6PC9wPgo8cD4gICAgICAgICAgICAgILXa0ru3tsq9o6gxTkajqaO6udjPtcSjyr1S1tDDv9K7uPbUrdfTtrzKx7K7v8m31rjutcTUrdfTJiMyMDU0MDuhozwvcD4KPHA+ICAgICAgICAgICAgICC12rb+t7bKvaOoMk5Go6mjurnYz7XEo8q9UsrHMU5Go6zDv7j2t8fW98r00NTN6sir0sDAtdPauvLRobz8o6i2vL/J0tTTw8C01/bW97z8tcTX1rbOo6mjrL7NysfC+tfjtdq2/re2yr2hozwvcD4KPHA+ICAgICAgICAgICAgICC12sj9t7bKvaOoM05Go6k6udjPtcSjyr1SyscxTkajrMO/uPa3x9b3yvTQ1La8sru0q7Xd0sDAtdPaUrXEuvLRobz8oaM8L3A+CjxwPiA8L3A+CjxwPiAgICAgICAgICAgICAgytfPyM7SuPm+3dStwLS1xMr9vt2/4r340NDBy9TZtM7J6LzGo6y9q9StwLTTt9bXtcSx7dPQtcS31r+qo6zT0LXEvPXJ2barzvehraGtu63By9K7uPZFUs28o7o8L3A+CjxpbWcgc3JjPQ=="http://www.2cto.com/uploadfile/Collfiles/20150525/2015052509421086.jpg" alt="\">
根據ER圖設計出了數據庫中每個表:
用戶信息表(User_Info):
UsrID
用戶名(主鍵)
Char(10)
Password
密碼
Char(10)
Level
級別
Char(10)
UserName
真實姓名
Char(10)
Holder
開戶人
Char(10)
學生信息表(Student_Info):
StudentID
學號(主鍵)
Char(10)
StudentName
姓名
Char(10)
Sex
性別
Char(2)
Department
系別
Char(10)
grade
年級
Char(10)
Class
班級
Char(10)
卡信息表(card_Info):
CardID
卡號(主鍵)
Char(10)
studentID
學號
Char(10)
Status
使用狀態
Bit
Account
余額
Decimal(10,4)
Type
卡類型
Char(10)
registDate
注冊日期
Date
registTime
注冊時間
Time
checkstatus
結賬狀態
Bit
UserID
用戶名
Char(10)
由於學生和卡是兩個不同的實體,所以將它們有關的信息分開記錄,防止數據冗余,防止表的臃腫。
充值記錄表(Recharge):
cardID
卡號
Char(10)
rechargeMoney
充值金額
Decimal(10,4)
RechargeDate
充值日期
Date
RechargeTime
充值時間
Time
userID
用戶名
Char(10)
checkstatus
結賬狀態
Bit
退卡記錄表(Cancelcard):
cardID
卡號
Char(10)
returnMoney
退還金額
Decimal(10,4)
CancelcardDate
退卡日期
Date
CancelcardTime
退卡時間
Time
UserID
用戶名
Char(10)
checkstatus
結賬狀態
Bit
上下機記錄表(OnOffLineRecord):
cardID
卡號
Char(10)
OnDate
上機日期
Date
Ontime
上機時間
Time
OffDate
下機日期
Date
Offtime
下機時間
Time
OffWay
下機方式
Char(10)
ConsumeMoney
消費金額
Decimal(10,4)
ConsumeTime
消費時間
Time
UserID
用戶名
Char(10)
checkstatus
結賬狀態
Bit
Computer
機器名
Char(10)
基本數據表(BasicData):
Leasttime
至少上機時間
Time
Unittime
單位遞增時間
Time
Rate
固定每小時費用
Decimal(10,4)
Tmprate
臨時每小時費用
Decimal(10,4)
Limitcash
最少金額
Decimal(10,4)
date
日期
Date
Time
時間
Time
UserID
用戶名
Char(10)
賬單(check):
LastcardMoney
上期充值卡金額
Decimal(10,4)
CurrentrechargeMoney
本期充值卡金額
Decimal(10,4)
CurrentcancelcardMoney
本期退卡金額
Decimal(10,4)
CurrentconsumeMoney
本期消費金額
Decimal(10,4)
CurrentcardMoney
本期充值卡金額
Decimal(10,4)
Date
日期
Date
Time
時間
Time
UserId
用戶名
Char(10)
工作記錄表(workLog):
UserID
用戶名
Char(10)
Ondate
登錄日期
Date
Ontime
登錄時間
Time
Offdate
注銷日期
Date
Offtime
注銷時間
Time
Status
狀態
Bit
Computer
機器名
Char(10)
總結:數據庫設計是很重要的一件事,但是我們不可能一次就將自己的數據庫設計的完美,每次都嚴格按照規則走,只有實踐的多了才能慢慢的設計出好的數據庫。