版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微信数据库分析与设计一、需求分析微信作为当前的主要即时通讯工具之一,有着广泛的应用。其主要的功能是 实现即时通信,这也是微信的核心功能。此外还有查看朋友圈动态、搜索好友、 管理个人信息、建立用户自己的相册、收藏功能、摇一摇、搜索附近的人、购物、 游戏等功能。此次对于微信平台的数据库设计主要对部分需要微信平台提供存储 信息功能进行需求分析及设计。以下将对微信平台的主要需求做简要的分析并且 根据分析做出数据流图使得对于微信平台数据库的设计有更好的理解。微信的通信主要包括与微信好友进行相互通信,这其中通信内容包括文字、 语音、图片及视频。当用户订阅了公众号之后,会接收公众号发送的消息并且也 可向公众
2、号发信息或许其提供的信息。微信通信功能的另一个主要方面是实现群聊。用户可以加入一个微信群进行群。另一方面用户也可以选择自己的联系人进行群聊。微信中通讯录实现了保存用户联系人的目的,并且订阅的公众号也保存于通 讯录中,并且在通讯录中可以设定标签来为联系人分组。微信朋友圈保存好友发送的与朋友共享的消息,其内容可为文字、图片、视 频。在朋友圈中可以设定权限使得不同权限的用户查看的内容不一样。摇一摇功能可以获取同一时刻一起摇动手机的用户,并且暂存于微信中。附近的人功能可以识别在一定范围内的微信用户,并且将获得的用户信息也 暂存在微信中,对于识别附近的用户可以设定具体的条件来扫描。漂流瓶功能相当于随机的
3、获取微信消息或者向微信用户随机的发送消息。对于个人信息的编辑,用户可以根据自身需要编辑一些所需的个人信息。最后在微信用户个人信息中有相册和收藏记录用户的照片和收藏的文字语音 等信息。以上是对微信的部分功能的需求分析,现根据以上需求对微信数据库画出数 据流图:第0层DFD第1层DFDMak鮮童.|e7盏手着卅为3:!=. E =工农窘之=UI:-产=-:5Pj.22=21111-2T克才兰艺=主至Lroofl.t4老址至工诵百看*艇,192 ; 0 =1C17可电中运115岂岂二、概念设计在第一步的需求分析中,我们了解了微信数据库平台设计中所需要的实体及 需要存储的信息。在概念设计中将进一步明确
4、数据库设计所需实体,实体所具有的属性及实体之间的关系。通过分析微信数据库平台所需实体主要有:用户信息、普通消息记录、公众 号信息、公众号消息记录、微信群信息、群聊消息记录、收藏信息、相册、朋友 圈信息、联系人信息、附近人信息、漂流瓶信息、扫一扫信息、摇一摇信息。这 些实体分别对应于微信功能的不同模块。在实现微信的通信功能主要是使用用户信息、普通消息记录、微信群信息、 群聊消息记录和联系人信息这几个实体。在明确所需实体后根据实际需要对于每个实体设置符合实际情况的属性,每 个属性对应了数据库中的具体属性。下图是根据对于微信数据库平台的需求分析做出的CDM通过此概念模型显示数据库之间各实体之间的相互
5、关系及各个实体所具有的实际属性。A龙时人亂 送退地世食 S3窟WWIEChflr&ct=rs l2Vi*fiel也 I 匚 chssstaj*: (BODQ Cah &. irrteChirs-ctM i2j0jVarifliblF thtvutf护(1QD)Cate & Fimc 称离團(X& w-=14FrSAft*CsrasteOi bract.fe !口0IrLegefCiArad:iM |. 6)Wribl. diniirv (3Ql*# ft S SAID1200 ItfflCels E TimQ 內弃GhiiftOirri i?Q0C)if h-te.s ?ICCharac lD
6、:.o BtWDlt & Tin*-梗7sna=lE ciis-sdr= : CO*廷户咀* 5:松 ”君埶0妝滋 o蒂曲址址-脚*坦区O斗駐定 -融弐冏w电二-羽出爭习 CkHrQd&T,力) baiad.E- 二外 lEfi 1100)Irrwc* (130JVpris-ble sheracfcgra 150) 二厂刖曰ci:已勺5 Vai ab Ie zhaa ctefj 2&: Voriabla h* 口*x MO) Vvinb-lv Jitteflawi ZQIOClliai.elJ.5 l2DjW牧底馆昼2 SLE匚 tiargF 硝 區Q:;贮定册简Date & lr 丈窣为隹
7、Vcjiahla c*inrflm 1DCO3;ift- W马=蚩盍儿 芝#= :Cha ra吱产亏 力3 -心區殴Chrad:s 10)eETlI: Cste & r.irw冉寧 Wriabl* dwwisrs (SOQQ裁盍丄三t艺蛊 Aid era日.僅曰百;2D - 萎 sgE竺荃 沆lm逑吓特 iM a 3 &世uiwnatareizo* 方昏di ixtoia m= *声M肇童啣 -康SA 注送对空为軽书=护言JIA*卫 亠軽老吟*罠二蛊号艇爭也t uiS二也“仃“.K)GMucn 训GhmgE* 纳Da:e & T HIEVn-iablc. 3hrac:i? EtO),=*:|1
8、屮*斥fiSC)Imargs 100iVeiisbia chargclm (1000)里曲县ID *贷越人 -妥欣人 -卉窃Cnwaditfi Vrigblc QfwedK (EOflOi/a ria de p- arsztEn |!) Datm &. 1 i ne#工炉:昱IDUlBT自:TM ;2Jvgrifl E e crws ctEfs药)Varist e cBsde !5DCMjfiriiNio Ma立啟(20)茫爭 罔 d涓考計 逼.K逶 X詁7T戏亡hmeiK :乂)thHMEQiC (3C)Chsreoteo (2C)Variable dh-arseten (5COQ) Ca!
9、e i TimE三、逻辑设计由以上概念设计模型,我们可以获得以下逻辑数据模型(LDM* du布孑泮甌并-.9 JF 畅絆何IP t1 ? IIf駿抨計l-ttQp_ J节口 曲确&iilHAailr IIp站;i f fr.l.ir 町.JJII口 FTEf IM e!空_p s斗u口誥 十昌皂Em.llre油闾才吗奇济in-J-lioMm 一 B offlrrAJrne*竄一 *!$-doo.- -ailwllfal町 oM“nI二巨 nrtt-K34Ml制.-1-n QD-bMnITlr-u ox ofsss-4电耳加词二畀市u-3 _8 ) I层邯百|-|.耳片4二“LIJ:JrJ.aQ
10、r; lrl 象- E_Rsgsfof 8S 3 k暫一譬fl4覽W3膏-!.#rrQHS143.-IrLft巾 IT-th冷3oleBrT-nu -0 甘丽 v&Tb!E cr.BAiI.J$500mlarv-rinftmlElllnlicOJUDaH B.llld 半*畠GTf *S 祈制 F JUi fT oM H in 凹A雷口 a 栖chrRaEnig-0-0-寥o=tahNr-lcQS03 .:-_!專扣41窗屮却lx.freli-st.liL*milfl.DllllllM-ag$E-I盖棗 CJlwmE -_m9,us-ttwR k8_n ox& riflPJJD章 tY J-
11、眼盟两诽曲 dvilMI jzIIJaractan 只 口氏-arm -LJ -rkrrd_w r-k-l-L!I2CVMIOfTff-22 uvri- wJT-Sl-t几去一口卜陣 sksf- : as艸iesrdiI.lAmllMIll 応9SAMr-n- 4ap-帀b-冲 dlnrKlaT-區 00 - vaiaE 檜牛ursdin 二 toe-_w Ti2在LDM中对于CDMS行了进一步的细化和具体化,对其中的实体之间的关系在逻辑上进-步的进行了明确。在此基础上我们获得更加具体能直接反映数据库涉及的无理数据模型(PDM。通过PDM各具体显示数据库所需的表及其之间的关系。PDMto下图所
12、示:Mak:f 二 E#刘9巾IDCM 对 5)4flieh3fl(2rrtsgrCM萌卜!IHi!曲叭20)j沧喘甚京“Fwh料5531STSSC sh122i茅士Q 心啕塞整5 cMZ)U出甘肝liwiEmp汀蓉y无血彳幻&工馆一拒乍甲Elc-X雷 =- r .r5卜就urrMBrrip虬口 IDEar(谒用耳 、斷鼻(600=星鼎一i.y农疫jh龙兰耳WE息虞 BUD 如 rtsm 科ID :hiW忖 出氧片対:rmeasnp 卡耗拦5 mg105;-URCf肇沔恵迪11SAJ耳口才3忙:enknit Dch*2fk11 - IDchadij工W鼻占化ch矶物h*(?)tirt丁 tmt
13、itHWwdw(5(ra::= 21CM120io 叱 bhjiry r旳吨brzryvardwfliM rtltS vitreiwOO) wsimhsrfKK)- 巧鈕吒20臼眄程萍W对1気 此上/|、吞口 ehailTai 可:Uc.f并帖甲乍老He如斎畀刍竽 爭hai律丁: 事二电三 bng birj.iy 五血樽 v#char IODO1!:左亍=e id-=I:AB eharf 网4fWb-习a id如唱询如新-jchara*?hw(&30)S ii 17 timsiakmp兀轉丟童一岳A峙性*疋pfc,5旳期 ow(6i mian123: tfjirGhjri ZS varoMnf
14、OQ w*rrfK?). !:E id臥“沁号DGMrn:罚啓金還E冒ier曲(!0*加vn#dviX0)反送时印ti-n0lmi蠻讥号上壬曼标间关系名称父表格子表格关注用户信息关注关注公众号信息关注发送公众号信息公众号消息记录发送/接收用户信息普通消息记录发送消息用户信息群聊消息记录收藏用户信息收藏信息查看联系人信息普通消息记录用户存放用户信息摇一摇信息用户所在群用户信息用户所在群用户所在群微信群信息用户所在群用户所属用户信息漂流瓶信息用户扫描获得用户信息扫一扫信息用户相册用户信息相册用户联系人用户信息联系人信息群聊天记录微信群信息群聊消息记录联系人相册联系人信息相册获取用户信息附近人信息本
15、系统中使用的表单如下所示:1、用户信息表NameData TypeLen gthP (主键)F (外键)M (不可为空)用户IDchar(15)15XX昵称char(20)20X头像long binary二维码名片long binaryX我的地址varchar(100)100性别char(5)5X地区varchar(20)20X个性签名varchar(500)500登陆密码varchar(20)20X2、普通消息记录表NameData TypeLen gthPFM消息IDchar(20)20XX联系人IDchar(15)15X用户IDchar(15)15X内容varchar(5000)5,00
16、0X发送时间datetimeX3、联系人表NameData TypeLen gthPFM朋友IDchar(20)20XX用户IDchar(15)15X备注名称char(20)20X标签varchar(20)204、公众号信息表NameData TypeLen gthPFM公众号IDchar(20)20XX公众号名称char(40)40X5、公众号消息记录表NameData TypeLen gthPFM公众消息IDchar(20)20XX公众号IDchar(20)20X公众消息varchar(5000)5,000X订阅者varchar(8000)8,000X发送时间timestampX6关注表N
17、ameData 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用户IDchar(15)15XXX群IDchar(20)20XXX9、群聊消息记录表NameData TypeLen gthPFM群聊消息IDchar(20)20XX群IDchar(20)20X发送人char(20)20X发送时
18、间timestampX内容varchar(5000)5,000X10、相册表NameData TypeLen gthPFM相册IDchar(20)20XX用户IDchar(15)15X联系人IDchar(20)20X存放时间timestampX内容varchar(5000)5,000X11、收藏信息表NameData TypeLen gthPFM收藏IDchar(20)20XX用户IDchar(15)15X收藏时间timestamp收藏内容varchar(8000)8,00012、附近人信息表NameData TypeLen gthPFM附近人IDchar(20)20XX用户IDchar(15
19、)15X昵称char(20)20X距离in teger性别char(5)5地区varchar(20)20个性签名varchar(500)50013、摇一摇信息表NameData TypeLen gthPFM摇一摇信息IDchar(20)20XX用户IDchar(15)15X时间timestamp内容varchar(5000)5,00014、扫一扫信息表NameData TypeLen gthPFM扫一扫信息IDchar(20)20XX用户IDchar(15)15X时间timestamp内容varchar(5000)5,000X15、漂流瓶信息表NameData TypeLen gthPFM漂流
20、瓶IDchar(20)20XX用户IDchar(15)15X内容varchar(5000)5,000X对于微信数据库平台的逻辑分析,明确了在具体是实现时所需的表及其各个 表之间的引用关系,在接下来的物理设计中将使用逻辑设计中的表在具体数据库 实现微信数据库平台的设计。四、物理设计在此次物理实现微信数据库平台使用 SQL Server 2008。实现简单的微信平 台的数据库,通过在数据库表中插入数据或查看数据来表现微信平台对信息的发 送接收及查看。在此次物理实现是我们遵循3NF数据库设计如下图:3 1 j賞信平台尸I叢出la至统奏田 Glbd附近人信息+) J日匕也公众寻谄息记录3二北盘众号信息
21、3 _j dbo芫注4 勺 dboKMA0 3 Tbo淒流瓶信息田二彗邇;电昌迅录阳_J日氐岩甌消息记录+1 二dbo.E-He+) _ dbclSBW息+1 二 dbc.5 dbm摇F信息出J dHc用户所在器1 _j dbo.S户信息i LJ视图1、向“用户信息”表添加记录,模拟微信在线用户。此次添加三个用户作为模拟的微信用尸。用尸基本信息如下:Fi 二 dboBB日丄列?用户ID CPK; diar(15I not null) 圍 炯称(charf201 not nulQ O 头俾(binaryflt nullji E 二ift码名片 Cbinaryfl), not null) J 我时
22、地址(yarchar(100K null) H 性别(char5L not null) (X 地区(varhar(20) not null) 国个性整宮 tvarch3r(500), null E 聲碓密冯(varchar(20L rot null)2、我们选取“小a”登陆微信,开始添加联系人。“联系人”表保存每个用户的联系人信息,这些联系人信息皆来自用户信息表。“小a”的联系人如下表:11AWD阳户ID朋友音注容标签1 00020001日删同学20M30M1NULLNULL匸he匚:churI15j此表的创建过程如下:nat nullfnat nullchar 20ivairchftr(20
23、) PQcziflit ralrt p 月户信見用尸 eristraiiit f r? fareign c&y勺 TIP ref-PTe-nPA 已白01,用户丿三皂 用户 ID-Z. Wttt 人-.-上兰云 I _3、普通用户发送消息时,消息内容将存储在“普通消息记录”表中,如现在“小 a”向“小b”发送一条消息,然后“小b”再回复一条。“小a”也向“小c” 发送一条消息。lJ列?诞身JD (PK, chr20jr not null) ?联AID (FK. char(151 nulQ* 用户【D (FK. eharflSL null)H 内容(varcharOCXK), not null
24、3 笈送Tj闫(datetime, not null)消息心联系人ID用户ID内斉发送时间1OOfflMI I0D02DOTI下牛5点去球场踢球20154)5-10 11:35:320402000002O10OT2可加下午球飙20154P5-10 11 36:1720730000030003MW1你好2015-05-1D12:&8:7E3J其中表中的外键约束和默认值如下:謀1号总匸詛He 曲旨鄭肖 思记晟 4口H匸詡卫口匸 二贬 fsieiffn.栄* 轶乔.二工匸曲口 用箭息,用户二Dalteu CiHblf吐口-音踰肖慮也泉 上吐比 =nj3trsint. 5kt fre-ign jrs矍
25、 H77 十- 冃3 :r:liter cahl靶 br.廿j扌肖.息X込录 aai 宏送时讪 daetine rrr 鬥:丨 default 店i:m皀t在”普通消息记录表”中也可以查询两个用户之间的聊天记录,如查询“小a”和”小b “之间的聊天记录丄駝贰页容发送fidJH班口茁 辱耄通逍息记录gtMAjS m(0001 *0002*) andinC0001 r *0002*)働国厳_j55_._发養时间1 | 卒砧丢殊琉殊 1 2015-0510 11:35:32.0402 可如 下午球场兄 20154&1D11 36:17207同样也可以在“普通消消息记录表”中实现删除消息记录。在“普通
26、消息记录”表中为了能使用户更快的查询自己的消息记录,这里创建了索引。create index用户快速查询记录on 昔通消息记录(用户KJ)4、“微信群信息”表中记录了所有用户创建的微信群的信息。由于在微信中群成员数量当前限制为40个,在本平台中我们设置为4个。并且每一个成员信息由外键引用自“用户信息”表。比如现在创建了两个个微信群如下:dbo.信誌信孕匕Li列f 辭ID (PK, elwr(2OX not null)ffl(chaD), not null I)U 群二(binary(l)( not null)f(Fchar15).notnull)成员2(FKrchar(15).null)?E&
27、S3(FK,eharflS).nullf成员4(FK,char(151null)匡口題 圧二的束 曰lJ鮭发器込剧户薛信息新塔ii I -a. I髀ID 群容称群二维码咸员1咸员2成员3成员4I CuySld 丄三:ij- iidll.Ibelinmt=他a月户护trfij用户】匚valu=s BcySdr qunxd)endifi gt-4id . - .-.|. ibeginZELsext iiitr: dbn 戶 户序在群 用户口群应 Ta_ue b ?zy4dr atr-mid L enU5、“用户所在群”表存储了每个用户所在的群信。每个用户可根据此表查询所 在群信息。当一个微信群被创
28、建后在“用户所在群”表中将自动显示用户所在群 信息。3二dbo.ffl户所在群曰口列?屈户D (PK F chirflS), not null6“群聊消息记录表”记录了每个群的消息。也可以查询历史记录。比如在群“羽毛球部落”中的消息记录。E二北。.脚ii清息记录m 列?舉耶;世息ID (PK, char(20)P not null) j* 岸ID (FKr charO). nullH 发崖人(char(2D), not null2 内客(varcharfSQOOX not null)J 岌5自1 间(small datetime, nullL、=,MM=B=W=iSF1HW= I群聊消层ID群
29、ID发送人发送时间1ODOOODDMI DOMI小d明天去打羽建球2015-05-1D 15:48:002OWOOM2D&M7小b下午去201)6-10 1545003(WMXXKXnooooi小C可以201M5-10 1543:004DOtMDDt/tXMDW01小c下牛迫20151015:50:00为了使得用户在查询群历史消息时更加快速,创建索引cr&ace index群消息快速產询 皿11X3 群聊消息记录(群工。|7、“公众号信息”表记录了所有公众号的信息。可以通过搜索公共号ID或名称 来订阅公众号。曰 dbm公雄信息 O ?!1?公0(号ID (PIC charl not nullJ
30、 公众号名祢(char(40)r not nJ IJ8、“关注”表中,存储了每个用户订阅的公众号。曰LJ列?用户【D (PK. FK, char(15), not null)?公众号【D (PK FK, char(20)J not null)-I給耒Kj消昱1用户IDUl IM! 0001处心IDQOT120002000230001DM34(KXM9、“公众号消息记录”存储公众号为订阅者发送的消息E二d bo,公众号i程息记眾日3列?公命輻ID (PK chM20), net null) 公众号ID (FK, charOX nullj_2 公众雀慝(varcbar(5000)r rrct null J间 ftimestamp, not null)公处消息ID公介号ID公烯息垸送时间诫假安排 2C154M 016:17:00OOO&DODM 0M2康政建设 20154)10 1:1S:M)WD00ODO6 OHM课程计划 20
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教 八年级 语文 下册 第3单元《11.核舟记 第1课时》课件
- 购买尿动力学分析仪项目可行性研究报告
- 克孜勒苏可行性研究报告
- 聚氨酯复合保温热水管项目可行性研究报告
- 刑事诉讼违法行为的法律后果
- 2026年及未来5年市场数据中国发酵工程行业市场全景评估及投资规划建议报告
- 钻孔灌注桩钢筋笼吊装方案
- 2025 高中信息技术数据与计算之算法的矩阵链乘法算法课件
- 急性ST段抬高型心肌梗死指南精要
- 智能农机装备应用与发展:技术赋能农业现代化
- 上交所2026校招笔试题
- 2026延安志丹县人力资源和社会保障局公益性岗位招聘(50人)笔试备考题库及答案解析
- 车间内部转运车管理制度
- 2026年山东省立第三医院初级岗位公开招聘人员(27人)笔试参考题库及答案解析
- 2026湖北武汉市江汉城市更新有限公司及其下属子公司招聘11人笔试备考题库及答案解析
- 2026年温州永嘉县国有企业面向社会公开招聘工作人员12人笔试备考题库及答案解析
- 2026年广东省辅警笔试题库及1套参考答案
- 2026年高考数学二轮复习:专题13 数列的综合大题(含知识融合)9大题型(专题专练)(全国适用)(原卷版)
- 交通电路处理 11
- 2026年时事政治测试题库100道附完整答案【考点梳理】
- 2025至2030中国变频器行业调研及市场前景预测评估报告
评论
0/150
提交评论