弄完了三層的例子後,機房重構早就該開始了,但是自己一直不想動,萬事開頭難,機房收費的重構,先是資料庫的設計問題,開始包括er圖的設計。然後設計資料庫,設計表.......
現在想想自己資料庫的設計。首先先想一想上下機的整個流程,乙個學生拿著卡來到老師面前,老師講學生的卡啟用,學生在拿著卡去找機子上機,假如學生沒有卡,老師可以給學生註冊新卡,如果卡里沒有錢,也可以給學生充值,如果學生不想要卡了,還有登出等等,而學生和卡之間就是擁有的關係。最後就是學生上完機,然後再拿著卡去找老師下機,老師在從基本資料表中得到資料計算學生的消費金額,讓學生下機。當然還有乙個可以記錄使用者工作記錄的表。
下圖是自己設計的資料er圖
在資料庫er圖轉換成關係模型的時候,我們要遵循三正規化。
第二正規化:關係模式r在滿足1nf後,每個非主屬性完全依賴於候選鍵。其實就是不存在區域性依賴。比如現在有乙個關係模式r(studentno、courseno、score、teacherno、title)的屬性分別代表學生的學號、課程號、分數、教師號、教師的職稱。顯然裡面的候選鍵是(studentno、courseno),他倆就可以將這個關係模式中所有的屬性資訊都能推出來,但是在候選鍵courseno中,它可以將(teacherno,title)推出來,這就叫存在非主屬性對候選鍵的區域性依賴。用乙個比喻來說,小兩口過得好好的,但是其中有乙個有了外遇。
第三正規化:每個非主屬性都不傳遞依賴關係模式r的候選鍵。前提是r滿足1nf和2nf。比如關係模式r中,a是候選鍵,a——>b 、b——>c、 a——>c,最後乙個就是乙個傳遞依賴的例子。這樣就不滿足3nf。
小結機房重構讓我回頭複習了資料的設計,資料庫的三正規化等等知識,回頭看看挺好的,學習嘛就是乙個反覆的過程。萬事開頭難,給自己加油吧!!
機房收費系統的資料庫設計
這次機房收費系統的資料庫設計與上一次有很大不同,之所以會引起不同,是因為遵循了資料庫設計第三正規化。什麼是資料庫設計第三正規化在我以前的文章中有所體現,資料庫設計第三正規化 我們先來看看前後的不同之處 第一次共有10張表 結賬資訊,基本資料,上下機記錄,退卡資訊,正在上機資訊,正在工作老師資訊,充值...
機房收費系統的資料庫設計
這次機房收費系統的資料庫設計與上一次有很大不同,之所以會引起不同,是因為遵循了資料庫設計第三正規化。什麼是資料庫設計第三正規化在我以前的文章中有所體現,資料庫設計第三正規化 我們先來看看前後的不同之處 第一次共有10張表 結賬資訊,基本資料,上下機記錄,退卡資訊,正在上機資訊,正在工作老師資訊,充值...
機房收費系統的資料庫設計
這次機房收費系統的資料庫設計與上一次有很大不同,之所以會引起不同,是因為遵循了資料庫設計第三正規化。什麼是資料庫設計第三正規化在我以前的文章中有所體現,資料庫設計第三正規化 我們先來看看前後的不同之處 第一次共有10張表 結賬資訊,基本資料,上下機記錄,退卡資訊,正在上機資訊,正在工作老師資訊,充值...