當前位置:首頁 » 數據倉庫 » 論壇系統資料庫設計
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

論壇系統資料庫設計

發布時間: 2023-02-28 14:01:04

A. 如何用mysql設計一個論壇資料庫

在控制台根目錄下打開sqlserver企業管理器,新建sqlserver組,根據自己的情況進行選擇;然後新建sqlserver
注冊,進行對sqlserver的連接。准備妥當後,下面就開始了:
首先打開數據轉換服務,新建包,打開dts界面,在連接中選擇數據源進行配置。再選擇將要轉換到的目的文件,這里我選的
textfile(destination),選擇好文件的存放位置之後,我們來新建一個任務。這里我們只選擇轉換數據任務,將帶有「選擇源連接」「選擇目的連接」的滑鼠分別選中數據源和目的之後,我們對新生成的連接進行定義,在其屬性中將源,目的,轉換依次定義。
執行任務,提示成功。保存任務。然後在新建的任務上導出數據,有向導提示,其中一項選擇「從源資料庫復製表和視圖」。
這一步已經把數據導出到目的文件中。
下一步在mysql中新建表,與將要導入的結構保持一致時,直接選取「從文本文件中提取數據,插入到數據表:」,將選項添好後,「發送」就可以了,瀏覽一下,數據已導入了。若要導入的表已經存在,且屬性名也不同,這時就先建一個與要導入的數據相同結構的表並導入數據(按剛才的進行就可以了),然後在mysql中導出「數據和結構」,得到sql語句,將其在文本文件中編輯,利用文本編輯器的替換功能,將表名修改,列名加入,最後將其粘貼在要導入表的執行sql語句的地方,執行一下,數據便導入了。

B. 一般BBS論壇的資料庫應該怎樣建啊

設計一個BBS論壇,該系統的用戶分別是:用戶和系統管理員。不同的用戶擁有不同的許可權,各自完成各自的管理功能,不同的用戶看到不同的系統功能。用sql server2000創建後台資料庫,然後利用JSP技術編寫程序實現對資料庫的操作,按照要求完成所有的功能和模塊。

用戶的主要功能模塊包括:

(1)用戶注冊與登陸

(2)查看帖子,查詢歷史帖子

(3)發布帖子

系統管理員的主要功能模塊包括:

(1)用戶管理

(2)後台資料庫維護

(3)論壇信息的分類管理

2、主要資料庫表單

(1)登陸用戶基本信息表單

主要欄位有:用戶編號、用戶呢稱、真實姓名、性別、出生日期、電子信箱

(2)content數據表(每篇文章的詳細信息)

主要欄位有:id編號、文章標題、是否回帖、文章作者、發表時間、正文

(3)board數據表(各個不同討論區信息)

主要欄位有:討論區中文描述名、討論區版主要id、不同討論區文章總數

(4)保存被封id數據表

主要欄位有:id,被查封用戶的id

C. 3.一個簡單的論壇系統,以資料庫存儲如下數據: 用戶名、發帖標題、發帖內容、回復標題、回復內容

這要涉及到設計思路了。考察的主要是對大數據量數據設計。最常提到的就是優化查詢語句了。說具體點主要就是常用的鏈接建索引,要考慮冗餘,這可以減少連接,還有就是把經常用到的和很少用到的分開到不同的表中,把不同類型的也要分到不同表中等等

D. 如何用mysql設計一個論壇資料庫

簡單用戶表 tb_user:
userid , username

用戶詳細信息表 tb_userinfo
userid , email , homepage , phone , address

把用戶信息分開的目的就是保證經常查詢的數據在一張表,其它信息放到另一張表

論壇主題表 tb_bbs
bbsid , userid , title , ip , repleycount , replyuserid , createtime , lastreplytime

論壇內容標 tb_bbs_content (此表可按照bbsid進行分表存儲)
bbsid , content;

論壇回復表 tb_bbs_reply (此表可按照bbsid進行分表存儲)
replyid , bbsid , userid , content , replytime , ip

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/zou274/archive/2009/04/18/4091036.aspx

E. 論壇的資料庫怎麼設計

常用的論壇設計方法,總結如下:
一 分割思想:
1 資料庫切分:用戶庫、主題庫、回復庫
2 數據表水平切分:用戶庫1-n、主題庫1-n、回復庫1-n (比如按時間分)
3 分布式資料庫:每台計算機中都有DBMS的一份完整拷貝副本,並具有自己局部的資料庫,位於不同地點的許多計算機通過網路互相連接,共同組成一個完整的、全局的大型資料庫。
4 論壇功能可以進行分隔,不同的伺服器負責不同的功能
5 用主從資料庫,master是寫, slave是讀
6 把內容與其它信息分開,好處就是可以讓每個表的文件最小化,對資料庫操作壓力會減小,這樣保證每張表數據量很小,操作速度會快,也可以在這里使用緩存
二 索引:
針對是否建立索引有著一定的分歧:
我覺得建立索引還是很有必要的。理由如下:
1)建立索引可以加快檢索速度,對於論壇讀和寫的比例相差很大,用戶體驗當然是讀多寫少,所以綜合考慮還是要用索引,而且是加在常用的讀關鍵字上。
2)索引之所以會降低更新的速度,是因為更新還包括對索引的更新,從更新帖子10萬左右,這句話是說,我們可能對發帖標題,發帖內容,回復標題,回復內容這4個欄位做更新。需要注意的是,這四個欄位並不是用來建立表連接的欄位,為了優化查詢速度我們不會在這四個欄位上建立索引,所以從這道題目出發,我們建立的索引不會影響更新帖子的性能。只要被索引的列(例如回復表的標題ID)不被頻繁更新,即使索引所在地行的其它列被頻繁update,索引也不會被更新從而產生性能消耗,一張表一天30萬次的索引更新,因它引起的性能消耗小到即使資料庫安裝在奔騰3單核CPU下都能輕松承擔下來。
3)對於更新的速度慢的問題,我們有解決的方法,你提交更新了後,前台可以讓程序返回一個正確結果,後台開個線程非同步慢慢跟新資料庫就是了,反正更新成功的前提就是假設資料庫連接永遠正確並處於可靠狀態。在資料庫和用戶之間建立一個緩沖區。(如,將更新的數據放到內存中,達到一定數量的時候再統一更新資料庫。假如以100條為例,一旦內存中達到100條數據量將這100條數據統一入庫。減少insert操作)

三 緩沖:
讀的時候的緩沖:緩存路由表
主題緩存表(這個取每個區的前面100條記錄),一般來說負載最大的就是主題的第一頁,所以緩存表是個小表。

另外使用hibernate,在資料庫上面加了一層緩存。
生成靜態頁,緩存最熱,最新的帖子。
對於經常更新的數據都設計成單獨表 ,這樣可以最大程度的利用hibernate緩存
緩存常用的數據和表,利用緩存來將經常被訪問的帖子留在內存中,為每條緩存的記錄添加一個訪問時間,如果長時間沒被訪問就從緩存中刪除掉,
避免內存過大,每次用戶看帖的時候,首先檢索緩存中時候有需要的帖子,沒有的話再訪問資料庫,然後將資料庫返回的帖子信息存儲到緩存中。

寫的時候的緩沖:資料庫和用戶之間建立緩存,將更新的數據放在內存中,非同步操作的。所有的寫貼操作 放到一個隊列然後批量執行插入資料庫操作。

預估計的緩沖:假如用戶第一次打開某標題,那將此標題的相關的前100條數據緩存到客戶斷。這樣避開對資料庫的直接查詢,減少資料庫壓力。
四 代碼優化
1盡量避免表的連接約束通過代碼來實現約束 例如用戶id的驗證在用戶登錄時驗證這樣就可以把帖子表的用戶id外鍵去掉這樣就成了單表操作、查詢 而連接可以通過觸發來實現這樣最多是查詢了3個表而不是連接中的笛卡爾笛卡爾積 回復表的查詢限定每次查詢的記錄數例如限定10條其它的通過點擊觸發來操作"注代碼優化容易出現bug 原因有些開發工具本身有優化"
五 資料庫性能調優
盡量用硬體來代替軟體優化 原則就是能用硬體的盡量用硬體 比如磁碟陣列 RAID0 有條件用RAID10 加大內存 .避免小表上建索引 對論壇來說數據帖子和回復不是很重要 可以定期刪除一些垃圾帖子 樓主說的幾百萬條記錄的論壇對現在的資料庫管理系統和計算機來說永不著刻意的優化,定期維護打包備份資料庫就可以了
提高速度的關鍵:
1.建立合理的索引並在查詢時充分利用;
2.避免使用關聯,這樣避免整表掃描;使用關聯不如多次使用主鍵查詢來的快;
3.一些處理的功能盡可能放到內存中來做,比如組織主題和回復;
4.海量緩存(使用靜態頁面也是個不錯的做法)
5 定期對表進行轉儲

F. 論壇站內信群發,資料庫設計該如何優化

真正的大數據保存在 信息表中, 關聯表式很小的,雖然隨著系統的運行數據會很多 !!
有兩種方案解決:
1, 及時載入策略:每群發一條消息自然會往消息表中插入一條數據,這時你可以同時往關聯表中插入數據。 好樣的,問題來了!如果系統用戶幾百萬,你發一條站內信,就要往關聯表中插幾百萬條數據,這是很耗性能的!!
2,延遲載入策略:每群發一條消息自然會往消息表中插入一條數據,不要及時插入到關聯表。只當用戶登錄站內信時, 我才將消息表中的未讀消息載入進來。