跳轉到

1973 Charles Bachman —— 資料也在結網:網狀資料庫的探案#

「在關聯式模型統治世界之前,是誰先回答了『資料應該怎麼放』 這個問題?而他的答案又為何被後來者推翻?」

案件檔案#

項目 內容
得主 Charles W. Bachman (1924–2017)
得獎理由 資料庫技術的貢獻:IDS、網狀模型、CODASYL DBTG
關鍵詞 IDS、網狀模型、導航式存取

前因#

1950–60 年代,企業資料散落在磁帶批次檔案中:想查「某客戶的 訂單」,程式要按順序把整捲磁帶讀完。資料量大增 + 磁碟出現 (IBM RAMAC, 1956),使「隨機存取」成為可能——但資料的 組織哲學還沒誕生。

線索與推理#

  1. 1961–63 年 IDS(Integrated Data Store):Bachman 在 GE 開發出最早的通用資料庫管理系統之一。
  2. 網狀模型:資料組織為 record type + set(一對多連結),
  CUSTOMER ──(set: orders)──> ORDER ──(set: lines)──> LINE-ITEM

存取是導航式:「從客戶 FIND FIRST order, THEN NEXT ...」 就像在圖上走邊。 3. 1969–71 年 CODASYL DBTG 報告:Bachman 主持,將 IDS 概念 標準化,催生 COBOL 資料庫市場。 4. 1974 年 Turing Award 演講《The Programmer as Navigator》: 提出資料的三層視野——邏輯網 / 實體儲存 / 應用導航,宣稱 程式設計師應直接在資料圖上航行。

理論核心:一場著名的辯論#

1974 年 ACM 會議,Bachman(網狀派)與 Codd(關聯派,1981 案) 正面交鋒。爭點:

爭點 網狀模型 關聯模型
效率 導航快(指標直達) 當年被視為慢
獨立性 應用綁死存取路徑 查詢與路徑分離
理論 圖,缺乏形式基礎 集合論 + 關係代數

Codd 的殺手鐧是資料獨立性:宣告式查詢把「要什麼」與 「怎麼找」分離,查詢最佳化器接手後者。歷史判決:理論潔淨性 最終兌換了實務效能——關聯模型勝出。

後果#

  • 但本案不是「敗訴者檔案」:導航式思想在圖資料庫 (Neo4j 等)復活;CODASYL 系統直到 2000 年代仍在大型主機上運轉。
  • 「程式設計師作為領航員」的隱喻,預告了物件圖導航(ORM)與 GraphQL 等圖狀存取介面。

關聯案件#

→ 1981-Edgar-Codd與關聯式資料庫模型、1998-Jim-Gray與交易處理及資料庫、2014-Michael-Stonebraker與Ingres及Postgres