程式與資料庫架構

 

佛典經錄所涉獵文獻龐大,從紙本至不同刻本,一部佛經在不同的版本中就有不同的出處。因此除了整理每版數千筆經錄的各版藏經為一資料庫外,如何建立各版藏經的相關網絡關係,能使讀者從佛經目錄資料庫中檢索到某部經在各版藏經的版本記錄訊息,以下即逐項說明佛經目錄資料庫的資料結構及了解此資料庫的運作原理。

 

● 資料庫結構圖


● 主要表格說明

 

  • 大正藏、高麗藏、龍藏 ... 等大藏經皆有一個獨立的資料表,記錄該大藏經目錄相關的一切資料。
  • 「大藏集成」資料表是主要的資料表,它負責將各藏整合連結。而「經文編號」欄位是各經的唯一代號,許多資料表都用它來連結。
  • 有鑑於作譯者有時不只一人,為了規劃方便,獨立設置了「作譯者列表」資料表,負責儲存獨立的作譯者。

以《中論》為例,它在「大藏集成」主資料表的作譯者是【龍樹菩薩造   梵志青目釋   姚秦 鳩摩羅什譯】,這筆資料在「作譯者列表」資料表則切成三筆資料 ( 作譯者代碼及朝代代碼先略去 )

作譯者列表

經文編號

作譯者

A1564

龍樹菩薩造

A1564

梵志青目釋

A1564

鳩摩羅什譯

此資料與大藏集成的關係如下圖:

  • 另外設計多種資料表,以處理各種重覆名稱問題,這些資料表在底下會陸續解釋其用途。

● 處理一經多名問題

有時一部經有很多不同的名稱,甚至在各藏的名稱也可能不同,為了解決這個問題,我們設計了「一經多名」資料表來解決。以大正藏 532 經為例,此經名為《私呵昧經》,又名為《菩薩道樹經》或《道樹經》……等諸多名稱。

若以傳統的查詢《菩薩道樹經》,可能在大正藏找不到此經。假設此經的「經文編號」是 A532 ,則在「一經多名」資料表至少有這三筆資料:

一經多名

經文編號

經名

A532

私呵昧經

A532

菩薩道樹經

A532

道樹經

下圖則是 「一經多名」資料表與「大藏集成」資料表的關係。

經名的搜尋就是在此資料表進行,當使用者查詢《菩薩道樹經》時,可以得知此經在編號 A532 的位置,再藉由主資料表與各藏的連結,即可查出此經在各大藏經的相關資料,雖然大正藏此經經名是《私呵昧經》,亦可用《菩薩道樹經》來順利找到。

當「一經多名」資料表收集的愈齊全,能找到同經異名的資料就愈多。


● 處理一人多名的問題

另一個查詢的問題,則是譯者一人多名,為了處理這個問題,我們設計了「作譯者多名」資料表來解決。以大正藏  236 經為例,此經名為《金剛般若波羅蜜經》,其譯者為【元魏 菩提流支譯】。

假設此經的「經文編號」是 A236 ,其譯者代碼為 001 ,則「作譯者資料庫」資料表記錄為:

作譯者資料庫

作譯者代碼

名稱

001

菩提流支

每一人在此資料表皆只有唯一一筆資料。

在「作譯者多名」資料表則可以存放每一個人的各種稱呼,例如菩提流支有二筆資料:

作譯者多名

作譯者代碼

名稱

001

菩提流支

001

菩提留支

作譯者的搜尋就是利用此資料表進行,當使用者查詢「菩提留支」時,可以得知此譯者代碼為 001 ,進而查詢「作譯者列表」資料表時,即可得知「經文編號」 A236 「菩提流支」所譯的《金剛般若波羅蜜經》符合查詢。


● 處理朝代多名的問題

除了經名與譯者有多名的問題,朝代也有同樣的情況。

利用上面提過的技術,我們也設計了「朝代多名」資料表。例如用此資料表記錄「前秦」=「符秦」,「後秦」=「姚秦」,「西秦」=「乞伏秦」,在查詢上就獲得更多符合的資料。若能配合記錄朝代的時間甚至地理位置,相信未來可以有更多的應用。

底下為查詢作譯者多名與朝代多名的資料關聯圖。