web開發之收藏功能資料庫設計

2021-06-28 18:07:05 字數 1247 閱讀 8224

很多web專案中都會涉及到收藏功能的設計,用於使用者儲存自己喜歡的文字,,鏈結,多**等資訊,這篇文章主要講解的是如何設計多模組話**的收藏功能的資料庫。

collect_id,collect_user,collect_feed,collect_time;

主鍵id,收藏使用者,收藏的專案,收藏的時間;

現在因為使用者需求,我們還要實現乙個收藏**的功能,我們或許需要設計如下收藏表pre_collect_photo

collect_id,collect_user,collect_photo,collect_time;

主鍵id,收藏使用者,收藏的專案,收藏的時間;

現在因為使用者需求,我們還要實現乙個收藏活動的功能,我們或許需要設計如下收藏表pre_collect_event

collect_id,collect_user,collect_event,collect_time;

主鍵id,收藏使用者,收藏的專案,收藏的時間;

現在因為使用者需求,我們還要實現乙個收藏話題的功能,我們或許需要設計如下收藏表pre_collect_topic

collect_id,collect_user,collect_topic,collect_time;

主鍵id,收藏使用者,收藏的專案,收藏的時間; 。

。 。隨著專案的增大,我們需要設計收藏的條目越來越多,這時候就要找一種設計方法整合上面的各類收藏表。

解決方案:

首先,我們清楚的是,使用者收藏的東西都對應了資料庫表中的一條記錄,而且這條記錄在對應的表中是唯一的,所以,在收藏表中,只儲存收藏條目在對應表中的主鍵是不行的,因為不同的表中的主鍵的值存放到一張收藏表中,這個值是可能一樣的,比如使用者發表的一條微博在微博表裡面的主鍵是1,使用者發布的一張在表裡面的主鍵也是1,假設使用者同時收藏了這條微博和這張**,那麼裡面收藏的條目的id都是1的話,就沒辦法區分開來。如下所示:

collect_id,collect_user,collect_item,collect_time

1,1,1,141414142

2,1,1,141414146

所以,可以在上面的表結構上在增加個字段,用來記錄收藏專案所在的表名稱,甚至加上專案的模組名,如下所示

collect_id,collect_user,collect_module,collect_table,collect_row,collect_time

1,1,feed,pre_feed,1,141414142

2,1,photo,pre_photo,1,141414146 完!

web開發之商城訂單模組資料庫設計

需求 系統,使用者購買商品,生成訂單。思路 使用者下訂單購買商品,分成三部分來看。第一部分 訂單本身,包括訂單狀態,訂單總額,物流,支付等資訊 第二部分 訂單商品資訊,包括購買商品的名稱,規格,數量,等資訊 資料庫設計 三個部分對應三張表 訂單表 pre order order id,order s...

php搜尋資料庫設計,PHP資料庫搜尋功能設計

其實搜尋功能的設計很簡單,幾行 就可以完成。下面是form表單。從表單發出的資料名為search,然後傳送到.admin article searchresult.php這個檔案處理。下面講下article searchresult.php這個檔案如何實現搜尋。searchs post search...

資料庫設計 資料庫設計之欄位冗餘

學過資料庫設計的同學都知道,資料庫設計有三大正規化,但是在實際工作中,三大正規化很難被嚴格的執行。本文將給大家介紹一種常見的 違反正規化的資料庫設計方案 字段冗餘1 經典示例先來看乙個經典的例子,在一些 系統裡,要顯示已購買的訂單,一般會顯示訂單號 下單時間 訂單金額 商品名稱等,如下圖。正常我們如...