Ever
Lv 6
Ever 發問時間: 電腦與網際網路程式設計 · 2 0 年前

解釋名詞:關聯式資料庫

麻煩各位幫我解釋名詞:

何謂關聯式資料庫

3 個解答

評分
  • aaron
    Lv 6
    2 0 年前
    最佳解答

    關聯式資料庫

    資料

     在日常生活中,我們會面對許多不同型態的資料,如親朋好友的通訊資料、個人行程計畫等等。為了保存這些資料,我們會自定一些規則,將它們有組織地記錄在紙張或電腦上,以便將來取用。我們用這樣的方法長期保存資料,就算是一種「資料庫」。

    資料模型

     前面提到,我們會自定一些資料記錄的規則,將資料庫以固定的架構來組成;而用來表示資料庫如何組成的架構,稱為資料模型。關於資料模型的理論不少,其中最為著名的是「關聯式資料模型」(relational model of data),這是 E. F. Codd 博士(數學家,IBM 的研究人員)於 1970 年在「A Relational Model of Data for Large Shared Data Banks」這篇論文中所提出的。

     這項理論隨後不斷地被討論與修正,到 1980 年前後開始有「關連式」的資料庫產品上市;自此之後,資料庫方面的發展與研究幾乎都是「關連式」的天下了。

    關聯式系統

     什麼樣的資料庫系統才是「關連式」的呢?簡單地說,「關連式系統」就是:

    使用者看到的都是表格。

    使用者可使用的運算子,都是從舊表格中產生新表格。這些運算子至少包括 RESTRICT(SELECT)、PROJECT 與 JOIN。

     換句話說,「關連式系統」的特徵就是其利用表格來呈現資料,然後將表格視為集合來進行處理。當要操作資料時,便是針對表格去執行以集合理論為基礎的數學運算,而其執行結果還是表格。

    表格

     下圖是一個「表格」(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」運算。

    • Commenter avatar登入以對解答發表意見
  • 1 0 年前

    那你幹嘛還回= =

    • Commenter avatar登入以對解答發表意見
  • 2 0 年前

    .....

    其實我覺得這種問題隨便查也有...

    為什麼要在這問呢...?

    • Commenter avatar登入以對解答發表意見
還有問題?馬上發問,尋求解答。