[筆記] Database 重點整理

0. What is Database?
Collection of persistent(長存) data
長存資料的收集
由 entities(實體), relationships(關聯) 與 properties(屬性) 所組成
Collection of true propositions(命題)
檔案中存在"Record"  就是邏輯上的真命題

1. 組成DB的四大部分為何?
Data, hardware, software, users

2. DBA的工作項目?
DBA是資料庫管理師,為使用者與  DBMS間的橋樑,負責管理維護資料庫
工作項目:
提供一個中央控制的整合資料庫,決定資料的儲存結構
協調個部門以決定資料呈現方式,負責維護資料庫的綱要(conceptual schema)
維護使用者的綱要(external schema, user view)
舊資料轉換,確保轉擋正確性
資料備份(Backup) ,回復原貌(Recovery)
藉由log來監督並調整資料庫的效能
Security Control與Integrity(一致性) Checking
提供適當的防措施以防止系統資料損毀

3-1. 何謂DBMS 說明operation flow of DBMS 並說明使用DBMS 的優缺點
一種套裝軟體負責處理所有使用者存取資料庫的需求
運作流程:
- 收到使用者用 DSL 存取資料庫的要求
- 分析它
- 依序檢查
     使用者的外部層綱要 External schema
     相對的 External 與 Conceptual 的 Mapping
     Conceptual 層的 schema
     Conceptual層與 Internal層的Mapping
     以及資料的儲存結構
- 對儲存的資料庫執行該做的動作



3-2. 何謂異質性分散式 DBS?
異質性資料庫系統
– 整合不同機構的資料庫
– 由下至上(Buttom‐Up)整合
– 各個資料庫有其完全獨立的自主性,不傷害內部利益的情況下,酌量開放某些資訊整合

– 難以達成最佳化的運作


4. 何謂DA?
Data Administrator :是一個中央的資料管理者
了解企業內部與企業所需求的資料庫
通常由DBA擔任技術人員來提供DA所開出來的資料庫管理需求項目

5. ER Diagram 就是 Entity/Relation 圖
Entity 實體:實際的人事物,要用來存放資料的實體
Relation 關聯:entity與entity兩兩之間的連結關聯

6. What is Data Models and Relational data model
Data model是一個抽象地,自足的邏輯表示式,當中包含
Objects (entities) : model the structure of data
Operators: model Objects' behavior

Relational data model 是目前最常用於database的data model
已關連式的方式來組織資料間的關係
以table的方式表格般的結構呈現給使用者(應用程式)

7. Data Independence
透過電腦化的方式將資料集中控制管理,讓應用程式不受資料真實存放方式所牽絆

使用者不需受限內部細節

許多商用database或是為求效率,並未將此分割清楚

實際資料與它的metadata獨立

8. Three Levels of Architecture
ANSI/SPARC 資料庫系統架構

- External level
使用者所看的的部分 External Shema

- Conceptual level
內部曾與外部層之間的橋樑,是DBA所看到的整體部分
conceptual schema
defined by conceptual DDL

- Internal level
實際system儲存資料的結構


data sub-language = 

DDL (definition) + DML (manipulation)

用來定義與操作資料庫的語言,例如 SQL

9. What is DML? What is data dictionary? what is integrity?
DML 就是 data manipulation language 例如SQL,可讓使用者透過 DML 做出檢視資料,修改資料等操作

data dictionary 是資料的metadata 或 descriptors,用來描述Schema , mapping, Security, integrity constraints 等資訊

integrity就是一致性,不同User看同一筆data呈現出來的結果要一致,而如果schema 之間的資料欄位有互相參照,則不同schema所參照到的資料要一致

10. 何謂transaction management 並說明四大特性

異動的管理對於資料庫的一個完整的動作稱為一個異動,可能包含許多細部的動作,例如轉帳 = 由銀行A的帳戶a扣錢+給銀行B的帳戶b加錢

異動有四大特性 (ACID)
Atomicity 異動的單元性: 一個異動中所有動作不是完全做完就是完全不做

Concurrency 異動的並行性:多個使用者共同存取一個資料庫時的異動之間不互相干擾,其結果要像大家排隊按順序來做異動的結果一樣

Isolation 異動的隔離性:異動在尚未完成之前,中間實行結果不得讓其他異動存取

Durability 異動的持續性:將異動的結果反應到資料庫的過程中,系統發生錯誤,那麼在系統回覆後,應當原本未做完的後續動作完成


11. 比較 Two-tier 與 Three-tier Architecture



12. ODBC 與 Cursor 
ODBC: open database connectivity 開放資料庫互聯
提供API的各種方法,可以存取資料庫管理系統DBMS

Cursor 是一個存取資料的物件,是一個buffer暫存資料區
maintain a pointer指到每一筆record上



13. SQL












留言

張貼留言

這個網誌中的熱門文章

[筆記] CRLF跟LF之區別 --- 隱形的 bug

[ML筆記] Batch Normalization

[筆記] 統計實習(1) SAS 基礎用法 (匯入資料並另存SAS新檔,SUBSTR,計算總和與平均,BMI)

[ML筆記] Ensemble - Bagging, Boosting & Stacking