Database Ch2 DBMS概念與架構 資料庫系統導論 學習筆記
凌晨1:15Database Ch2 DBMS概念與架構
Data Model
Data Model: 一組用來描述資料庫結構的概念
Data Model Operation: 依據資料模型指定存取及更新資料庫的動作。在資料模型上的運算可能包含「基本運算」和「使用者定義的運算」
Data Model 的分類:
- Conceptional(high-level):容易讓使用者理解
- Physical(low level):表現資料實際在電腦的儲存方式
- Implementation(record-oriented):介於以上兩者之間
Schema
Database Schema: 資料庫的綱要,包括資料庫的描述與一些限制
Database Instance: 資料庫實例,在某個特殊時間點的資料庫狀態(內容)
schema 很少更改,但 instance 則是每次更新都更改
Three schema architecture
Internal schema: 描述實際的資料庫儲存結構。通常是使用實體(physical model)資料模型
Conceptional schema: 是用來為某一組使用者描述整個資料庫的結構與限制。通常是使用某種概念 (conceptual) 或實作
(implementation)資料模型
External schema: 是用來描述各個不同的使用者檢視表 (view)。它通常使用與概念層相同的資料模型
DBMS必須將External schema的需求轉換成 Conceptional schema的需求,然後再轉換成Internal schema的需求,以便處理實體資料庫
Data Independence
Logical Data Independence: 代表修改Conceptional 時,不必修改 External
Physical Data Independence: 代表修改 Internal時,不必修改 Conceptional
DBMS Language
Data Defination Language(DDL): 是一種能讓DBA與資料庫設計師用來定義Conceptional schema,某些DDL也會定義 Internal (用storage definition language,SDL)與 External (用view definition language,VDL)
Data Maniputation Language(DML): 用來指定資料庫的擷取與修改
DML Command(Data sublangage):
可以嵌入在一般的程式語言裡(主機語言,host
language),如COBOL、C或組合語言,或者是直接執行獨立的(stand-alone)DML命令(也就是查詢語言,query language)
Type of DML
Procedural DML:低階或程序化的,一次一筆記錄;它們是指定如何擷取資料,並且具有如迴圈這類的程式結構
Non-procedural DML:高階或非程序化的,它們是集合導向的(set-oriented),而且是指定要什麼資料,而不是如何擷取,如SQL。也稱作宣告式(declarative)語言
DBMS 分類
依照Data Model分類:
傳統的:Relational, Network, Hierarchical
新興的:Object-oriented, Semantic, Entity-Relationship, other