1. 程式人生 > >新聞資訊類系統 ---- 文章分類和標籤的設計

新聞資訊類系統 ---- 文章分類和標籤的設計

零. 簡介 部落格、 CMS(網易新聞、 騰訊新聞) 之類的系統, 核心就是文章, 一切的一切都圍繞著文章進行, 所以設計一個好的文章分類和標籤的資料庫關係模型, 對後續編碼及維護將會起到至關重要的作用。 一. 分類 一篇文章, 比如 《大陸 ** 明星又離婚了》 這屬於 「娛樂」 類新聞, 又屬於 「中國」 分類下的新聞, 所以文章和分類的關係一般是 1 對 N 。  資料庫表結構設計 article :
欄位名 註釋
id
title 文章標題
author 作者
create_time 建立時間
edit_time 修改時間
creator 建立者
editor 修改者
等等...
category:
欄位名 註釋
id
article_id 文章 id
category_name 分類名
subcategory_id 子分類(與分類一對多的關係, 不一定需要子分類)
子分類可以依次類推, 想分多細分多細, 看需求
就以只有分類為例(是否含子分類其實原理類似), 這樣其實 left join 就可以出來結果, 但是這樣的結果不適合展示, 因為多個分類查出的一篇文章就有幾行結果(對於 SQL 來說幾個分類就幾條資料), 所以在後臺管理的文章列表頁面中, 一次查文章, 還有一次根據文章 id 查出所有分類, 兩次查詢結果和起來才能顯示一條結果,如下表格所示:
標題 分類
《大陸 ** 明星又離婚了》 「大陸」 「娛樂」
二. 標籤 還是以 《大陸 ** 明星又離婚了》 為例, 可以打上標籤 「明星」、 「大陸」、 「離婚」、 「娛樂」, 是一種 N 對 N 的關係。 標籤的作用是什麼呢? 一個是你可以根據標籤更快地搜尋到你想要看到的所有文章, 一個是網站可以利用標籤的使用次數展示出熱門標籤(如某些部落格展示一個部分標籤, 有的字型大, 有的字型小, 可能就是根據標籤的引用數來設定字型大小, 從而突出展示熱門標籤)。 資料庫表結構設計 tag:
欄位名 註釋
id
tag_name 標籤名
article_number 打上該標籤的文章數
article_to_tag (文章和標籤關係中間表):
欄位名 註釋
id
tag_id 標籤 id
article_id 文章 id
為什麼要設計中間表呢? 使用一張中間表, 查詢從 article_to_tag 查詢相應文章 id, 然後根據 id 查詢文章, 使用二級索引, 查詢效率高。 索引可以參考筆者的這篇文章:索引的設計

相關推薦

新聞資訊系統 ---- 文章分類標籤設計

零. 簡介 部落格、 CMS(網易新聞、 騰訊新聞) 之類的系統, 核心就是文章, 一切的一切都圍繞著文章進行, 所以設計一個好的文章分類和標籤的資料庫關係模型, 對後續編碼及維護將會起到至關重要

Django學習筆記二:實現部落格詳情,完善文章分類標籤

前面我已經學會了使用Django框架搭建一個簡單的部落格框架。接下來學習的就是如何完善部落格的功能。 部落格詳情 功能 當用戶點選文章的“繼續閱讀”按鈕時,實現瀏覽文章的具體內容。即當點選“繼續閱讀”時根據傳入的請求和文章的id引數跳轉到對應的

統計各個分類標籤下的文章

作者:HelloGitHub-追夢人物 文中所涉及的示例程式碼,已同步更新到 HelloGitHub-Team 倉庫 在我們的部落格側邊欄有分類列表和標籤列表,顯示部落格已有的全部文章分類。現在想在分類名和標籤名後顯示該分類或者標籤下有多少篇文章,該怎麼做呢?最優雅的方式就是使用 django 的 a

基於java的現代物流資訊管理系統開發,javaweb畢業設計

**基於java的現代物流資訊管理系統開發,javaweb畢業設計** 基於java的現代物流資訊管理系統開發mysql資料庫建立語句 基於java的現代物流資訊管理系統開發oracle資料庫建立語句 基於java的現代物流資訊管理系統開發sqlserver資料庫建立語句

iOS開發之資訊App常用分類控制元件的封裝與實現(CollectionView+Swift3.0+)

今天部落格中,我們就來實現一下一些常用資訊類App中常用的分類選擇的控制元件的封裝。本篇部落格中沒有使用到什麼新的技術點,如果非得說用到了什麼新的技術點的話,那麼勉強的說,用到了一些iOS9以後UICollectionView新增的一些新的特性。本篇部落格所涉及的技術點主要有UICollectionView的

iOS開發之常用資訊App的分類展示與編輯的完整案例實現(Swift版)

上篇部落格我們聊了《》,今天的這篇部落格就在上篇部落格的基礎上做些東西。做一個完整的資訊類App中的分類展示、分類切換、分類編輯這一套東西。當然,主要我們還是使用靈活多變的CollectionView來實現。下方我們將會給出程式的執行效果,然後給出核心的程式碼實現,在文章的末尾我們會給出github上原始碼的

超寬頻高速記錄回放系統分類使用方法

超寬頻訊號高速資料採集記錄儲存回放系統     超寬頻訊號高速採集記錄儲存回放系統主要用於對超寬頻訊號進行長時間高速連續實時採集記錄和回放產生,適用於雷達、無線通訊、軟體無線電、電子對抗、電子偵察、衛星導航、複雜電磁環境模擬訊號的高速採集、分析、記錄、儲存和回放產生。  

高速採集卡的超寬頻高速記錄回放系統分類使用方法

                 8bit 1GS/s 高速資料採集卡 產品編號:HSDAQ9870 規  格:8bit 1GS/s 高速資料採集卡 及專用高效能磁碟陣列伺服器系統 產品類別:高速資料

認知資訊處理系統的認識理解

轉載:http://zhan.renren.com/h5/entry/3602888498045421967 1. 背景                                                                           

部落格文章分類標籤的區別與聯絡

1.分類和標籤是部落格系統的兩項功能 標籤最顯著的作用: 一是傳統意義上分類的作用,類似分類名稱; 二是對文章內容進行一定程度的描述,類似於關鍵詞。 分類指使用者定義類別並給博文歸類。這是很自然地整理文章的方法,所以也成為部落格系統的基本功能。 後來,網際網路

支付系統資料處理資料中臺的資料處理方式有什麼不同?

資料備份之後實時性如何保證 在建立資料中臺的時候,資料還是來源於各個異構的業務應用系統,實現了資料的統一,但是資料實際上是多存了一

在Win10自帶輸入法下,CSDN添加個人分類文章標籤時無法輸入中文

Win10作業系統自帶輸入法下,在編輯部落格下方新增"文章標籤"和"個人分類"時,無法輸入中文,英文可以正常輸入,準確說是 在簡體中文輸入狀態下 我在網上查了半天終於找到了解決的方法,沒想到這個小bug,csdn竟然過了快一年還沒有解決  而這個問題18年1月份就有

學生資訊管理系統之第二篇主要功能模組設計資料庫設計

 4.2系統主要功能模組設計: (1)基本資訊模組:是管理員對學生資訊進行新增操作。通過本介面管理員可以對學生資訊進行相應的修改,包括學號、姓名、出生日期等。可以通過該介面輸入學生姓名實現查詢該學生的所有資訊。管理員可以把學生的整條資訊進行刪除,同時也刪除學生的成績。

文章分類

以之前抓取的“科技”和“娛樂”文章為例 ‘articls.csv’中的內容如圖: 分類 import jieba import joblib from sklearn.feature_extraction.text import CountVe

課程設計————學生資訊管理系統(包含歷代思路程式碼)

課程設計————學生管理系統(包含歷代思路和程式碼) 一.前言 學生資訊管理系統是我第一個獨立完成的比較長的程式碼,也算是花費了一些心血,這個系統是我一點點把它從幾百行的程式碼逐漸優化到上千行,功能從簡單到複雜。在這裡我把我的思路分享給大家,希望能給大家

關於客戶端設計之數據分類存儲 的思考

service his defaults def sqli href 思想 number fault 一、關於數據的分類 在Android 客戶端設計過程中,我將數據分為未知,已知(本地),臨時,三者之間根據需求相互轉化。 未知主要來自用戶輸入和服務端輸入。 已知主

02.18_Java語言基礎(數據型的概述分類).avi

技術分享 png src 分類 com 語言 logs 技術 blog 02.18_Java語言基礎(數據類型的概述和分類).avi

解決wordpress文章歸檔分類目錄小工具標題重復問題

php 出了 需要 列表 select 保存 選擇 工具 rsquo 最近更新了wordpress,發現更新後小工具中的文章歸檔和分類目錄出現了標題重復,經檢查,是部分主題下,主題的代碼已經輸出了標題,而wordpress的代碼又再次輸出了一次。於是我們需要刪除wordpr

linux命令在系統中的查詢順序、分類基本使用

pass 終端 ext src its echo media oot 命令 linux命令在系統中的查詢順序 在系統中輸入一條命令時,系統的查詢查詢順序為 linux命令的分類 內部命令:命令本身存放在系統內存中,是shell程序的一部分,這些命令由shell程序內部完

destoon6.0獲取當前分類

子類 是否 輸出 return from category intval where 分類信息 頁面上的$CAT 和 怎麽獲得當前分類的名稱 跟 子類 $CAT 在根目錄下的 commen.inc.php定義賦值 if($catid) $CAT = get_cat($c