Week 3: 關連式資料庫簡介
什麼樣的資料庫系統才是「關連式」的呢?簡單地說,「關連式系統」就是:
- 使用者看到的都是表格。
- 使用者可使用的運算子,都是從舊表格中產生新表格。這些運算子至少包括 RESTRICT(SELECT)、PROJECT 與 JOIN。
From: http://chensh.loxa.edu.tw/php/B_2.php
資料 | |
| 在日常生活中,我們會面對許多不同型態的資料,如親朋好友的通訊資料、個人行程計畫等等。為了保存這些資料,我們會自定一些規則,將它們有組織地記錄在紙張或電腦上,以便將來取用。我們用這樣的方法長期保存資料,就算是一種「資料庫」。 | |
資料模型 | |
| 前面提到,我們會自定一些資料記錄的規則,將資料庫以固定的架構來組成;而用來表示資料庫如何組成的架構,稱為資料模型。關於資料模型的理論不少,其中最為著名的是「關聯式資料模型」(relational model of data),這是 E. F. Codd 博士(數學家,IBM 的研究人員)於 1970 年在「A Relational Model of Data for Large Shared Data Banks」這篇論文中所提出的。 | |
| 這項理論隨後不斷地被討論與修正,到 1980 年前後開始有「關連式」的資料庫產品上市;自此之後,資料庫方面的發展與研究幾乎都是「關連式」的天下了。 | |
關聯式系統 | |
什麼樣的資料庫系統才是「關連式」的呢?簡單地說,「關連式系統」就是:
| |
| 換句話說,「關連式系統」的特徵就是其利用表格來呈現資料,然後將表格視為集合來進行處理。當要操作資料時,便是針對表格去執行以集合理論為基礎的數學運算,而其執行結果還是表格。 | |
表格 | |
| 下圖是一個「表格」(table),其中縱向的稱為「行」(column),或是稱為「欄」(field),存放著相同性質的資料。橫向的稱為「列」(row),或是「記錄」(record),裡頭包含許多不同性質的資料項目。這個表格有 4 欄 3 列。 | |
| 圖中黑色名詞與紅色名詞的意義相近,雖然在大多數的場合它們也被視為同義詞,但後者的定義較為嚴謹,才是符合數學理論的正式名稱。 | |
運算 | |
| 關連式資料模型是以數學的集合理論為基礎,Codd 博士定義了八個運算子(operator),用來對關聯式資料模型做數學運算。運算後的結果會再度成為一個資料表(relations in, relations out),而且這個資料表也能再度進行運算。透過這樣不斷地運算,便可導出所需的結果來。這八個運算子之中,前四個是傳統的集合運算(union, intersection, difference, and Cartesian product),後四個則是特殊的關聯式運算(restrict, project, join, and divide)。 | |
| 舉個例子來看,從通訊錄中取出所有性別為「女性」的資料列,這就是「restrict」運算;若取出「姓名」與「電話」這兩欄的所有資料,則屬於「project」運算。 |
Today's Visitors: 0 Total Visitors: 4
歷史上的今天:
資料


