湛 寧,呂 爭
基于多種JSP技術設計個人在線知識倉庫
湛 寧,呂 爭
實驗表明,在個人在線知識倉庫功能設計五個模塊,并對其數據庫進行業務分析、設計和創建的基礎上,創設基于多種JSP技術的個人在線知識倉庫,所給出的程序能正確運行,并獲得較高的下載速度。
功能設計;SQL;數據庫;JSP技術
個人在線系統從功能上可以劃分為五個模塊。首先是插入功能模塊,主要用來將知識點插入到數據庫中。在該模塊中可以指定對應知識點的分類、標題、增加時間以及知識點的主要內容。數據庫中的所有記錄都是通過這個模塊添加進去的。本模塊主要包括一個插入頁面,然后是最重要的查詢模塊,查詢結果可以用列表的形式顯示給用戶??紤]到數據庫中符合條件的記錄可能比較多,所以可以考慮進行適當的分頁處理。本模塊主要包括查詢頁面和查詢結果頁面。另外一個重要模塊是查看模塊。查詢結果是按照列表的形式顯示給用戶的,頁面顯示空間有限,必須由單獨的頁面對知識點記錄進行顯示,所以查看模塊是必不可少的。本模塊包括一個詳細情報頁面,可以通過查詢結果頁面鏈接到達。數據庫中既有的知識點記錄必須能夠進行修改和刪除,所以修改和刪除功能模塊自然是兩個必不可少的模塊。這兩個模塊應該和查看模塊一樣,分別對應修改頁面和刪除頁面,可以通過查詢結果頁面的鏈接到達。
知識倉庫中實際上圍繞的中心數據只有一種,就是知識點?;蛘哒f,唯一需要關注的數據對象只有一個,所有的操作,如添加、查找、查看、修改和刪除,都是圍繞著這一個對象來進行的。知識點對象的屬性有編號、大分號、小分號、標題和內容。基于這些內容,就已經可以建立數據庫字段了。
但是考慮到大分類、小分類是相對固定的,如果將大分類名稱和小分類名稱作為字段內容放在知識點的表中,是一種極大的浪費。所以,應該將大分類和小分類從知識表中獨立出來,在知識點的表中只保留對應大分類和小分類的編號,而在另外的表中分別存放大分類和小分類的名稱。
這樣做還有一個好處,目前的程序設計中并沒有考慮到對分類的維護,也就是說,到目前為止,如果想要添加分類或者對現有分類進行修改,都必須要手工修改數據庫,這或多或少將給用戶的操作帶來一些不便。以后如果要擴展系統,將分類信息存放在知識點表中就十分不便,難以操作。
另外,大分類和小分類有一定意義上的級聯關系,也就是說,某一個大分類可能對應著很多個小分類,所以在小分類的表中一定要有一個大分類的字段,能夠體現出來它們之間的這種一對多的關系。
所以,知識倉庫所需要的數據庫中大概需要有3個表,一個大分類,一個小分類,還有一個主表:知識點。大分類和小分類之間的關系是一對多的關系,小分類和知識點之間也是一對多的關系。
根據業務分析,已經初步決定了個人知識倉庫所需要的數據庫表的大致內容,現在可以根據這3個表的特點分別詳細規定對應的表結構。
大分類表,表名定為CATEGORY,表結構如表1所示。

表1 大分類表結構
小分類表,表名定為SUB_CATEGORY,表結構如表2所示。

表2 小分類表結構
(1) 知識點表,表名定為TIP,表結構如表3所示。

表3 知識點表結構



本文給出了基于多種JSP技術的個人在線知識倉庫的設計方法,所設計程序能正確運行,并且速度快,有利于對數據庫系統的學習及應用。從本人在線知識倉庫開發過程中,可以獲得部分經驗以及對以后開發的一些啟示性思考。
[1]張銀鶴,唐有明,王俊偉.JSP+Ajax網站開發典型實例[M].北京:電子工業出版社,2009.
[2]高翔.JSP動態網站開發與實踐 [M].北京:電子工業出版社,2007.
[3]王永茂.JSP程序設計——用JSP開發WEB應用[M].北京:清華大學出版社,2010.
責任編輯:郭一鶴
G250
B
1671-6531(2012)08-0062-02
湛寧/信陽職業技術學院數學與計算機科學學院講師,碩士(河南信陽464000)。