1 為什麼要有資料庫系統
資料庫系統的目的至少有兩個:
1)大量資料的儲存
2)對儲存的資訊進行高效管理
其它冠冕堂皇的目的都在這兩個原始意圖上派生而出,例如輔助公司決策的這個作用正是由於儲存了大量資料,並且能對他們進行高效的檢索統計分析而實現的。
2 模式和例項
模式這個詞在資料庫中應該理解成「設計」的名詞用法。
「關係模式」就是「關係設計」,指的就是關係表的結構。
「概念模式」就是「概念設計」,指在概念設計階段的資料庫結構。
「資料庫模式」就是「資料庫設計」,即資料庫的整體結構。
如此類推。
例項就是模式的例項化。
他們的關係可以比喻成定義乙個變數時變數和型別的關係,模式是型別,例項是變數。
模式決定了例項的結構和操作,例項是某一時刻所包含的符合模式型別的資料。
3 資料庫的三層抽象
抽象這個方法是個好東西,到處都用。
在描述乙個系統的整體時,它是乙個很好的分類描述方法。
資料庫的三層抽象指:物理層,邏輯層和檢視層。
資料庫設計的方方面面都可以從這三個不同的抽象層面進行不同的解釋。
要適時合理的在這三個層面之間切換角度,才能順利的理解資料庫。
例如關係,在物理層它有可能被表示成乙個二維陣列,也有可能是乙個十字鍊錶;而在邏輯層,它就是乙個包含n個字段的記錄表,每個欄位有自己的型別和域(當然,也可以對字段的型別和域進行物理層和邏輯層的剖析,如果你蛋疼的話);然後再檢視層,使用者看到的就只是乙個顯示在螢幕上的**。
一般來說抽象至少有兩個意圖:1)隱藏第一層的實現。2)無論1)是出於簡化的目的,或者是保護的目的,這都使客戶感到滿意。
4 資料庫設計的簡單流程
實際上能把系統描述清楚地時候也就能夠進行系統設計了。
所以3中提到的三層抽象就是資料庫設計的依據。
首先是在檢視層進行設計,也就是所謂的概念設計,這個階段主要工作就是確定資料庫中應該儲存哪些屬性,以及怎樣設計表來存組織這些屬性,這也就是資料庫的概念模式了,概念模式還包含功能需求規格說明。
順便一提,對於給定茫茫多的屬性,怎麼組織表結構這是電腦科學的內容,一般來說要麼用e-r模型,要麼就是用規範化演算法。
接下來說起來就簡單了,在邏輯層上對映概念模式,然後在物理層上對映實現邏輯模式,也就是所謂的邏輯設計階段和物理設計階段。
5 儲存管理器和查詢處理器
1中說道,資料庫就是拿來存資料管資料的,因此資料庫系統在模組的劃分上設計了兩大功能模組:儲存管理器和查詢處理器。
要訪問資料庫無非兩種途徑:程式設計,查詢語句。儲存管理器負責在底層資料和他們之間提供介面。也就是儲存管理器負責接收指令,然後按要求與伺服器作業系統的檔案處理系統打交道,拿到相應的資料。
而傳給儲存管理器的指令就需要查詢處理器來翻譯了
它的主要工作至少有兩項:1)解釋ddl並存入資料字典,當然,這也是通過儲存管理器;2)將dml翻譯成乙個執行方案,不知道優化這個工作是不是這哥們的。
6 基於c/s的資料庫體系結構
在c/s模型基礎上,資料庫體系結構至少有以下兩種:1)兩層;2)多一層:3層。
區別在於:三層結構講原本在客戶機上的應用程式的業務邏輯抽取出來,放到在資料庫系統和客戶機之間新增的應用伺服器上。
聽說三層更適合大型應用,我現在研究體系結構還為時尚早,除非我想被忽悠————鬼知道怎麼驗證他說的對不對。
空間資料庫學習 (CP 1)
作者引言 資料庫在當今時代無論在哪個行業都是非常重要的,而相對於普通資料庫,空間資料庫更具有三維特徵,因此學習起來也更加困難,但是對於我們這也是必須掌握的,所以,讓我們一起來學習空間資料庫吧,baby們!常用 sql,mysql,oracle,mongodb 為什麼要用資料庫?空間資料 spatia...
澄清一些概念
參考 以前一直分不清 authentication 和 authorization,其實很簡單,舉個例子來說 你要登機,你需要出示你的 passport 和 ticket,passport 是為了證明你張三確實是你張三,這就是 authentication 而機票是為了證明你張三確實買了票可以上飛機...
Windws OS 一些概念
答 並行是多個執行緒同時進行 併發是多個執行緒在同一時間段內進行。並行優於併發。1.函式呼叫 同步是函式執行完畢才返回,絕大多數函式都是這樣的 非同步是函式開始執行時就返回,自己的執行仍在繼續,本質是多執行緒。2.執行緒排程 同步 各執行緒間有明確的次序關係。互斥 臨界資源某一時刻只能被乙個執行緒訪...