機房重構之資料庫設計,機房重構資料庫

來源:互聯網
上載者:User

機房重構之資料庫設計,機房重構資料庫

一、畫ER圖

E-R圖也稱實體-聯絡圖(Entity Relationship Diagram),提供了表示實體類型、屬性和聯 系的方法,用來描述現實世界的概念性模型。

繪製方法:

⑴確定所有的實體集合

⑵選擇實體集應包含的屬性

⑶確定實體集之間的聯絡

⑷確定實體集的關鍵字,用底線在屬性上表明關鍵字的屬性群組合

⑸確定聯絡的類型,在用線將表示聯絡的菱形框聯絡到實體集時,線上旁註明是1或n(多)來表示聯絡的類型


二、將ER圖轉化成關係模式

1:1 :例如 CardInfo 和StudentInfo 是1:1的關係

      CardInfo(CardNo,Balance,CardState)

  StudentInfo(StuID,StuName,StuDept,StuSex,StuClass,,StuState)

  轉化後

  StudentInfo(StuID,CardNo,StuName,StuDept,StuSex,StuClass,,StuState)

  或

      CardInfo(CardNo,StuNo,Balance,CardState)

      即把主鍵加入到任一方均可

1:n : 例如UserInfo 和 CardInfo 是在註冊方面是1:n的關係   

          UserInfo(UserID,Password,UserName,UserLevel)

          CardInfo(CardNo,Balance,CardState)

          轉換後

          CardInfo(CardNo,UserID,Balance,CardState)

          即把主鍵放到n方

n:m :例如UserInfo 和 CardInfo 是在充值方面是n:m的關係(一個使用者可以充值多   張卡,一張卡可以被多個使用者充值)

          CardInfo(CardNo,Balance,CardState)

          UserInfo(UserID,Password,UserName,UserLevel)

          

           轉化後          

          CardInfo(CardNo,Balance,CardState)

          UserInfo(UserID,Password,UserName,UserLevel)

          Recharge(CardNo,UserID,Money,OpTime)

          加入一個新的關係模式並把兩個的主鍵分別加入到新的關係模式中

          

三、用三範式規範資料庫

 

    1、第一範式(原子性)

本系統中沒有找到很好的例子,隨便舉一個例子說明問題

非第一範式關係

系名稱

進階職稱人數

教授

副教授

電腦系

6

10

資訊管理系

3

5

 

第一範式關係

系名稱

教授人數

副教授人數

電腦系

6

10

資訊管理系

3

5

第一個表中“進階職稱人數”不是原子屬性,他還包括兩個子值

2、第二範式(不存在局部依賴)

 

   Recharge(CardNo,UserID,Money,OpTime)

 

在這個充值關係中,CardNo,UserID  決定 OpTime,所以他倆組合做主鍵,但是CardNo 自己就可以決定Money,因此存在局部依賴。

最佳化為

Recharge(CardNo,UserID,OpTime)

Balance(CardNo,Money)

即滿足第二範式要求

 

3、第三範式(不含傳遞依賴)

沒有在此系統中找到合適的例子,舉其他例子說明此問題

Student(StuNo,StuDept,StuDeptTeacher)

stuNo 可以決定stuDept

StuDept可以決定 StuDeptTeacher

這樣就存在傳遞依賴

最佳化後

Student(StuNo,StuDept)

Dept(StuDept,StuDeptTeacher)

4、三範式的關係


滿足第三範式必須滿足第一和第二範式

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.