




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書
內(nèi)容管理系統(tǒng)(DWCMS)
文件狀態(tài):文件標(biāo)兄弟連大腕組-LMB-DATABASE
[]草稿識(shí):
[4]正式發(fā)布當(dāng)前版2.0
[]正在修改本:
作大碗小組
者:
文件狀2014-01-01
態(tài):
版本/狀態(tài)作者參與者起止日期備注
1.0大腕組大腕組成員2013-01-18測(cè)試版
2.0大腕組大腕組成員2014-01-09正式版
版本歷史
1.引言
在使用任何數(shù)據(jù)庫(kù)之前,都必須設(shè)計(jì)好數(shù)據(jù)庫(kù),包括將要存儲(chǔ)的
數(shù)據(jù)的類型,數(shù)據(jù)之間的相互關(guān)系以及數(shù)據(jù)的組織形式。數(shù)據(jù)庫(kù)設(shè)計(jì)
是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)
及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù)。為了合理地組織和高效率
地存取數(shù)據(jù),目前最好的方式,就是建立數(shù)據(jù)庫(kù)系統(tǒng),因此在系統(tǒng)的
總體設(shè)計(jì)階段,數(shù)據(jù)庫(kù)的建立與設(shè)計(jì)是一項(xiàng)十分重要的內(nèi)容。由于數(shù)
據(jù)庫(kù)應(yīng)用系統(tǒng)的復(fù)雜性,為了支持相關(guān)程序運(yùn)行,數(shù)據(jù)庫(kù)設(shè)計(jì)就變得
異常復(fù)雜,因此最佳設(shè)計(jì)不可能一蹴而就,而只能是一種“反復(fù)探尋,
逐步求精”的過(guò)程,也就是規(guī)劃和結(jié)構(gòu)化數(shù)據(jù)庫(kù)中的數(shù)據(jù)對(duì)象以及這
些數(shù)據(jù)對(duì)象之間關(guān)系的過(guò)程。
1.1編寫目的
數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞是一個(gè)關(guān)鍵。如果把企業(yè)的數(shù)據(jù)比做生命所必
需的血液,那么數(shù)據(jù)庫(kù)的設(shè)計(jì)就是應(yīng)用中最重要的一部分,是一個(gè)系
統(tǒng)的根基。用于開(kāi)發(fā)人員進(jìn)行項(xiàng)目設(shè)計(jì),以此作為編碼的依據(jù),同時(shí)
也為后續(xù)的數(shù)據(jù)庫(kù)維護(hù)工作提供了良好的使用說(shuō)明,也可以作為未來(lái)
版本升級(jí)時(shí)的重要參考資料。數(shù)據(jù)庫(kù)設(shè)計(jì)的目標(biāo)是建立一個(gè)合適的數(shù)
據(jù)模型。這個(gè)數(shù)據(jù)模型應(yīng)當(dāng)是滿足用戶要求,既能合理地組織用戶需
要的所有數(shù)據(jù),又能支持用戶對(duì)數(shù)據(jù)的的所有處理功能。并且要具有
較高的范式,數(shù)據(jù)完整性好,效益高,便于理解和維護(hù),沒(méi)有數(shù)據(jù)沖
突。
1.2背景
名稱說(shuō)明
數(shù)據(jù)庫(kù)名稱Lmbang(辣媽幫)
數(shù)據(jù)庫(kù)系統(tǒng)MySQL5.0
客戶端連接MySQLCommandLineClient
項(xiàng)目任務(wù)提LAMP兄弟連-大碗組
項(xiàng)目開(kāi)發(fā)者大腕組
使用用戶大腕組成員
1.3定義
Lmbang:辣媽幫
E-R圖:實(shí)體關(guān)系圖
1.4參考資料
A.《細(xì)說(shuō)PHP》教程
B.《DWCMS項(xiàng)目需求分析說(shuō)明書》
C.本項(xiàng)目相關(guān)的其他參考資料。
2.外部設(shè)計(jì)
外部設(shè)計(jì)是研究和考慮所要建立的數(shù)據(jù)庫(kù)的信息環(huán)境,對(duì)數(shù)據(jù)庫(kù)
應(yīng)用領(lǐng)域中各種信息要求和操作要求進(jìn)行詳細(xì)地分析,了解應(yīng)用領(lǐng)域
中數(shù)據(jù)項(xiàng)'數(shù)據(jù)項(xiàng)之間的關(guān)系和所有的數(shù)據(jù)操作的詳細(xì)要求,了解哪
些因素對(duì)響應(yīng)時(shí)間'可用性和可靠性有較大的影響等各方面的因素。
2.1標(biāo)識(shí)符和狀態(tài)
數(shù)據(jù)庫(kù)表前綴:lmbang_
用戶名:root
密碼;020808
權(quán)限:全部
有效時(shí)間:開(kāi)發(fā)階段
說(shuō)明:系統(tǒng)正式發(fā)布后,可能更改數(shù)據(jù)庫(kù)用戶/密碼,請(qǐng)?jiān)诮y(tǒng)一位置
編寫數(shù)據(jù)庫(kù)連接字符串,在發(fā)行前請(qǐng)予以改正。
2.2使用它的程序
本系統(tǒng)主要利用PHP作為前端的應(yīng)用開(kāi)發(fā)工具,使用MySQL作為
后臺(tái)的數(shù)據(jù)庫(kù),Linux或Windows均可作為系統(tǒng)平臺(tái)。
2.3約定
□■所有命名一定要具有描述性,杜絕一切拼音、或拼音英文混
雜的命名方式。
□■字符集采用UTF-8,請(qǐng)注意字符的轉(zhuǎn)換。
□■所有數(shù)據(jù)表第一個(gè)字段都是系統(tǒng)內(nèi)部使用主鍵列,自增字
段,不可空,名稱為:
id,確保不把此字段暴露給最終用戶。
□■除特別說(shuō)明外,所有日期格式都采用int格式,無(wú)時(shí)間值。
□■除特別說(shuō)明外,所有字段默認(rèn)都設(shè)置不充許為空,需要設(shè)
置默認(rèn)值。
□■所有普通索引的命名都是表名加設(shè)置索引的字段名組合,例
如用戶表User中
name字段設(shè)置普通索弓I,則索引名稱命名方式為usejname。
2.4支持軟件
操作系統(tǒng):Linux/Windows
數(shù)據(jù)庫(kù)系統(tǒng):MySQL
查詢?yōu)g覽工具:PHPMyAdmin
命令行工具:mysql
注意:mysql命令行環(huán)境下對(duì)中文支持不好,可能無(wú)法書寫帶有
中文的SQL語(yǔ)句,也不要使用PHPMyAdmin錄入中文。
3.結(jié)構(gòu)設(shè)計(jì)
數(shù)據(jù)庫(kù)的結(jié)構(gòu)設(shè)計(jì)中有許許多多需要考慮的因素,如數(shù)據(jù)庫(kù)的
背景'應(yīng)用環(huán)境等方面都需要有深入的了解,只有一個(gè)對(duì)所有這
些因素都很了解的數(shù)據(jù)庫(kù)設(shè)計(jì)專家,他設(shè)計(jì)的數(shù)據(jù)庫(kù)才能易于使
用和維護(hù),并且具有高效和一致的特征。雖然這樣只對(duì)數(shù)據(jù)庫(kù)設(shè)
計(jì)過(guò)程有一個(gè)概要的了解,但是仍然有助于讀者了解和掌握SQL,
使讀者可以很好地分析數(shù)據(jù)間的相互關(guān)系在使用SQL進(jìn)行報(bào)表的
生成、子查詢及視圖等操作時(shí),可以更好地進(jìn)行操作。
3.1概念結(jié)構(gòu)設(shè)計(jì)
概念數(shù)據(jù)庫(kù)的設(shè)計(jì)是進(jìn)行具體數(shù)據(jù)庫(kù)設(shè)計(jì)的第一步,概念數(shù)據(jù)庫(kù)
設(shè)計(jì)的好壞直接影響到邏輯數(shù)據(jù)庫(kù)的設(shè)計(jì),影響到整個(gè)數(shù)據(jù)庫(kù)的好
壞。我們已經(jīng)得到了系統(tǒng)的數(shù)據(jù)流程圖和數(shù)據(jù)字典,現(xiàn)在就是要結(jié)合
數(shù)據(jù)規(guī)范化的理論,用一種模型將用戶的數(shù)據(jù)要求明確地表示出來(lái)。
概念數(shù)據(jù)庫(kù)的設(shè)計(jì)應(yīng)該極易于轉(zhuǎn)換為邏輯數(shù)據(jù)庫(kù)模式,又容易被用戶
所理解。概念數(shù)據(jù)庫(kù)設(shè)計(jì)中最主要的就是采用實(shí)體-關(guān)系數(shù)據(jù)模型來(lái)
確定數(shù)據(jù)庫(kù)的結(jié)構(gòu)。數(shù)據(jù)是表達(dá)信息的一種重要的量化符號(hào),是信息
存在的一種重要形式。數(shù)據(jù)模型則是數(shù)據(jù)特征的一種抽象。它描述的
是數(shù)據(jù)的共性,而不是描述個(gè)別的數(shù)據(jù)。一般來(lái)說(shuō),數(shù)據(jù)模型包含兩
方面內(nèi)容。
(1)數(shù)據(jù)的靜態(tài)特性:主要包括數(shù)據(jù)的基本結(jié)構(gòu)'數(shù)據(jù)間的關(guān)系和數(shù)
據(jù)之間的相互約束
等特性。
(2)數(shù)據(jù)的動(dòng)態(tài)特性:主要包括對(duì)數(shù)據(jù)進(jìn)行操作的方法。
在數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)中,建立反映客觀信息的數(shù)據(jù)模型,是設(shè)計(jì)中
最為重要的,也最基本的步驟之一。數(shù)據(jù)模型是連接客觀信息世界和
數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)邏輯組織的橋梁,也是數(shù)據(jù)庫(kù)設(shè)計(jì)人員與用戶之間進(jìn)
行交流的共同基礎(chǔ)。概念數(shù)據(jù)庫(kù)中采用的實(shí)體-關(guān)系模型,與傳統(tǒng)的
數(shù)據(jù)模型有所不同。實(shí)體-關(guān)系模型是面向現(xiàn)實(shí)世界,而不是面向?qū)?/p>
現(xiàn)方法的,它主要是用使用方便,因而在數(shù)據(jù)庫(kù)系統(tǒng)應(yīng)用的設(shè)計(jì)中,
得到了廣泛應(yīng)用。實(shí)體-關(guān)系模型可以用來(lái)說(shuō)明數(shù)據(jù)庫(kù)中實(shí)體的等級(jí)
和屬性。以下是實(shí)體-關(guān)系模型中的重要標(biāo)識(shí):
?在數(shù)據(jù)庫(kù)中存在的實(shí)體
?實(shí)體的屬性
?實(shí)體之間的關(guān)系
3.1.1實(shí)體和屬性的定義
按照定義的數(shù)據(jù)類型和屬性創(chuàng)建實(shí)體和實(shí)體屬性列表。實(shí)體形成
表,如“用戶”就是一個(gè)實(shí)體,屬性則為表中的列,如對(duì)應(yīng)于實(shí)體“用
戶”屬性包含“用戶名”、“用戶ID”等。
?實(shí)體
實(shí)體是實(shí)體-關(guān)系模型的基本對(duì)象,是現(xiàn)實(shí)世界中各種事物的抽
象。凡是可以相互區(qū)別開(kāi)并可以被識(shí)別的事'物、概念等對(duì)象均可認(rèn)
為是實(shí)體。本網(wǎng)站數(shù)據(jù)庫(kù)中,基本的實(shí)體列表如下:
?廣告
?意見(jiàn)反饋
?幫
?幫標(biāo)簽
?幫分類
?收藏
?評(píng)論
?日記
?日記上傳數(shù)據(jù)
?達(dá)人
?友情鏈接
?熱門搜索
?加入的幫
?贊
?私信
?私信記錄表
?圖片
?用戶關(guān)系
?舉報(bào)
?話題
?用戶
?最近訪問(wèn)
?最近瀏覽
?網(wǎng)站信息
?詞語(yǔ)過(guò)濾
在繪制實(shí)體-關(guān)系圖(E-R圖)時(shí),實(shí)體出現(xiàn)在矩形中。如圖1所示。
?用戶蛆??友情博隹?
?站內(nèi)信?
|幻燈片|
動(dòng)態(tài)[HJ
圖1表示實(shí)體的E?R圖
一般來(lái)說(shuō),每個(gè)實(shí)體都相當(dāng)于數(shù)據(jù)庫(kù)中的一個(gè)表。上面介紹的實(shí)
體都是強(qiáng)實(shí)體,每個(gè)實(shí)體都有自己的鍵。但是在實(shí)際領(lǐng)域中,經(jīng)常存
在一些實(shí)體,它們沒(méi)有自己的鍵,這樣的實(shí)體稱為弱實(shí)體。弱實(shí)體中
不同的記錄有可能完全相同,難以區(qū)別,這些值依賴于另一個(gè)實(shí)體(強(qiáng)
實(shí)體)的意義,必須與強(qiáng)實(shí)體聯(lián)合使用。在創(chuàng)建了實(shí)體之后,就可以
標(biāo)識(shí)各個(gè)實(shí)體的屬性了。
?屬性
每個(gè)實(shí)體都有一組特征或性質(zhì),稱為實(shí)體的屬性。實(shí)體的屬性
值是數(shù)據(jù)庫(kù)中存儲(chǔ)的主要數(shù)據(jù),一個(gè)屬性實(shí)際上相當(dāng)于表中的一
個(gè)列。下面來(lái)看看“文章”(article)實(shí)體。這個(gè)實(shí)體具有哪些屬
性呢?對(duì)于一篇文章來(lái)說(shuō),都具有文章標(biāo)題'文章簡(jiǎn)介'添加時(shí)
間'文章來(lái)源、文章內(nèi)容、關(guān)鍵字'訪問(wèn)次數(shù)'推薦狀態(tài)'審核
狀態(tài)。所以關(guān)于“文章”實(shí)體的屬性如下:
?文章標(biāo)題(title)
■文章編號(hào)(id)
■文章簡(jiǎn)介(summary)
?添加時(shí)間(posttime)
■文章來(lái)源(comefrom)
■文章內(nèi)容(content)
?關(guān)鍵字(keyword)
?訪問(wèn)次數(shù)(views)
?推薦狀態(tài)(recommend)
?審核狀態(tài)(audit)
實(shí)體"欄目(column)”包含的屬性如下:
?欄目標(biāo)題(title)
?欄目路徑(path)
?欄目描述(description)
?排序編號(hào)(ord)
由于篇幅有限這里就不列出所有實(shí)體的屬性了,在繪制E-R圖
中,屬性由橢圓包圍,在屬性和它所屬的實(shí)體間使用直線進(jìn)行連接,
以實(shí)體brocms中"文章"為例進(jìn)行示例,如圖2所示。
圖2包含屬性的Department的E-R圖
對(duì)于每個(gè)實(shí)體,都有其確定的主屬性(實(shí)體中的主屬性實(shí)際上相當(dāng)
于表中的主鍵),就可以惟一地確定實(shí)體的每個(gè)記錄。最好是創(chuàng)建一
個(gè)單獨(dú)的屬性作為主屬性,在實(shí)體文章中可以選擇“文章編號(hào)”作為
主屬性,在繪制E-R圖中,主屬性在屬性下加下劃線來(lái)說(shuō)明。以實(shí)
體“文章”為例進(jìn)行示例,如圖-3所示。
圖3定義了主屬性的“文章”的E-R圖
注意:在數(shù)據(jù)庫(kù)設(shè)計(jì)中,選擇和設(shè)置列作為主鍵是一個(gè)關(guān)鍵步
驟。
3.1.2E-R圖的繪制
實(shí)體-關(guān)系圖是表現(xiàn)實(shí)體-關(guān)系模型的圖形工具,簡(jiǎn)稱E-R圖。
這節(jié)會(huì)以DWCMS數(shù)據(jù)庫(kù)為例,給出一個(gè)完整的數(shù)據(jù)庫(kù)的E-R圖設(shè)
計(jì)示例。圖3給出了在E-R圖中使用的各種元素的圖形符號(hào)。
實(shí)體關(guān)系
□O
屬性誕展性
圖-4E-R圖中使用的各種元素的圖形符號(hào)
在E-R圖中,實(shí)體之間的關(guān)系以菱形表示,關(guān)系中各方面的表通
過(guò)直線與菱形中的關(guān)系名稱相連接。還要為每個(gè)關(guān)系命名一個(gè)“關(guān)系
名稱”,實(shí)體與關(guān)系相連的直線旁都根據(jù)關(guān)系的屬性標(biāo)注有“1”或“N”。
E-R圖為讀者的數(shù)據(jù)庫(kù)提供了一個(gè)不錯(cuò)的藍(lán)圖,可以分成三步進(jìn)行:
首先設(shè)計(jì)局部E-R圖;然后合并各局部E-R圖,并解決可能存在的
沖突,得到初步E-R圖;最后修改和重構(gòu)初步E-R圖,消除其中的
冗余部分,得到最終的全局E-R圖,即概念模式。設(shè)計(jì)全局E-R模
式的目的不在于把若干局部E-R模式形式上合并為一個(gè)E-R模式,
而在于消除沖突使之成為能夠被全系統(tǒng)中所有用戶共同理解和接受
的統(tǒng)一的概念模型。使設(shè)計(jì)人員僅從用戶角度看待數(shù)據(jù)及處理要求和
約束,產(chǎn)生一個(gè)反映用戶觀點(diǎn)的概念模式。
3.1.3設(shè)計(jì)局部E-R模式
先設(shè)計(jì)局部E-R圖,也稱用戶視圖。在設(shè)計(jì)初步E-R圖時(shí),要
盡量能充分地把組織中
各部門對(duì)信息的要求集中起來(lái),而不需要考慮數(shù)據(jù)的冗余問(wèn)題。局
部概念模型設(shè)計(jì)是從用
戶的觀點(diǎn)出發(fā),設(shè)計(jì)符合用戶需求的概念結(jié)構(gòu)。局部概念模型設(shè)計(jì)的
就是組織'分類收集到
的數(shù)據(jù)項(xiàng),確定哪些數(shù)據(jù)項(xiàng)作為實(shí)體,哪些數(shù)據(jù)項(xiàng)作為屬性,哪些數(shù)
據(jù)項(xiàng)是同一實(shí)體的屬性
等。確定實(shí)體與屬性的原則:
■能作為屬性的盡量作為屬性而不要?jiǎng)潪閷?shí)體;
■作為屬性的數(shù)據(jù)元素與所描述的實(shí)體之間的聯(lián)系只能是1:n的
聯(lián)系;
■作為屬性的數(shù)據(jù)項(xiàng)不能再用其他屬性加以描述,也不能與其他實(shí)
體或?qū)傩园l(fā)生聯(lián)系。
以下是例子辣媽幫的部分局部E-R圖的設(shè)計(jì):
@5喧)G題編中(標(biāo)面)(5論編3)&論圖M)(J論內(nèi)向)
話題——1——-----------評(píng)論-------
舌題,評(píng)論的E-R圖
戶
(H記類型)G記內(nèi)丹
-rj[,,!
——1一送〉一n——日記——年2上傳的數(shù)言》
-__________ri?<■n
用戶,日記E>R圖
媽媽類型
用戶名
用戶,話題,評(píng)論E-R圖
3.1.4設(shè)計(jì)全局E-R模式
綜合各局部E-R圖,形成總的E-R圖,即用戶視圖的集成。所有
局部ER模式都設(shè)計(jì)好了后,接下來(lái)就是把他們綜合成單一的全局概
念結(jié)構(gòu)。全局概念結(jié)構(gòu)不僅要支持所有局部ER模式,而且必須合理
地表示一個(gè)完整'一致的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)。
另外,在進(jìn)入下一節(jié)之前,先回顧一下概念數(shù)據(jù)庫(kù)的設(shè)計(jì),其中
主要是實(shí)體-關(guān)系模型的建立。簡(jiǎn)要總結(jié)一下實(shí)體-關(guān)系模型建立的步
驟:
(1)對(duì)需求進(jìn)行分析,從而確定系統(tǒng)中所包含的實(shí)體。
(2)分析得出每個(gè)實(shí)體所具有的屬性。
(3)保證每個(gè)實(shí)體有一個(gè)主屬性,該主屬性可以是實(shí)體的一個(gè)屬性或
多個(gè)屬性的組合。
主屬性必須能惟一地描述每個(gè)記錄。
(4)確定實(shí)體之間的關(guān)系。
經(jīng)過(guò)這些步驟后,讀者就可以繪制出E-R圖。之后可以再看看數(shù)
據(jù)庫(kù)的需要,判斷是否獲取了所需的信息,是否有遺漏信息等,讀者
可以再對(duì)E-R圖進(jìn)行修改,添加或刪除實(shí)
體與屬性。
3.1.5全局ER模式的優(yōu)化
在得到全局ER模式后,為了提高數(shù)據(jù)庫(kù)系統(tǒng)的效率,還應(yīng)進(jìn)一
步依據(jù)處理需求對(duì)ER模式進(jìn)行優(yōu)化。一個(gè)好的全局ER模式,除能
準(zhǔn)確、全面地反映用戶功能需求外,還應(yīng)滿足下列條件:
1.實(shí)體類型的個(gè)數(shù)要盡可能的少
2.實(shí)體類型所含屬性個(gè)數(shù)盡可能少
3.實(shí)體類型間聯(lián)系無(wú)冗余
4.邏輯結(jié)構(gòu)設(shè)計(jì)
邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)是把概念設(shè)計(jì)階段建立的基本E-R圖,按照
選定的內(nèi)容管理系統(tǒng)軟件支持的數(shù)據(jù)模型,轉(zhuǎn)化成相應(yīng)的邏輯設(shè)計(jì)模
型。也就是可以將實(shí)體'實(shí)體間的關(guān)系等模型結(jié)構(gòu)轉(zhuǎn)變?yōu)殛P(guān)系模式,
即生成數(shù)據(jù)庫(kù)中的表,并確定表的列。下述討論由實(shí)體-關(guān)系模型生
成表的方法。
■任務(wù):
將基本E-R圖轉(zhuǎn)換為與選用辣媽幫產(chǎn)品所支持的數(shù)據(jù)模型相
符合的邏輯結(jié)
構(gòu)。
■過(guò)程:
1)將概念結(jié)構(gòu)轉(zhuǎn)換為現(xiàn)有辣媽幫支持的關(guān)系模型。
2)從功能和性能要求上對(duì)轉(zhuǎn)換的模型進(jìn)行評(píng)價(jià),看它是否滿足用戶
要求。
3)對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化
4.1ER圖向關(guān)系模型的轉(zhuǎn)化
上面實(shí)體之間的關(guān)系的基礎(chǔ)上,將實(shí)體'實(shí)體的屬性和實(shí)體之間
的聯(lián)系轉(zhuǎn)換為關(guān)系模式。這種轉(zhuǎn)換的原則是:
?一個(gè)實(shí)體轉(zhuǎn)換為一個(gè)關(guān)系,實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的
碼就是關(guān)系
的碼。
?一個(gè)聯(lián)系也轉(zhuǎn)化為一個(gè)關(guān)系,聯(lián)系的屬性及聯(lián)系所連接的實(shí)體的
碼都轉(zhuǎn)化為關(guān)系的屬性,但是關(guān)系的碼會(huì)根據(jù)關(guān)系的類型變化,如果
是:
1)1:1聯(lián)系,兩端實(shí)體的碼都成為關(guān)系的候選碼
2)1:n聯(lián)系,n端實(shí)體的碼成為關(guān)系的碼
3)mn聯(lián)系,兩端的實(shí)體碼的組成為關(guān)系的碼
4.2消除冗余
所謂冗余的數(shù)據(jù)是指可由基本數(shù)據(jù)導(dǎo)出的數(shù)據(jù),冗余的聯(lián)系是指
可由其他聯(lián)系導(dǎo)出的聯(lián)系。冗余數(shù)據(jù)和冗余聯(lián)系容易破壞數(shù)據(jù)庫(kù)的完
整性,給數(shù)據(jù)庫(kù)的維護(hù)增加困難,應(yīng)當(dāng)予以消除。本系統(tǒng)的冗余數(shù)據(jù)
和冗余關(guān)系已經(jīng)在概念結(jié)構(gòu)設(shè)計(jì)中處理過(guò)了,這里不再進(jìn)行過(guò)多的敘
述。
5.物理結(jié)構(gòu)設(shè)計(jì)
數(shù)據(jù)庫(kù)設(shè)計(jì)的最后階段是確定數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)和
存取方法,也就是設(shè)計(jì)數(shù)據(jù)庫(kù)的物理數(shù)據(jù)模型,主要是設(shè)計(jì)表結(jié)構(gòu)。
一般地,實(shí)體對(duì)應(yīng)于表,實(shí)體的屬性對(duì)應(yīng)于表的列,實(shí)體之間的關(guān)系
成為表的約束。邏輯設(shè)計(jì)中的實(shí)體大部分可以轉(zhuǎn)換成物理設(shè)計(jì)中的
表,但是它們并不一定是一一對(duì)應(yīng)的。本次項(xiàng)目開(kāi)發(fā)采用的是MySQL
建立數(shù)據(jù)庫(kù)。
5.1設(shè)計(jì)數(shù)據(jù)表結(jié)構(gòu)
在利用MySQL創(chuàng)建一個(gè)新的數(shù)據(jù)表以前,應(yīng)當(dāng)根據(jù)邏輯模型和數(shù)
據(jù)字典先分析和設(shè)計(jì)數(shù)據(jù)表,描述出數(shù)據(jù)庫(kù)中基本表的設(shè)計(jì)。需要確
定數(shù)據(jù)表名稱,所包含字段名稱,數(shù)據(jù)類型,寬度以及建立的主鍵'
外鍵等描述表的屬性的內(nèi)容。本項(xiàng)目全部26個(gè)數(shù)據(jù)表結(jié)構(gòu)設(shè)計(jì)如下
所示:
表5.1T廣告結(jié)構(gòu)表
表名Lmbang_add用于保存廣告記錄,表引擎為MyISAM類型,字符
集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idSMALLINT無(wú)符號(hào)/非空/自主鍵廣告編
號(hào)
(11)動(dòng)增漲
adnameVARCHAR(5)無(wú)符號(hào)/非空/缺廣告名
省。稱
typeVARCHAR非空/缺省’‘廣告類
(50)型
picVARCHAR非空/缺省’’廣告圖
(10)片
urIVARCHAR非空/缺省’‘鏈接地
(100)址
ordernoINIT(11)排列順
序
補(bǔ)充說(shuō)明
表5.1-2意見(jiàn)反饋結(jié)構(gòu)表
表名Lmbang_advise用于保存反饋的一件,表引擎為MyISAM類型,
字符集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(11)無(wú)符號(hào)/非空/自動(dòng)主鍵反饋編
號(hào)
增漲
uidINT(11)無(wú)符號(hào)/非空/缺省外鍵/普通索引反饋用
0戶
messageTEXT非空/缺省’‘反饋信
息
posttimeBIGINT非空/缺省'0'反饋時(shí)
間
補(bǔ)充說(shuō)明
表5.1-3幫表
表名Lmbang_bang用于保存用戶信息,表引擎為MyISAM類型,字符
集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(11)無(wú)符號(hào)/非空/自主鍵幫編號(hào)
動(dòng)增漲
beidINT(11)無(wú)符號(hào)/非空/缺外鍵/普通索引(beid)分類編
省。號(hào)
bangnameVARCHAR非空/缺省’’幫名
(50)
bangpicVARCHAR非空/缺省’’幫圖片
(50)
ordernoINT(11)非空/缺省’‘排列順
序
補(bǔ)充說(shuō)明與幫分類通過(guò)beid關(guān)聯(lián)
表5.1-4幫標(biāo)簽表
表名Lmbang_tag用于保存標(biāo)簽記錄,表引擎為MyISAM類型,字符
集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(11)無(wú)符號(hào)/非空/自主鍵消息編
號(hào)
動(dòng)增漲
bidINT(11)無(wú)符號(hào)/非空/缺幫id
省。
tagnameVARCHAR(50非空/缺省’’標(biāo)簽名
)
補(bǔ)充說(shuō)明通過(guò)bid與幫表相關(guān)聯(lián),標(biāo)簽就是每個(gè)幫下面的小分類
表5.1-5幫分類表
表名Lmbang_bclass用于保存幫分類記錄,表引擎為MyISAM類型,
字符集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(11)無(wú)符號(hào)/非空/自主鍵分類編
號(hào)
動(dòng)增漲
beIassnamVARCHAR(50分類名
e)
補(bǔ)充說(shuō)明幫的分類,幫表的父級(jí)表
表5.1-6最近瀏覽幫表
表名Lmbang_browsebang用于用戶瀏覽的幫的記錄,表引擎為
MyISAM類型,字符集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(11)無(wú)符號(hào)/非空/自主鍵瀏覽編
號(hào)
動(dòng)增漲
bidINT(11)無(wú)符號(hào)/非空/缺幫id
省。
uidINIT(11)非空/缺省’’用戶id
bangnameVARCHAR(30幫名
)
posttimeVARCHAR(20瀏覽時(shí)
)間
補(bǔ)充說(shuō)明保存用戶的瀏覽記錄
表5.1-7收藏表
表名Lmbang_coIIect用于保存相冊(cè)記錄,表引擎為MyISAM類型,
字符集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(11)無(wú)符號(hào)/非空/自主鍵收藏編
號(hào)
動(dòng)增漲
uidINT(11)無(wú)符號(hào)/非空/缺用戶id
省。
topicidINIT(11)非空/缺省’’話題id
coIIecttiBIGINT(20)收藏時(shí)
me間
補(bǔ)充說(shuō)明通過(guò)uid和topicid與用戶表和話題表關(guān)聯(lián)
表5.1-8評(píng)論表
表名Lmbang_comment,用于保存評(píng)論記錄,表引擎為MyISAM類型,
字符集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINIT(11)無(wú)符號(hào)/非空/自主鍵評(píng)論編
號(hào)
動(dòng)增漲
ctypeTINYINIT(4非空/缺省’’評(píng)論名
)稱
cidINIT(11)非空/缺省’’評(píng)論所
屬id
contentTEXT非空/缺省’’評(píng)論內(nèi)
容
posttimeBIGINIT非空/缺省’發(fā)表時(shí)
(20)間
uidINIT(11)非空/缺省’用戶id
qidINIT(11)非空/缺省’引用回
復(fù)id
fIoorINIT(11)無(wú)符號(hào)/非空/缺所屬樓
省。層
補(bǔ)充說(shuō)明Ctype類型:1話題評(píng)論,2圖片日記3文字圖片4語(yǔ)音圖片。
Qid是話題評(píng)論時(shí),引用回復(fù)的id
Floor話題評(píng)論所屬樓層
表5.1-9日記表
表名Lmbang_diary,用于保存日記記錄,表引擎為MyISAM類型,字
符集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(11)無(wú)符號(hào)/非空/自主鍵日記編
號(hào)
動(dòng)增漲
uidINIT(11)非空/缺省’’用戶id
typeVARCHAR非空/缺省’‘日記類
(20)型
contentTEXT非空/缺省’’日記內(nèi)
容
posttimeBIGINIT非空/缺省’發(fā)表時(shí)
(20)間
補(bǔ)充說(shuō)明Type類型:audio音頻日記pic圖片日記text文
檔日記
表5.1T0日記上傳數(shù)據(jù)表
表名Lmbang_diarydata,用于保存日記上傳數(shù)據(jù),表引擎為MyISAM
類型,字符集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(11)無(wú)符號(hào)/非空/自主鍵日記編
號(hào)
動(dòng)增漲
diaryidINIT(11)非空/缺省’’日記id
fiIenameVARCHAR非空/缺省’’路徑名
(50)
補(bǔ)充說(shuō)明日記表的子表
表5.1T1達(dá)人數(shù)據(jù)表
表名Lmbang_doyen,用于保存達(dá)人記錄,表引擎為MyISAM類型,字
符集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(11)無(wú)符號(hào)/非空/自主鍵達(dá)人編
號(hào)
動(dòng)增漲
uidINIT(11)非空/缺省’’用戶id
beidINIT(10)非空/缺省’’幫分類
id
countINITC10)非空/缺省’‘發(fā)表話
題數(shù)
補(bǔ)充說(shuō)明統(tǒng)計(jì)達(dá)人數(shù)據(jù)
表5.1-12友情鏈接表
表名Dw_flink,用于保存友情鏈接記錄,表引擎為MyISAM類型,字
符集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(4)無(wú)符號(hào)/非空/自主鍵鏈接編
號(hào)
動(dòng)增漲
FIinknameVARCHAR非空/缺省’’網(wǎng)站名
(50)稱
typeVARCHAR非空/缺省’’鏈接類
(15)型
urIVARCHAR非空/缺省’’鏈接地
(100)址
logoVARCHAR非空/缺省’鏈接圖
(50)片
ordernoINIT(11)非空/缺省’顯示^順
序
ispIayTINYINIT非空/缺省’是否顯
(4)示
補(bǔ)充說(shuō)明顯示方式:有兩種顯示方式,0為顯示網(wǎng)站名稱,1為顯示
Type類型:text文字鏈接,pic為圖片鏈接
表5.1T3加幫數(shù)據(jù)表
表名Lmbang_joinbang,用于保存用戶加幫記錄,表引擎為MyISAM類
型,字符集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(11)無(wú)符號(hào)/非空/自主鍵鏈接編
號(hào)
動(dòng)增漲
uidINT(11))非空/缺省’‘用戶id
bidINT(11)非空/缺省’‘幫id
beidINT(11)非空/缺省’’幫分類
id
補(bǔ)充說(shuō)明
表5.1T4贊數(shù)據(jù)表
表名Lmbang_like,用于保存贊記錄,表引擎為MyISAM類型,字符
集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(11)無(wú)符號(hào)/非空/自主鍵鏈接編
號(hào)
動(dòng)增漲
pidINT(11))非空/缺省’‘圖片id
uidINT(11)非空/缺省’‘用戶id
typeINT(11)非空/缺省’’類型
補(bǔ)充說(shuō)明
表5.1T5私信數(shù)據(jù)表
表名Lmbang_diary,用于保存用戶私信記錄,表引擎為MyISAM類型,
字符集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(11)無(wú)符號(hào)/非空/自主鍵私信編
號(hào)
動(dòng)增漲
puidINT(11))非空/缺省’’發(fā)私信
id
auidINT(11)非空/缺省’‘收私信
id
contentTEXT非空/缺省’’私信內(nèi)
容
posttimeBIGINIT(20非空/缺省’發(fā)表時(shí)
)間
補(bǔ)充說(shuō)明
表5.1-16私信記錄數(shù)據(jù)表
表名Lmbang_diarydata,用于保存私信數(shù)據(jù)記錄,表引擎為MyISAM
類型,字符集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(11)無(wú)符號(hào)/非空/自主鍵私信編
號(hào)
動(dòng)增漲
uidINT(11))非空/缺省’‘發(fā)私信
id
fuidINT(11)非空/缺省’’收私信
id
IasttimeBIGINIT(20非空/缺省’最后聯(lián)
)系時(shí)間
補(bǔ)充說(shuō)明
表5.1T7圖片數(shù)據(jù)表
表名Lmbang_pic,用于保存圖片記錄,表引擎為MyISAM類型,字符
集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(11)無(wú)符號(hào)/非空/自主鍵圖片編
號(hào)
動(dòng)增漲
typeINT(11))非空/缺省’‘圖片類
型
tidINT(11)非空/缺省’’圖片所
屬id
picnameVARCHAR(20非空/缺省’’圖片名
)
posttimeBIGINIT(20非空/缺省’發(fā)表時(shí)
)間
補(bǔ)充說(shuō)明Type類型:1是話題,2是回復(fù),3是頭像
Tid就是各個(gè)類型對(duì)應(yīng)的話題,回復(fù),用戶id
表5.178用戶關(guān)系數(shù)據(jù)表
表名Lmbang_relation,用于保存用戶關(guān)系記錄,表引擎為MyISAM類
型,字符集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(11)無(wú)符號(hào)/非空/自主鍵關(guān)系編
號(hào)
動(dòng)增漲
uidINT(11))非空/缺省’’操作用
戶id
auidINT(11)非空/缺省’’被操作
用戶id
typeINIT(2)非空/缺省’‘關(guān)系類
型
actiontimBIGINIT(20非空/缺省’關(guān)系建
e)立時(shí)間
補(bǔ)充說(shuō)明Type類型:1是關(guān)注,2是黑名單
表5.1T9舉報(bào)數(shù)據(jù)表
表名Lmbang_report,用于保存舉報(bào)記錄,表引擎為MyISAM類型,字
符集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(11)無(wú)符號(hào)/非空/自主鍵私信編
號(hào)
動(dòng)增漲
uidINT(11))非空/缺省’’用戶id
typeTINYINT(2)非空/缺省’’舉報(bào)id
ruidINT(11))非空/缺省’’內(nèi)容id
reporttimBIGINIT(20非空/缺省’舉報(bào)時(shí)
e)間
補(bǔ)充說(shuō)明Type類型:1是舉報(bào)話題,2是舉報(bào)評(píng)論
表5.1-20話題信息表
表名Lmbang_topic用于保存話題記錄,表引擎為MyISAM類型,字
符集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(11)無(wú)符號(hào)/非空/自主鍵話題編號(hào)
動(dòng)增漲
uidINT(11)非空/缺省’‘用戶id
bidINT(11)非空/缺省’’幫id
titleVARCHAR(2非空/缺省0話題標(biāo)題
00)
contentTEXT非空/缺省0話題內(nèi)容
ccountINT(11)非空/缺省0話題下評(píng)
論數(shù)
tagidINT(11)非空/缺省0所屬標(biāo)簽
id
posttimeBIGINT(20非空/缺省0發(fā)表時(shí)間
)
IasttimeBIGINT(20非空/缺省0回復(fù)時(shí)間
)
補(bǔ)充說(shuō)明
表5.1-21用戶信息表
表名Lmbang_user用于保存用戶信息記錄,表引擎為MyISAM類型,
字符集為utf-8
列名數(shù)據(jù)類型屬性約束條件說(shuō)明
idINT(11)無(wú)符號(hào)/非空/自主鍵用戶編號(hào)
動(dòng)增漲
usernameVARCHAR(5非空/缺省’‘用戶郵箱
0)
nicknameVARCHAR(5非空/缺省’’用戶昵稱
0)
userpwdVARCHAR(3非空/缺省0用戶密碼
2)
provineeVARCHAR(2非空/缺省0所在省
0)
cityVARCHAR(2非空/缺省0所在市
0)
babytypeTINYINT非空/缺省0媽媽類型
(2)
babysexTINYINT(4非空/缺省0寶寶性別
)
babybrithBIGINT(20非空/缺省0寶寶生日
day)
scoreINT(11)非空/缺省0積分
groupsTINYINT(4非空/缺省0用戶組
)
headpicVARCHAR(3非空/缺省0頭像
0)
signatureVARCHAR(2非空/缺省0簽名
00)
regtimeBIGINTC20非空/缺省0注冊(cè)時(shí)間
)
1asttimeBIGINT(20非空/缺省0最后登錄
)時(shí)間
regipVARCHAR(2非空/缺省0注冊(cè)ip
0)
1astipVARCHAR(2非空/缺省0登錄ip
0)
custombgTINYINT(4非空/缺省0空間背景
)圖片編號(hào)
ccountINT(11)非空/缺省0發(fā)話題數(shù)
findpwdVARCHAR(2非空/缺省0找回密碼
0)參數(shù)
isdiaryTINYINT(2非空/缺省0是否公開(kāi)
)日記
isloginTINYINT(2非空/缺省0是否禁號(hào)
)
ispostTINYINT(2非空/缺省0是否禁言
)
iscommentTINYINT(2非空/缺省0是否公開(kāi)
)回復(fù)
isseeTINYINT(2非空/缺省0同城是否
)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年03月安徽池州市青陽(yáng)縣民政局二級(jí)機(jī)構(gòu)公開(kāi)招聘1人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025年03月四川宜賓市兒童福利院公開(kāi)招聘編外聘用人員7人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 重慶應(yīng)用技術(shù)職業(yè)學(xué)院《高級(jí)英語(yǔ)II》2023-2024學(xué)年第一學(xué)期期末試卷
- 西安海棠職業(yè)學(xué)院《鋼筋平法識(shí)圖與計(jì)量》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南邵陽(yáng)市區(qū)2024-2025學(xué)年高中畢業(yè)生復(fù)習(xí)統(tǒng)一檢測(cè)試題物理試題試卷含解析
- 武漢紡織大學(xué)外經(jīng)貿(mào)學(xué)院《高維數(shù)據(jù)分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 洛陽(yáng)師范學(xué)院《現(xiàn)代數(shù)字信號(hào)處理》2023-2024學(xué)年第一學(xué)期期末試卷
- 寧夏工業(yè)職業(yè)學(xué)院《現(xiàn)代國(guó)際關(guān)系史世界史》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江安防職業(yè)技術(shù)學(xué)院《普拉提》2023-2024學(xué)年第二學(xué)期期末試卷
- 德州學(xué)院《建筑工程制圖》2023-2024學(xué)年第二學(xué)期期末試卷
- 勞務(wù)外包服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 中國(guó)水泥回轉(zhuǎn)窯行業(yè)發(fā)展監(jiān)測(cè)及投資方向研究報(bào)告
- 《檔案編研工作》課件
- 《山水林田湖草生態(tài)保護(hù)修復(fù)工程指南(試行)》
- 初中英語(yǔ)牛津深圳版單詞表(按單元順序)七年級(jí)至九年級(jí)
- 槍支安全及使用指南
- 《肝衰竭診治指南(2024版)》解讀
- 國(guó)省道公路標(biāo)志標(biāo)線維護(hù)方案投標(biāo)文件(技術(shù)方案)
- 【MOOC】科技英語(yǔ)寫作-西安電子科技大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 電動(dòng)汽車課件
- 原始點(diǎn)醫(yī)學(xué)(201904第15版)
評(píng)論
0/150
提交評(píng)論