本身數據庫對于我來說就有一種抵觸的心理(自考過了,哈哈),所以重構的時候,很害怕設計數據庫,但是該來的總得來,早晚到要去解決不如早點解決,其實數據庫也沒有我們想象的那么難,只有你的系統邏輯思維理順就沒有問題,機房收費系統是我們第二次接觸所以對于系統邏輯我們都有自己不同的見解,下面小編簡述自己的見解吧 如何異同請指出
首先對于數據庫的設計我們應該首先了解3個方面,一3個范式,二什么是ER圖, 三字段的類型
3個范式主要的作用就是讓數據庫減少冗余,對數據冗余,刪除冗余,插入冗余,更新冗余起到很好的作用
第一范式:第一范式是最簡單的范式,關系模式的所有屬性都是不可分的基本數據項,表明一個屬性是不可再分的,例如男和女則就不可以再分
第二范式:它是在第一范式的基礎之上展開的,定義:每一個非主屬性都完全依賴于R的碼,意思是:不是主鍵的屬性必須依賴于主鍵,也就是說一個主鍵和一個非主鍵結合可以推出表中另一個非主屬性,這就是第二范式 不符合第二范式:兩個非主屬性結合可以推出另一個非主屬性則表示不符合非主屬性完全依賴于主屬性
第三范式:任何字段不能由其他字段派生,意思:通過該表的一個字段可以知道該表的另一個字段,避免了冗余 例子:課程id ,教師id,教師名稱。課程id——>教師id,教師id——>教師名稱。則教師id—–>教師名稱 所以出現了傳遞依賴,冗余,解決方法:分為兩個表,第一個表為課程id ,教師id 。第二個表為教師id,教師名稱
ER圖分為3個部分,屬性,實體,聯系,,用來描述現實世界的概念,通過ER圖我們可以很直觀的看到我們的數據庫設計,給數據庫設計人員和程序設計人員看 我這次設計的數據庫有9張表 上下機表Online_info 基本數據表T_BasicData 卡表T_CardInfo 充值表T_Chargecard 退卡表T_returncard 學生表T_StudentInfo 工作記錄表T_WorkLogInfo 賬單表T_money
于之間收費系統表合并: 上下機表進行合并,學生表于卡表分開,日結賬單于周結賬單合并,可能有的地方還存在冗余,慢慢改進吧 ER圖:還有待完善 
字段的類型,在我們寫程序的時候如果內存溢出則會報錯,所以設計數據庫的時候我們應該考慮字段容量應該有多大,分析給大家一張圖,所以還沒有特別的理解,但以后會理解的! 
新聞熱點
疑難解答