新聞中心
作為一種用于網(wǎng)站構(gòu)建的內(nèi)容管理系統(tǒng),PHPcms 在很多網(wǎng)站中得到了廣泛的應(yīng)用。其中,在 PHPcms 的數(shù)據(jù)庫表結(jié)構(gòu)中,有一些關(guān)鍵的表格和字段,通過這些表格和字段,我們可以更加深入地了解該內(nèi)容管理系統(tǒng)的內(nèi)部運(yùn)作機(jī)制以及其提供的功能。本篇文章將詳細(xì)地介紹 PHPcms 的數(shù)據(jù)庫表結(jié)構(gòu),以及這些表格和字段的作用和功能。

創(chuàng)新互聯(lián)公司歡迎聯(lián)系:18980820575,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)公司網(wǎng)頁制作領(lǐng)域十多年,包括隧道混凝土攪拌車等多個(gè)領(lǐng)域擁有豐富的網(wǎng)站推廣經(jīng)驗(yàn),選擇創(chuàng)新互聯(lián)公司,為企業(yè)錦上添花。
一、網(wǎng)站配置表(phpcms_config)
PHPcms 的網(wǎng)站配置表(phpcms_config)是該系統(tǒng)中最為重要的表格之一,它存儲了網(wǎng)站的很多配置參數(shù),對于整個(gè)系統(tǒng)的運(yùn)作來說,都具有至關(guān)重要的作用。
網(wǎng)站配置表中所儲存的配置參數(shù)包括:網(wǎng)站名稱、網(wǎng)站域名、網(wǎng)站字符集、網(wǎng)站首頁地址、用戶注冊、登錄和找回密碼的相關(guān)設(shè)置、文章發(fā)布相關(guān)設(shè)置、縮略圖和水印相關(guān)設(shè)置、時(shí)間和日期格式等等。
表格中的字段名和含義如下:
“`sql
Field | Type | Null | Key | Default | Extra
————— | ————– | —– | — | ——- | —–
name | varchar(50) | NO | PRI | NULL | auto_increment
value | varchar(255) | YES | | NULL |
options | text | YES | | NULL |
type | tinyint(3) | NO | | NULL |
inputtime | int(10) unsigned| NO | | NULL |
“`
其中,name 字段為配置項(xiàng)名稱,是該表的主鍵。value 表示對應(yīng)的值,options 表示一些可選的值,type 表示該配置項(xiàng)的類型(例如單選框、下拉框等),inputtime 表示該配置項(xiàng)的添加時(shí)間。
二、菜單表(phpls_menus)
PHPcms 的菜單表(phpls_menus)存儲了網(wǎng)站后臺的菜單項(xiàng),每個(gè)菜單項(xiàng)對應(yīng)一個(gè)后臺功能模塊。管理員登錄后臺時(shí),會根據(jù)該表中的菜單信息來生成相應(yīng)的菜單項(xiàng),從而實(shí)現(xiàn)對系統(tǒng)各項(xiàng)功能的控制和操作。
菜單表中的字段名和含義如下:
“`sql
Field | Type | Null | Key | Default | Extra
———- | ————-| —– | — | ——- | —–
id | mediumint(8) | NO | PRI | NULL | auto_increment
name | varchar(30) | YES | | NULL |
parentid | mediumint(8) | YES | | 0 |
m | varchar(30) | YES | | NULL |
c | varchar(30) | YES | | NULL |
a | varchar(30) | YES | | NULL |
data | text | YES | | NULL |
listorder | allint(5) | NO | | 0 |
“`
其中,id 為菜單編號,name 為菜單名稱,parentid 為菜單的父級編號,m、c、a 分別表示一個(gè) URL,在路由分發(fā)時(shí)使用,data 則表示一些可選的數(shù)據(jù)參數(shù),listorder 表示該菜單在前臺菜單中的各項(xiàng)排序。
三、模塊表(phpls_module)
PHPcms 的模塊表(phpls_module)存儲了該內(nèi)容管理系統(tǒng)中所支持的各種模塊,例如文章模塊、圖片模塊、分類模塊等等。每個(gè)模塊在系統(tǒng)中唯一對應(yīng)一個(gè)模塊編號,該編號可用于引用模塊的相關(guān)數(shù)據(jù)。
模塊表中的字段名和含義如下:
“`sql
Field | Type | Null | Key | Default | Extra
———- | ————-| —– | — | ——- | —–
module | varchar(40) | NO | PRI | NULL |
name | varchar(40) | NO | | NULL |
description | varchar(200) | YES | | NULL |
issystem | tinyint(1) | NO | | NULL |
version | varchar(20) | YES | | NULL |
enabled | tinyint(1) | NO | | NULL |
listorder | allint(5) | NO | | 0 |
“`
表格中,module 表示模塊編號,name 表示模塊名稱,description 表示模塊描述,issystem 用于表示該模塊是否為系統(tǒng)自帶,version 表示模塊版本,enabled 表示該模塊是否啟用,listorder 表示該模塊在列表中的排序。
四、文章表(phpls_content)
PHPcms 的文章表(phpls_content)是存儲文章數(shù)據(jù)的核心表格,它包含了文章所屬的分類、發(fā)布時(shí)間、作者、標(biāo)題、內(nèi)容等數(shù)據(jù)。
文章表中的字段名和含義如下:
“`sql
Field | Type | Null | Key | Default | Extra
————– | ————-| —– | — | ——- | —–
contentid | int(10) | NO | PRI | NULL | auto_increment
catid | allint(5) | NO | MUL | NULL |
userid | mediumint(8) | NO | MUL | NULL |
username | varchar(30) | YES | | NULL |
title | varchar(80) | NO | | NULL |
style | char(30) | NO | | NULL |
thumb | varchar(100) | NO | | NULL |
keywords | varchar(100) | NO | | NULL |
description | varchar(255) | NO | | NULL |
url | varchar(255) | NO | | NULL |
listorder | int(10) | NO | | NULL |
status | tinyint(1) | NO | | NULL |
sysadd | tinyint(1) | NO | | NULL |
islink | tinyint(1) | NO | | NULL |
username | varchar(30) | YES | | NULL |
inputtime | int(10) | NO | MUL | NULL |
updatetime | int(10) | NO | MUL | NULL |
“`
文章表中,contentid 為文章編號,catid 為分類編號,userid 為發(fā)布用戶編號,username 表示發(fā)布用戶名,title 表示文章標(biāo)題,style 表示文章風(fēng)格,thumb 表示文章縮略圖,keywords 表示文章關(guān)鍵詞,description 表示文章摘要,url 表示文章地址,listorder 表示文章在列表中的排序,status 表示文章狀態(tài)(例如已審核、未審核等),sysadd 指示文章是否為管理員發(fā)布,islink 表示文章是否為外部鏈接,inputtime 表示文章發(fā)布時(shí)間,updatetime 表示文章更新時(shí)間。
五、附件表(phpls_attachment)
PHPcms 的附件表(phpls_attachment)存儲了網(wǎng)站中所有的附件文件信息,包括附件名稱、存儲路徑、文件大小等信息。
附件表中的字段名和含義如下:
“`sql
Field | Type | Null | Key | Default | Extra
————– | ————-| —– | — | ——- | —–
d | mediumint(8) | NO | PRI | NULL | auto_increment
userid | mediumint(8) | NO | MUL | NULL |
module | varchar(30) | YES | | NULL |
filename | varchar(100) | NO | | NULL |
filetype | varchar(10) | NO | | NULL |
filesize | int(10) | NO | | NULL |
filepath | varchar(255) | NO | | NULL |
uploadtime | int(10) | NO | | NULL |
isimage | tinyint(1) | NO | | NULL |
image_width | allint(5) | NO | | NULL |
image_height | allint(5) | NO | | NULL |
“`
附件表中,d 為附件編號,userid 表示上傳用戶編號,module 表示附件所屬模塊,filename 表示附件名稱,filetype 表示附件類型,filesize 表示附件大小,filepath 表示附件存儲路徑,uploadtime 表示附件上傳時(shí)間,isimage 表示附件是否為圖片,image_width 和 image_height 則表示圖片的寬度和高度。
綜上所述,PHPcms 中的數(shù)據(jù)庫表結(jié)構(gòu)非常重要,這些表格和字段的作用和功能都直接影響到系統(tǒng)的運(yùn)作和性能。因此,在使用 PHPcms 構(gòu)建網(wǎng)站時(shí),需要理解這些表格和字段的內(nèi)容和作用,從而更好地使用和開發(fā)該內(nèi)容管理系統(tǒng)。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220數(shù)據(jù)庫問題:【站內(nèi)發(fā)送消息】如何設(shè)計(jì)表結(jié)構(gòu)
— 一起4張表 消息類別表,消息表,發(fā)送消息人員表,接收消息人員表
— 至于會員要接收到信息后刪除自己,其實(shí)可用標(biāo)記處理而無作廢,也就存在—回收站的概念,最后敗粗弊也可以徹底刪除
— 消息表單獨(dú)拿出來不做任何處理,這樣數(shù)據(jù)也不會冗余,發(fā)送人與接收人的處理分別可以單獨(dú)處理
-消息類別表—
TMessageType
FTypeID
FTypeName
FTypeMemo
-消息表-
TMessageInfo
FMessageID
FTypeName –(這里也不需要放置ID,為提高性能)直接放類別名稱
FContent
FSendDate
-發(fā)送消息人員表-與消息表關(guān)聯(lián)獲取所有信息
TSendMessage
FSendID主鍵ID
FMessageID –TMessageInfo主鍵ID
FUserID用戶ID
FSendPerson –發(fā)送人凳孫
FCancel是否作廢標(biāo)記,也可作為刪除刪除標(biāo)記
-接收消息人員表-與消息表關(guān)聯(lián)獲取所有信息—-
TReceiveMessage
FReceiveID
FMessageID
FUserID
FReadFtatus –是否讀取
FCancel
—用戶表—
TUserInfo(結(jié)構(gòu)為你自己的)FUserID為主鍵ID
–SQL語句大概寫法(我用SQLSERVER)
–1.發(fā)送所有人
INSERT INTO TReceiveMessage
(FMessageID,FUserID,FReadFtatus,FCancel)
SELECT FMessageID,FUserID ,0,0 –默認(rèn)未讀察族
FROM TUserInfo,TSendMessage
WHERE FSendID=@FSendID
.發(fā)送指定人
INSERT INTO TReceiveMessage
(FMessageID,FUserID,FReadFtatus,FCancel)
SELECT FMessageID,FUserID ,0,0 –默認(rèn)未讀
FROM TUserInfo,TSendMessage
WHERE FSendID=@FSendID AND FUserID=@FUserID
–TMessageInfo與其它2張消息表 建立好主外鍵約束就行了
1) 不應(yīng)該針對整個(gè)系統(tǒng)進(jìn)行數(shù)據(jù)庫設(shè)計(jì),而應(yīng)該根據(jù)系統(tǒng)架構(gòu)中的組件劃分,針對每個(gè)組件所處理的業(yè)務(wù)進(jìn)行組件單元的數(shù)據(jù)庫設(shè)計(jì);不同組件間所對應(yīng)的數(shù)據(jù)庫表之 間的關(guān)聯(lián)應(yīng)盡可能減少,如果不同組件間的表需要外鍵關(guān)聯(lián)也盡量不要?jiǎng)?chuàng)建外鍵關(guān)聯(lián),而只是記錄關(guān)聯(lián)表的一個(gè)主鍵,確保組件對應(yīng)的表之間的獨(dú)立性,為系統(tǒng)或表 結(jié)構(gòu)的重構(gòu)提供可能性。
2)采用領(lǐng)域模型驅(qū)動的方式和自頂向下的思路進(jìn)行數(shù)據(jù)庫設(shè)計(jì),首先分析系統(tǒng)業(yè)務(wù),根據(jù)職責(zé)定義對象。對象要符合封 裝的特性,確保與職責(zé)相關(guān)的數(shù)據(jù)項(xiàng)被定義在一個(gè)對象之內(nèi),這些數(shù)據(jù)項(xiàng)能夠完整描述該職責(zé),不會出現(xiàn)職責(zé)描述缺失。并且一個(gè)對象有且只有一項(xiàng)職責(zé),如果一個(gè) 對象要負(fù)責(zé)兩個(gè)或兩個(gè)以上的職責(zé),應(yīng)進(jìn)行分拆。
3)根據(jù)建立的領(lǐng)域模型進(jìn)行數(shù)據(jù)庫表的映射,此時(shí)應(yīng)參考數(shù)據(jù)庫設(shè)計(jì)第二范式:一個(gè)表中的所 有非關(guān)鍵字屬性都依賴于整個(gè)關(guān)鍵字。關(guān)鍵字可以是一個(gè)屬性,也可以是多個(gè)屬性的,不論那種方式,都應(yīng)確保關(guān)鍵字能夠保證唯一性。在確定關(guān)鍵字時(shí),應(yīng)保 證關(guān)鍵字不會參與業(yè)務(wù)且不會出現(xiàn)更新異常,這時(shí),更優(yōu)解決方案為采用一個(gè)自增數(shù)值型屬性或一個(gè)隨機(jī)字符串作為表的關(guān)鍵字。
4)由于之一點(diǎn)所述的領(lǐng)域模型驅(qū)動的方式設(shè)計(jì)數(shù)據(jù)庫表結(jié)構(gòu),領(lǐng)域模型中的每一個(gè)對象只有一項(xiàng)職責(zé),所以對象中的數(shù)據(jù)項(xiàng)不存在傳遞依賴,所以,這種思路的數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計(jì)從一開始即舉指滿足第三范式:一個(gè)表應(yīng)滿足第二范式,且屬性正尺配間不存在傳遞依賴。
5)同樣,由于對象職責(zé)的單一性以及對象之間的關(guān)系反映的是業(yè)務(wù)邏輯之間的關(guān)系,所以在領(lǐng)域模型中的對象存在主對象和從對象之分,從對象是從1-N 或N-N的角度進(jìn)一步主對象的業(yè)務(wù)邏輯,所以從對象及對象關(guān)系映射為的表及表關(guān)聯(lián)關(guān)系不存在刪除和插入異常。
6) 在映射后得出的數(shù)據(jù)庫表結(jié)構(gòu)中,應(yīng)再根據(jù)第四范式進(jìn)行進(jìn)一步修改,確保不存在多值依賴。這時(shí),應(yīng)根據(jù)反向工程的思路反饋給領(lǐng)域模型。如果表結(jié)構(gòu)中存在多值 依賴,則證明領(lǐng)域模型中的對象具有至少兩個(gè)以上的職責(zé),應(yīng)根據(jù)之一條進(jìn)行設(shè)計(jì)修正。第四范式:一個(gè)表如果滿足BCNF,不應(yīng)存在多值依賴。
7) 在經(jīng)過分析后確認(rèn)所有的表都滿足二、三、四范式的情況下,表和表之間的關(guān)聯(lián)盡量采用弱關(guān)聯(lián)以便于對表字段和表結(jié)構(gòu)的調(diào)整和重構(gòu)。并且,我認(rèn)為數(shù)據(jù)庫中的表 是用來持久化一個(gè)對象實(shí)例在特定時(shí)間及特定條件下的狀態(tài)的,只是一個(gè)存儲介質(zhì),所以,表和表之間也不應(yīng)用強(qiáng)關(guān)聯(lián)來表述業(yè)務(wù)(數(shù)據(jù)間的一致性),這一職責(zé)應(yīng) 由系統(tǒng)的邏輯層來保證,這種方式也確保了系統(tǒng)對于不正確數(shù)困仔據(jù)(臟數(shù)據(jù))的兼容性。當(dāng)然,從整個(gè)系統(tǒng)的角度來說我們還是要盡更大努力確保系統(tǒng)不會產(chǎn)生臟數(shù) 據(jù),單從另一個(gè)角度來說,臟數(shù)據(jù)的產(chǎn)生在一定程度上也是不可避免的,我們也要保證系統(tǒng)對這種情況的容錯(cuò)性。這是一個(gè)折中的方案。
8)應(yīng)針 對所有表的主鍵和外鍵建立索引,有針對性的(針對一些大數(shù)據(jù)量和常用檢索方式)建立組合屬性的索引,提高檢索效率。雖然建立索引會消耗部分系統(tǒng)資源,但比 較起在檢索時(shí)搜索整張表中的數(shù)據(jù)尤其時(shí)表中的數(shù)據(jù)量較大時(shí)所帶來的性能影響,以及無索引時(shí)的排序操作所帶來的性能影響,這種方式仍然是值得提倡的。
9) 盡量少采用存儲過程,目前已經(jīng)有很多技術(shù)可以替代存儲過程的功能如“對象/關(guān)系映射”等,將數(shù)據(jù)一致性的保證放在數(shù)據(jù)庫中,無論對于版本控制、開發(fā)和部 署、以及數(shù)據(jù)庫的遷移都會帶來很大的影響。但不可否認(rèn),存儲過程具有性能上的優(yōu)勢,所以,當(dāng)系統(tǒng)可使用的硬件不會得到提升而性能又是非常重要的質(zhì)量屬性 時(shí),可經(jīng)過平衡考慮選用存儲過程。
10)當(dāng)處理表間的關(guān)聯(lián)約束所付出的代價(jià)(常常是使用性上的代價(jià))超過了保證不會出現(xiàn)修改、刪除、更改 異常所付出的代價(jià),并且數(shù)據(jù)冗余也不是主要的問題時(shí),表設(shè)計(jì)可以不符合四個(gè)范式。四個(gè)范式確保了不會出現(xiàn)異常,但也可能由此導(dǎo)致過于純潔的設(shè)計(jì),使得表結(jié) 構(gòu)難于使用,所以在設(shè)計(jì)時(shí)需要進(jìn)行綜合判斷,但首先確保符合四個(gè)范式,然后再進(jìn)行精化修正是剛剛進(jìn)入數(shù)據(jù)庫設(shè)計(jì)領(lǐng)域時(shí)可以采用的更好辦法。
11)設(shè)計(jì)出的表要具有較好的使用性,主要體現(xiàn)在查詢時(shí)是否需要關(guān)聯(lián)多張表且還需使用復(fù)雜的SQL技巧。
12)設(shè)計(jì)出的表要盡可能減少數(shù)據(jù)冗余,確保數(shù)據(jù)的準(zhǔn)確性,有效的控制冗余有助于提高數(shù)據(jù)庫的性能。
可給消息增加個(gè)STATUS,標(biāo)記是否已讀
消息 和 會員 是多對多的關(guān)系,應(yīng)該用一個(gè)關(guān)系表將2者聯(lián)系起來,這個(gè)關(guān)系表中在加入|標(biāo)記
VipMessage(Vip_Id,Message_Id,Read),前2個(gè)字頌孫戚段為主鍵。
公告消息(所有會員),這樣的公告,就需要在這個(gè)VipMessage表中添加所有Vip和該消息的主鍵,Read為未讀,
會員消息(指定會員),也是如此。
這似乎有點(diǎn)冗余,但是你需要 “標(biāo)記”就必須這樣設(shè)計(jì)。
如果不需要野陵“”,這可以將會員分組(分類型或等級),消息表中添加Level字段,這樣屬于這個(gè)等級的vip就可以閱讀消息凱譽(yù)。
表衡并Message
MessageID 主鍵
Content
MessageDate
CreatorID
表孝或User
UserID
UserName
UserPwd
UserType
表咐慎跡Message_MM_User
UserID
MessageID
數(shù)據(jù)庫表的物理結(jié)構(gòu)是什么
數(shù)據(jù)庫設(shè)計(jì)的過程(六個(gè)階段)
1.需求分析階段
準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理)
是整個(gè)設(shè)計(jì)過程的基礎(chǔ),是最困難、最耗費(fèi)時(shí)間的一步
2.概念結(jié)構(gòu)設(shè)計(jì)階段
是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵
通過對用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型
3.邏輯結(jié)構(gòu)設(shè)計(jì)階段
將概念結(jié)構(gòu)賣差轉(zhuǎn)中判皮換為某個(gè)DBMS所支持的數(shù)據(jù)模型
對其進(jìn)行優(yōu)化
4.數(shù)據(jù)庫物理設(shè)計(jì)階段
為邏輯沖巖數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法)
5.數(shù)據(jù)庫實(shí)施階段
運(yùn)用DBMS提供的數(shù)據(jù)語言、工具及宿主語言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果
建立數(shù)據(jù)庫,編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫,并進(jìn)行試運(yùn)行
6.數(shù)據(jù)庫運(yùn)行和維護(hù)階段
數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運(yùn)行后即可投入正式運(yùn)行。
在數(shù)據(jù)庫系統(tǒng)運(yùn)行過程中必須不斷地對其進(jìn)行評價(jià)、調(diào)整與修改
設(shè)計(jì)特點(diǎn):
在設(shè)計(jì)過程中把數(shù)據(jù)庫的設(shè)計(jì)和對數(shù)據(jù)庫中數(shù)據(jù)處理的設(shè)計(jì)緊密結(jié)合起來將這兩個(gè)方面的需求分析、抽象、設(shè)計(jì)、實(shí)現(xiàn)在各個(gè)階段同時(shí)進(jìn)行,相互參照,相互補(bǔ)充,以完善兩方面的設(shè)計(jì)
關(guān)于phpcms數(shù)據(jù)庫表結(jié)構(gòu)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)是成都專業(yè)網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、SEO優(yōu)化、手機(jī)網(wǎng)站、小程序開發(fā)、APP開發(fā)公司等,多年經(jīng)驗(yàn)沉淀,立志成為成都網(wǎng)站建設(shè)第一品牌!
分享標(biāo)題:PHPcms數(shù)據(jù)庫表結(jié)構(gòu)詳解(phpcms數(shù)據(jù)庫表結(jié)構(gòu))
本文路徑:http://m.fisionsoft.com.cn/article/cdhjpjg.html


咨詢
建站咨詢
