版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、微信數(shù)據(jù)庫分析與設(shè)計一、需求分析微信作為當(dāng)前的主要即時通訊工具之一,有著廣泛的應(yīng)用。其主要的功能是 實現(xiàn)即時通信,這也是微信的核心功能。此外還有查看朋友圈動態(tài)、搜索好友、 管理個人信息、建立用戶自己的相冊、收藏功能、搖一搖、搜索附近的人、購物、 游戲等功能。此次對于微信平臺的數(shù)據(jù)庫設(shè)計主要對部分需要微信平臺提供存儲 信息功能進行需求分析及設(shè)計。以下將對微信平臺的主要需求做簡要的分析并且 根據(jù)分析做出數(shù)據(jù)流圖使得對于微信平臺數(shù)據(jù)庫的設(shè)計有更好的理解。微信的通信主要包括與微信好友進行相互通信,這其中通信內(nèi)容包括文字、 語音、圖片及視頻。當(dāng)用戶訂閱了公眾號之后,會接收公眾號發(fā)送的消息并且也 可向公眾
2、號發(fā)信息或許其提供的信息。微信通信功能的另一個主要方面是實現(xiàn)群聊。用戶可以加入一個微信群進行 群。另一方面用戶也可以選擇自己的聯(lián)系人進行群聊。微信中通訊錄實現(xiàn)了保存用戶聯(lián)系人的目的,并且訂閱的公眾號也保存于通 訊錄中,并且在通訊錄中可以設(shè)定標(biāo)簽來為聯(lián)系人分組。微信朋友圈保存好友發(fā)送的與朋友共享的消息,其內(nèi)容可為文字、圖片、視 頻。在朋友圈中可以設(shè)定權(quán)限使得不同權(quán)限的用戶查看的內(nèi)容不一樣。搖一搖功能可以獲取同一時刻一起搖動手機的用戶,并且暫存于微信中。附近的人功能可以識別在一定范圍內(nèi)的微信用戶,并且將獲得的用戶信息也 暫存在微信中,對于識別附近的用戶可以設(shè)定具體的條件來掃描。漂流瓶功能相當(dāng)于隨機
3、的獲取微信消息或者向微信用戶隨機的發(fā)送消息。對于個人信息的編輯,用戶可以根據(jù)自身需要編輯一些所需的個人信息。 最后在微信用戶個人信息中有相冊和收藏記錄用戶的照片和收藏的文字語音 等信息。以上是對微信的部分功能的需求分析,現(xiàn)根據(jù)以上需求對微信數(shù)據(jù)庫畫出數(shù) 據(jù)流圖:第0層DFD第1層DFD :、概念設(shè)計在第一步的需求分析中,我們了解了微信數(shù)據(jù)庫平臺設(shè)計中所需要的實體及 需要存儲的信息。在概念設(shè)計中將進一步明確數(shù)據(jù)庫設(shè)計所需實體,實體所具有的屬性及實體之間的關(guān)系。通過分析微信數(shù)據(jù)庫平臺所需實體主要有:用戶信息、普通消息記錄、公眾 號信息、公眾號消息記錄、微信群信息、群聊消息記錄、收藏信息、相冊、朋友
4、 圈信息、聯(lián)系人信息、附近人信息、漂流瓶信息、掃一掃信息、搖一搖信息。這 些實體分別對應(yīng)于微信功能的不同模塊。在實現(xiàn)微信的通信功能主要是使用用戶信息、普通消息記錄、微信群信息、 群聊消息記錄和聯(lián)系人信息這幾個實體。在明確所需實體后根據(jù)實際需要對于每個實體設(shè)置符合實際情況的屬性,每 個屬性對應(yīng)了數(shù)據(jù)庫中的具體屬性。下圖是根據(jù)對于微信數(shù)據(jù)庫平臺的需求分析做出的CDM,通過此概念模型顯示數(shù)據(jù)庫之間各實體之間的相互關(guān)系及各個實體所具有的實際屬性。/S JLZJ2 發(fā)蛍人 發(fā)進月窖 捷送另何 o卉論人O評住K2S O評論療何nxHG!KtCtai2Q)Charscten (20iVaroblc chor
5、octsn (6000) Cate & Tinx:Chaf&cten (20,)Wwbl(100)Cate M Time# fciLLIDOo tt*j o tt(Xo 個tt$E眄遼人情息Cnfifdct&nl2Q;CnoroctGr: (20IrtegetCnardders (6) Vwrigble(201Vrioble cnoroatcr: (600)5-51S$ 亙一魚運MIC C3a:Urs【20)o 療倚Dt 6 Tinw刃務(wù)/sriade characters (50C0:(&OOCV可戶佬Characters -5)咒稱 JQ、 o吳H二細(xì)卞攵片 o衣的趟如 性別堆區(qū) O冷垃乞
6、Charaetcrfx 20) Cbcraciers 20) image (100) imeic(100)Vorisblc haractcfs 100Craraaers6Variable 3har3ctefs 20) Variable 出aradac M0) Vbriabl shara 20)鈴 ISSIC6oro2Ur& (20巧寄VatidUe 63Clt 20)Charaae-s 20) Dare & T meVariobIq sharaoRQff: (SCO),岌迪灣是II丿【I一feiQwipieChMacrfi (2C) l-nae 100i Variaok characters
7、(1000)# 咆蘭QCFiareU-o ;20)衫攻野匱Ctt 4 Firn SSVurmbk chsrActn (5000)訝?wèi)袈?lián)克人Y公眾弓IS電含尋ID Charades 20)公眾尋乞務(wù)Chorads 40)8 亙2JD A畫友人為存-芟魚FTP)公眾巾.邑ID 復(fù)建公A好名豕 公眾誦息才S:老2tM9tW6acters (201Cnafftrt*f0Tta-B3 _gd Mrfl-.2lvffluefiKnynflas m&co-誥*Bnkc e4i毎CT賣呂告g右id斗.!#暨腎帚勺口 JefLyos q 蟲祥益 Flep-TWi5c0&i*-1 i1師ill卅H la r ;,
8、J| iI3bL*T勺 tiiq9;hi3Fy耳DHL4.Asw* Ff賈!一皆一 tJUulr 耳.l出 0 sss詁而滬Jd nu*.匚 l.h!1叫.3 s-cslitRsfl.IIFUi稱刃用I 川IHJ-foefi 叮7- m0 Odj 展一exi.呂 CMs 慚 T JDs-ru!CHLractin; -“!呂Iki!I注出蜀徘戰(zhàn)a兩*皿蘇町琦Mi;別寫善Ch 巾 rsb-lF-8o-ssrmGMHll10 VMaltsle Lr&r 耶 5e S 呂J-i-f 二; -y3 -!-二:r.-.L? 一.1JM 口 -8-t.H-w 宀”一5) 3rft霍ilcl 喬女 .ss _
9、J3DG Q -Frf 口I PSS43 s PJUS&aKjo _vfioa8 BVKrrpblMi gIDFwM-5 -S0O-Dsrll. H-Jh*L心.wrftEi 席蠱匚* Ms&ss瞭衣常r.WWE在LDM中對于CDM進行了進一步的細(xì)化和具體化,對其中的實體之間的關(guān)系在邏輯上 進一步的進行了明確。在此基礎(chǔ)上我們獲得更加具體能直接反映數(shù)據(jù)庫涉及的無理數(shù)據(jù)模型PDM如下圖所示:(PDM )。通過PDM將具體顯示數(shù)據(jù)庫所需的表及其之間的關(guān)系。afim.wlols*”土hFiM:1Q5 nrnlmMi.ob J 嘗 .=u.m-q 琲 ”Mrf3E.S3-3 酣 sl.i,-1alhNh
10、aIJIlolgila*laliyll臺悴r昭IMFnmrn空 wlv u ofisAJP1 別ochM-al Asv 嫩lA-k坤:irt蟲 Twplu址rt吧0s凈uffitl摘叩 kng bhleMBAiNE近 對M7IIFW科aw-I. cw dlaZL Of-K-crhlllymaETris.OM.-issYai剛 u m*jffi nd i;I bi1 pInrsi-.1褊,田djkn$v!一a-Elllp日.耳曼色 w?w嚴(yán)件 htafcyj s if -M. kV-Mi1tl 窟 6F:UF iiii jk 皿 infw曲Liirli曲 IM 曲艸IWpl-JilmltErIB
11、IWPIulgllllf-*Iir磚畀|41詣孫 r:-r?hl)l-KJFljiKgIA舊 呼浄-1)1跖彌蓉“卷h律浄期IjEIrtil*樸白舊InITlblry E. s許呻0fnMJ 鳥叮 憂耳0忡4|1&-1?口甘卡0HaEttx suirt iffab_H4J.負(fù)右二8空在PDM中顯示了個表單之間的引用關(guān)系,其具體引用如下表:標(biāo)間關(guān)系名稱父表格子表格關(guān)注用戶信息關(guān)注關(guān)注公眾號信息關(guān)注發(fā)送公眾號信息公眾號消息記錄發(fā)送/接收用戶信息普通消息記錄發(fā)送消息用戶信息群聊消息記錄收藏用戶信息收藏信息查看:聯(lián)系人信息普通消息記錄用戶存放用戶信息搖一搖信息用戶所在群用戶信息用戶所在群用戶所在群:微
12、信群信息用戶所在群用戶所屬用戶信息漂流瓶信息用戶掃描獲得用戶信息掃一掃信息用戶相冊用戶信息相冊用戶聯(lián)系人用戶信息聯(lián)系人信息群聊天記錄微信群信息群聊消息記錄聯(lián)系人相冊:聯(lián)系人信息相冊獲取用戶信息附近人信息本系統(tǒng)中使用的表單如下所示:1、用戶信息表NameData TypeLen gthp (主鍵)F (外鍵)M (不可為空)1用戶IDchar(15)15XX昵稱char(20)20X頭像long binary二維碼名片1ong binaryX我的地址varchar(100)100性別char(5)5X地區(qū)varchar(20)20X個性簽名varchar(500)500登陸密碼varchar(2
13、0)20X2、普通消息記錄表rNameData TypeLen gth PFM消息IDchar(20)20XX聯(lián)系人IDchar(15)15X用戶IDchar(15)15X內(nèi)容varchar(5000)5,000X發(fā)送時間datetimeX3、聯(lián)系人表NameData TypeLen gth PJFM朋友IDchar(20)20XX用戶ID char(15)15X備注名稱char(20)20X標(biāo)簽varchar(20)204、公眾號信息表- NameData TypeLen gthPFM公眾號IDchar(20)20XX公眾號名稱(:har(40)40X5、公眾號消息記錄表NameData T
14、ypeLen gthPFM公眾消息IDchar(20)20XX公眾號IDchar(20)20X公眾消息varchar(5000) 5,000X訂閱者varchar(8000) 8,000X發(fā)送時間timestampX6關(guān)注表NameData TypeLen gthPFM用戶IDchar(15)15XXX公眾號IDchar(20)20XXX7、微信群信息表NameData TypeLen gthPFM群IDchar(20)20XX群名稱char(20)20X群二維碼long binaryX群成員varchar(1000) 1,000X8、用戶所在群表NameData TypeLen gthPFM
15、用戶IDchar(15)15XXX群IDchar(20)20XXX9、群聊消息記錄表NameData TypeLen gthPFM群聊消息ID :har(20)20XX群IDchar(20)20X發(fā)送人char(20)20X發(fā)送時間timestampX內(nèi)容varchar(5000) 5,000X10、相冊表NameData TypeLen gthPFM相冊IDchar(20)20XX用戶IDchar(15)15X聯(lián)系人IDchar(20)20X存放時間timestampX內(nèi)容varchar(5000) 5,()00X11、收藏信息表-NameData TypeLen gthPFM收藏IDcha
16、r(20)20XX用戶IDchar(15)15X收藏時間timestamp收藏內(nèi)容varchar(8000)8,00012、附近人信息表NameData TypeLen gthPFM附近人IDchar(20)20XX用戶IDchar(15)15X昵稱char(20)20X距離in teger性別char(5)5地區(qū)varchar(20)20個性簽名varchar(500)50013、搖一搖信息表NameData TypeLen gthPFM搖一搖信息IDchar(20)20XX用戶IDchar(15)15X時間timestamp內(nèi)容varchar(5000) 5,00014、掃一掃信息表Nam
17、eData TypeLen gthPFM掃一掃信息IDchar(20)20XX用戶IDchar(15)15X時間timestamp內(nèi)容varchar(5000) 5,000X15、漂流瓶信息表NameData TypeLen gthPFM漂流瓶IDchar(20)20XX用戶IDchar(15)15X內(nèi)容varchar(5000) 5,000X對于微信數(shù)據(jù)庫平臺的邏輯分析,明確了在具體是實現(xiàn)時所需的表及其各個 表之間的引用關(guān)系,在接下來的物理設(shè)計中將使用邏輯設(shè)計中的表在具體數(shù)據(jù)庫 實現(xiàn)微信數(shù)據(jù)庫平臺的設(shè)計。四、物理設(shè)計在此次物理實現(xiàn)微信數(shù)據(jù)庫平臺使用SQL Server 2008。實現(xiàn)簡單的微
18、信平臺的數(shù)據(jù)庫,通過在數(shù)據(jù)庫表中插入數(shù)據(jù)或查看數(shù)據(jù)來表現(xiàn)微信平臺對信息的發(fā) 送接收及查看。在此次物理實現(xiàn)是我們遵循3NF數(shù)據(jù)庫設(shè)計如下圖: J鐮信平臺E LJ毅據(jù)庫左圍 匚口表S二縈焼表國 dbo.pffiEABBS衛(wèi)dbcr公眾尋滴息記錄S 3 db口公兪號信息S 72 dbo.iS db屋盞人 +1 口 Kbci標(biāo)氏?區(qū)信息 S 日bm音區(qū)消息記錄 0二I已兄雜暮消慝記錄 S二日bm掃一H信息 13 W呂命丄斶借懸 S 曲口微信群信息 S 自 dbe.T 3 dbcij捱信息 0旨dbeffi戶所在壽 2 dboi戶信息i+ l_j 颶1、向“用戶信息”表添加記錄,模擬微信在線用戶。此次添
19、加三個用戶作為模 擬的微信用戶。用戶基本信息如下:Fi二拒戶信息日23列f 用戶ID (PK; diartl5L not null)B 炯稱(char(20), not null)E 頭低(binsryflL rull)H 二碼名片(binaryfU not null)3 找迪地址 tyarchar(lDO)f null)H 性別(dur(5), not null)E 地區(qū)(varhar(20 not null)國 個準(zhǔn)鑒宕(varchar(500), null)E 聲就步馮(varchar(20L not null)2、我們選取“小a”登陸微信,開始添加聯(lián)系人?!奥?lián)系人”表保存每個用戶 的聯(lián)
20、系人信息,這些聯(lián)系人信息皆來自用戶信息表?!靶”的聯(lián)系人如下表:一flWD-WB陽戶ID朋友音注容標(biāo)簽12| (XX)20001日刪同學(xué)0M3OKINULLNULL此表的創(chuàng)建過程如下:cr=atc table耗奚人朋友門chQr 1not null用戶 ID char(1 I :i Ji 朋茨?注討帚20- f 標(biāo)簽 y ar char 2Q ) r constraint pU pEinary “Yf期友ID*用戶TD 門 nstrirt fri foreigin teyrefTendbo. 月戶信思用戶 SGZitrair.t foreigr key (Jfj ID)dbd 同 戶盲懇 用
21、戸 TD3、普通用戶發(fā)送消息時,消息內(nèi)容將存儲在“普通消息記錄”表中,如現(xiàn)在“小 a”向“小b”發(fā)送一條消息,然后“小b”再回復(fù)一條?!靶”也向“小c” 發(fā)送一條消息。EJ匚|歹* i肖副D (PKd chdr20 not null)?聯(lián)至人【D (FK, char(15Jt nullj?用自【D FK, char(15r null)m 內(nèi)客 varcharSCXKJJj not null_J 發(fā)送討閆(datetime, not null消息心聯(lián)系人ID用戶ID內(nèi)奢發(fā)送時囘iOOOWI j0002下牛5點去球場躡揀2015-05-1C 11 35:32 D4C0000020D&1畑可以,下
22、午球場見2016-010 11:3G:172O700000300030W1你好2015-05-1C 1253:16.233其中表中的外鍵約束和默認(rèn)值如下:血匚旨魚Y肖唱i己世 直弧 conTramt 二EK toxeian icey |矣 二工匸 xeie:rer:cea ol&q. 用戶倍息幷戶二D alter tteble dhn HiS詩耳記長z cnstraint.三上W foreign key 旳亡I 二百:ref er-nce- izba 用戶彳言=. 用巴二口bIwe cable 11甘通f肖息記錄 Bdid 聶送時間 dae&ine z- mill default c*tdat
23、.e(在”普通消息記錄表”中也可以查詢兩個用戶之間的聊天記錄,如查詢“小a”和”小b “之間的聊天記錄:L.駝Ct應(yīng)直發(fā)送BdjH血cM誦逍息記錄氓 SeMAi? W(0001 *0002*) and BTD inf 0001 F *0002*)結(jié)麋帰消息J5_ _._發(fā)醫(yī)時間1 卒磺丟殊琉殊1 2015-0510 11:35:32 040 4“a“ui“i i&iii iiui iiudiiiauiiHiiMMiiiimiii iJ*2 可如 下午瑋場兄20151011:36:17207同樣也可以在“普通消消息記錄表”中實現(xiàn)刪除消息記錄。在“普通消息記錄”表中為了能使用戶更快的查詢自己的消息
24、記錄,這里創(chuàng)建了索引。create index用戶快速查詢記錄on dto.j|消息記錄用戶TD)4、“微信群信息”表中記錄了所有用戶創(chuàng)建的微信群的信息。由于在微信中群 成員數(shù)量當(dāng)前限制為40個,在本平臺中我們設(shè)置為4個。并且每一個成員信息 由外鍵引用自“用戶信息”表。比如現(xiàn)在創(chuàng)建了兩個個微信群如下:dbo信辟信息0 曰Lj列l(wèi) 髀ID (PK, chrf2D), not null) B SCcharOj, not null)3 群二維碼(binaryflX not null)f成員丄(FK,charCLS).not null)*成員2(FKPchar(15).null)fOS3(F20) r
25、lid char i 13;i F 4cy3 id chix 丄 5 , cylld char IB: f 9 _: y4 L d char ;13r牝 1 ect Qurild-群 TD. *cyli 4月;貝 I r ScyS i4成員2* PcySitiT茨員影鮭y弓id-l.j;A frcwr inaertedL.f I geTlld 19 EX3: nulltginintQ dfera ”用戶所在群用戶 HD 計 5 V#:W- J J - i. Sq-=nid-zti?cy2丄口 is nsz nulltegin.inacTt into dbo.月戶序在密 用口1口-群工上 val
26、ue1 s Jcy?L.dr JiTJnid; endr i ScySld 亠三 ei_ xjdllbeginmacst latz dbn同戶護ft群 用1C. SJ11 %palua ?cyJLlr *qunid 切air i 弘、Tim - - :.a | :i】beginJ-nsert U)t!2 ati.牙戶序jL券 Ffl - 1C 群丄- va_iiebdLinxdL enl5、“用戶所在群”表存儲了每個用戶所在的群信。每個用戶可根據(jù)此表查詢所 在群信息。當(dāng)一個微信群被創(chuàng)建后在“用戶所在群”表中將自動顯示用戶所在群 信息。曰3 d歸盧所在群日口列g(shù) 用=ID (PK FQ char
27、(15). not nulll)g 解D (PIC, FK, charOL not nu町-J旳木 _記盡丄用戶ID群IDpji 00011 M001(NX)2M001XBW001fcij K)1處企號IDj QOT12000200023OKI(W40005(KXM9、“公眾號消息記錄”存儲公眾號為訂閱者發(fā)送的消息E二d bo,公盤號港息記眾日口列?公命輻ID (PK chM20), net null) 公眾號ID (FK, charOX null_2 公眾雀慝vnirhar(5D001 not null)J間 ftimestamp, not null)12公處消息ID公介號ID眩條消息發(fā)送時間OOO&DODM 0M2WOODOD&6 0004廉網(wǎng)建設(shè)課程計劃215415*1016:17:0020155-101G:1S:閒2O154&1016:13:0010、其余各表分別存儲每個用戶在微信中的信息, 通過外鍵引用來確定每個表中 各個用戶的信息,其具體結(jié)構(gòu)如下:d詁bs附近人信息日口列、?附匠人【D (PK, charlO), not null f 用AD(FKd char(15
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廢棄資源綜合利用的水環(huán)境與水資源保護考核試卷
- 天然氣開采的社會責(zé)任與公眾參與考核試卷
- 體育用品廣告宣傳與體育保險考核試卷
- 木材的變形與干縮原因考核試卷
- 創(chuàng)業(yè)空間的投資與風(fēng)險管理考核試卷
- 智能醫(yī)療設(shè)備研發(fā)合作協(xié)議
- 軌道交通項目異議處理程序時效
- 邯鄲市健身器材市場租賃合同
- 水利信息化管理操作指南
- 能源開發(fā)挖機租賃合同協(xié)議
- 2023年中國人民銀行直屬事業(yè)單位招聘考試真題
- 2024年湖南土建中級職稱-建筑工程《法律法規(guī)及技術(shù)標(biāo)準(zhǔn)》考試題庫(含答案)
- 國開(浙江)2024年《個人理財》形考作業(yè)1-4答案
- 《創(chuàng)意改善生活》課件 2024-2025學(xué)年湘美版(2024)初中美術(shù)七年級上冊
- 《風(fēng)電場項目經(jīng)濟評價規(guī)范》(NB-T 31085-2016)
- 私募股權(quán)投資基金基本知識(共45頁).ppt
- IEC國內(nèi)技術(shù)對口單位
- 第一章特殊教育概述-特殊教育概論(共4頁)
- 淺談公務(wù)用車費用審計
- 煉油廠化重整裝置生產(chǎn)原理及工藝
- (完整版)裝修主要材料一覽表
評論
0/150
提交評論