資料庫筆記(I)-資料庫簡介+ ERD(I)
最近學資料庫,無意間發現以前母校有資料庫課程。假如大學時候就有這些課程,那我一定會去修,不過當時還沒有巨資學院,這些程式、資料庫相關的課程相對少,巨資學院在我剛畢業時才剛成立,這讓人有種生不逢時的感覺。此筆記整理自東吳大學黃福銘老師的數位課程,覺得教得觀念很清楚。
A. 資料庫定義:
廣義:資料庫是儲存資料的地方
狹義:資料庫是一群相關資料的集合體
儲存、新增、修改、刪除、查詢
優點:降低資料重複性、達成資料一致性、共享性、獨立性、完成性、安全性、避免紙張與空間浪費、達成資料安全性。
B. 資料庫系統(DBS)
資料庫(DB)、資料庫管理系統(DBMS)、資料庫系統(DBS = DB + DBMS)、資料庫管理師(DBA)
C. 資料庫管理系統功能
- 資料的定義 (Data Define)
- 資料的操作 (Data Manipulation)
- 重複性的控制 (Redundancy Control)
- 複雜關係的表示 (Multi-Relationship)
- 實施完整性限制 (Integrity Constrain)
- 備份 (Backup)
- 回復 (Restore)
D. 關聯式資料庫元素的階層( 小 => 大 )
位元(Bit) => 字元(Byte) => 資料欄(Field) => 資料錄(Record) => 資料表 (Table) => 資料庫 (Data Base)
E. 資料庫設計程序(階段)
- 資料庫需求收集 & 分析
- 資料庫概念設計
- 選擇資料庫系統
- 資料庫邏輯設計:
ERD實體關係圖、概念資料模型。
資料庫模型:階層式、網路式、關聯式、物件式、非關聯式
5. 資料庫實體設計
F. 資料庫系統架構分類
- 單機架構(Standalone)
- 主從式架構(Client-Server)
- 三層式架構(3-Tier)
- 分散式架構(Distributed)
G. ER關係圖(Entity Relationship Diagram / Model)
- 定義:用來描述實體與實體間關係圖的工具
2. 實體:用以描述真實世界的物件,可含有多個屬性來描述該實體,在關聯式資料庫用資料表欄位來表示屬性。 e.g. 學生、課程、老師、員工、產品、服務。
2–1. 強實體:不需要依附其他實體而存在的實體 e.g.會員、課堂
2–2. 弱實體:需要依附其他實體而存在的實體 e.g. 會員年齡、課堂參加名單
3. 關係:用來表示一實體與另一個時間關聯的方式。e.g. 一對一、一對多、多對多。
ER Model 優點
- 圖形化表示方式
- 容易被非技術人員了解
- 設計者與使用者溝通的橋樑
ER圖物件符號
- 實體(Entity): 用以描述真實世界的物件。
- 屬性(Attribute): 用來描述實體的性質。
- 鍵值(Key): 用來辨認某一實體集合中的每一個實體的唯一性。
- 關係(Relationship): 用來表示一個實體與另一個實體關聯的方式。
以上是前面幾堂課的內容。
後續會再繼續學習資料庫架構與SQL語法