iT邦幫忙

1

10. SQL Server學習日記-設計資料表應考慮因素&E-R模型

  • 分享至 

  • xImage
  •  

在關聯式資料庫中,資料表與資料表之間有各種關聯、條件約束,所以一個資料庫是否設計的合理和資料表的設計有很大的關係,接下來介紹設計資料表時應該將哪些因素也考慮進去。

一、設計資料表應考慮因素

1 資料庫的作用

首先,思考資料庫內要包含哪些資料,而資料屬於哪些實體物件,物件與物件之間存在的關聯。

2 E-R模型

將所有要存入資料庫的資料歸類,整理成一個分類,而歸入這個分類的資料被稱為實體的屬性,不同實體間存在著關聯,E-R模型要將這些關聯體現出來。

3 資料庫空間分配

為了做到盡量不浪費資料庫內的空間,每個資料行該用甚麼資料類型就變得更加重要。

4 允許資料行為空

這就關係到null了,null在資料庫中是比較特殊的,表示未知。雖然null本身不占用空間,但她所在的資料行是需要空間的。而資料表中有較多的null欄位時會對資料庫效能帶來影響,所以盡量少用允許資料行為空。

5 主索引鍵的問題

資料表中的資料,每一列不能有重複的標誌當主索引鍵。

6 條件約束

資料庫中,一旦定義了所謂的條件約束,則只有滿足這些條件的資料才可插入。

7 考慮是否使用索引

索引可以加快資料表中的資料擷取,可以提升資料庫使用效率,所以對於在哪些資料行上,索引的使用需要去思考。

二、E-R模型

實體關聯模型稱E-R模型 (Entity-relationship model),構成E-R圖的要素主要為實體、屬型、關聯

1 實體(Entity)

將真實世界的人、事、物等實體,以一個方框圖來表示,

  • 如果是弱實體,則方框外再套一層方框

https://ithelp.ithome.com.tw/upload/images/20230927/20163415VbG78o1TsA.png

2 屬性(Attribute)

實體擁有的特性稱為屬性,以橢圓形來表示屬性,

  • 屬性具有多重數值時,則以雙橢圓形來表示
  • 名稱底下畫一條底線區別,屬性為主鍵
  • 虛橢圓形則為衍生屬性(Derived attribute)

https://ithelp.ithome.com.tw/upload/images/20230927/201634157Pan3iQuZp.png

3關聯 ( Relationship)

實體與實體之間如果有關聯,則將此關聯以菱形連結兩實體,使用無方向性實線來連接,且在實線旁寫上關聯類型( 1 : 1 , 1 : n , n : m)

  • 雙層菱形為弱實體

https://ithelp.ithome.com.tw/upload/images/20230927/201634156Wx2YREQ5i.png


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言