一、QQ數(shù)據(jù)庫(kù)是怎樣設(shè)計(jì)的
1、對(duì)于群成員上限的問(wèn)題,不是從數(shù)據(jù)庫(kù)層面解決的,而應(yīng)該有專(zhuān)門(mén)的“配額檢查”服務(wù)/邏輯,在群成員人數(shù)變化時(shí)用來(lái)判斷當(dāng)前群成員人數(shù)是否已超上限。而相應(yīng)的配額都是全局統(tǒng)一配置的,可變更;
2、對(duì)于快速找到聊天記錄的問(wèn)題,說(shuō)到底就是:緩存、分區(qū)與索引。
數(shù)據(jù)庫(kù)設(shè)計(jì)就是將數(shù)據(jù)庫(kù)中的實(shí)體以及這些數(shù)據(jù)實(shí)體之間關(guān)系進(jìn)行規(guī)劃和結(jié)構(gòu)化。
數(shù)據(jù)庫(kù)中創(chuàng)建的數(shù)據(jù)結(jié)構(gòu)的種類(lèi),以及在數(shù)據(jù)實(shí)體之間建立的復(fù)雜關(guān)系是決定數(shù)據(jù)庫(kù)系統(tǒng)效率的重要因素。
設(shè)計(jì)數(shù)據(jù)庫(kù)步驟:開(kāi)發(fā)一個(gè)項(xiàng)目需要經(jīng)過(guò)需求分析,概要設(shè)計(jì),(詳細(xì)設(shè)計(jì)),代碼編寫(xiě),運(yùn)行測(cè)試和上線維護(hù)幾個(gè)階段,下面重點(diǎn)討論在各個(gè)階段中數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程。
需求分析階段:分析客戶(hù)的業(yè)務(wù)和數(shù)據(jù)處理需求
概要設(shè)計(jì)階段:繪制數(shù)據(jù)庫(kù)的ER模型圖,用于在項(xiàng)目團(tuán)隊(duì)內(nèi)部、設(shè)計(jì)人員和客戶(hù)之間進(jìn)行溝通,確認(rèn)需求信息的正確性和完整性。
詳細(xì)設(shè)計(jì)階段:將ER圖轉(zhuǎn)換為多張表,進(jìn)行邏輯設(shè)計(jì),確認(rèn)各表的主外鍵并應(yīng)用數(shù)據(jù)庫(kù)設(shè)計(jì)的三大范式進(jìn)行審核,經(jīng)項(xiàng)目組開(kāi)會(huì)討論確定后,還需根據(jù)項(xiàng)目的技術(shù)實(shí)現(xiàn)團(tuán)隊(duì)開(kāi)發(fā)能力以及項(xiàng)目的經(jīng)費(fèi)來(lái)源,選擇具體的數(shù)據(jù)庫(kù)(如MySQL成 Oracle等)進(jìn)行物理實(shí)現(xiàn)。包括創(chuàng)建庫(kù)和創(chuàng)建表,存儲(chǔ)過(guò)程等,創(chuàng)建完畢后,開(kāi)始進(jìn)入代碼編寫(xiě)階段,開(kāi)發(fā)前后端應(yīng)用程序。
E-R圖:實(shí)體:所調(diào)實(shí)體就是指現(xiàn)實(shí)世界中具有區(qū)分其他事物的特征或?qū)傩圆⑴c其他實(shí)體有聯(lián)系的實(shí)體
屬性:屬性可以理解為實(shí)體的特征
聯(lián)系:兩個(gè)或多個(gè)實(shí)體之間的關(guān)聯(lián)關(guān)系
映射基數(shù):表示通過(guò)聯(lián)系與該實(shí)體關(guān)聯(lián)的其他實(shí)體的個(gè)數(shù),對(duì)于實(shí)體集X和Y之間的二元關(guān)系,映射基數(shù)必須為下列基數(shù)之一:
ER圖以圖形的方式將數(shù)據(jù)庫(kù)的整個(gè)邏輯結(jié)構(gòu)表示出來(lái):
矩形表示實(shí)體集;橢圓形表示屬性;菱形表示聯(lián)系集;直線用來(lái)連接屬性和實(shí)體集,也用來(lái)連接實(shí)體集和聯(lián)系集
延伸閱讀:
二、實(shí)例(instance)是什么
一組Oracle 后臺(tái)進(jìn)程/線程以及一個(gè)共享內(nèi)存區(qū),這些內(nèi)存由同一個(gè)計(jì)算機(jī)上運(yùn)行的線程/進(jìn)程所共享。這里可以維護(hù)易失的、非持久性?xún)?nèi)容(有些可以刷新輸出到磁盤(pán))。就算沒(méi)有磁盤(pán)存儲(chǔ),數(shù)據(jù)庫(kù)實(shí)例也能存在。也許實(shí)例不能算是世界上最有用的事物,不過(guò)你完全可以把它想成是最有用的事物,這有助于對(duì)實(shí)例和數(shù)據(jù)庫(kù)劃清界線。