1973 Charles Bachman —— 資料也在結網:網狀資料庫的探案#
「在關聯式模型統治世界之前,是誰先回答了『資料應該怎麼放』 這個問題?而他的答案又為何被後來者推翻?」
案件檔案#
| 項目 | 內容 |
|---|---|
| 得主 | Charles W. Bachman (1924–2017) |
| 得獎理由 | 資料庫技術的貢獻:IDS、網狀模型、CODASYL DBTG |
| 關鍵詞 | IDS、網狀模型、導航式存取 |
前因#
1950–60 年代,企業資料散落在磁帶批次檔案中:想查「某客戶的 訂單」,程式要按順序把整捲磁帶讀完。資料量大增 + 磁碟出現 (IBM RAMAC, 1956),使「隨機存取」成為可能——但資料的 組織哲學還沒誕生。
線索與推理#
- 1961–63 年 IDS(Integrated Data Store):Bachman 在 GE 開發出最早的通用資料庫管理系統之一。
- 網狀模型:資料組織為 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