摘要:為幫助考生估分,希賽小編在考后為大家整理了2021年系統(tǒng)架構(gòu)設(shè)計(jì)師下午真題及答案解析(四),供大家參考。
試題四(共25分)
閱讀以下關(guān)于數(shù)據(jù)庫(kù)設(shè)計(jì)的敘述,在答題紙上回答問(wèn)題1至問(wèn)題3。
[說(shuō)明]
某醫(yī)藥銷售企業(yè)因業(yè)務(wù)發(fā)展,需要建立線上藥品銷售系統(tǒng),為用戶提供便捷的互聯(lián)網(wǎng)藥品銷售服務(wù)、該系統(tǒng)除了常規(guī)藥品展示、訂單、用戶交流與反饋功能外,還需要提供當(dāng)前熱銷產(chǎn)品排名、評(píng)價(jià)分類管理等功能。
通過(guò)對(duì)需求的分析,在數(shù)據(jù)管理上初步?jīng)Q定采用關(guān)系數(shù)據(jù)庫(kù)(MySQL)和數(shù)據(jù)庫(kù)緩存(Redis) 的混合架構(gòu)實(shí)
現(xiàn)。
經(jīng)過(guò)規(guī)范化設(shè)計(jì)之后,該系統(tǒng)的部分?jǐn)?shù)據(jù)庫(kù)表結(jié)構(gòu)如下所示。
供應(yīng)商(供應(yīng)商ID,供應(yīng)商名稱,聯(lián)系方式,供應(yīng)商地址) ;
藥品(藥品ID,藥品名稱,藥品型號(hào),藥品價(jià)格,供應(yīng)商ID) ;
藥品庫(kù)存(藥品ID,當(dāng)前庫(kù)存數(shù)量) ;
訂單(訂單號(hào)碼,藥品ID,供應(yīng)商ID,藥品數(shù)量,訂單金額) ;
[問(wèn)題1] (9分)
在系統(tǒng)初步運(yùn)行后,發(fā)現(xiàn)系統(tǒng)數(shù)據(jù)訪問(wèn)性能較差。經(jīng)過(guò)分析,劉工認(rèn)為原來(lái)數(shù)據(jù)庫(kù)規(guī)范化設(shè)計(jì)后,關(guān)系表過(guò)于細(xì)分,造成了大量的多表關(guān)聯(lián)查詢,影響了性能。例如當(dāng)用戶查詢商品信息時(shí),需要同時(shí)顯示該藥品的信息、供應(yīng)商的信息、當(dāng)前庫(kù)存等信息。
為此,劉工認(rèn)為可以采用反規(guī)范化設(shè)計(jì)來(lái)改造藥品關(guān)系的結(jié)構(gòu),以提高查詢性能。修改后的藥品關(guān)系結(jié)構(gòu)為:
藥品(藥品ID,藥品名稱,藥品型號(hào),藥品價(jià)格,供應(yīng)商ID,供應(yīng)商名稱,當(dāng)前庫(kù)存數(shù)量) ;
請(qǐng)用200字以內(nèi)的文字說(shuō)明常見的反規(guī)范化設(shè)計(jì)方法,并說(shuō)明用戶查詢商品信息應(yīng)該采用哪種反規(guī)范化設(shè)計(jì)方法。
[問(wèn)題2] (9分)
王工認(rèn)為,反規(guī)范化設(shè)計(jì)可提高查詢的性能,但必然會(huì)帶來(lái)數(shù)據(jù)的不一致性問(wèn)題。請(qǐng)用200字以內(nèi)的文字說(shuō)明在反規(guī)范化設(shè)計(jì)中,解決數(shù)據(jù)不一致性問(wèn)題的三種常見方法,并說(shuō)明該系統(tǒng)應(yīng)該采用哪種方法。
[問(wèn)題3] (7分)
該系統(tǒng)采用了Redis來(lái)實(shí)現(xiàn)某些特定功能(如當(dāng)前熱銷藥品排名等),同時(shí)將藥品關(guān)系數(shù)據(jù)放到內(nèi)存以提高商品查詢的性能,但必然會(huì)造成Redis和MySQL的數(shù)據(jù)實(shí)時(shí)同步問(wèn)題。
(1) Redis的數(shù)據(jù)類型包括String、 Hash、 List、 Set和ZSet等,請(qǐng)說(shuō)明實(shí)現(xiàn)當(dāng)前熱銷藥品排名的功能應(yīng)該選擇使用哪種數(shù)據(jù)類型。
(2)請(qǐng)用200字以內(nèi)的文字解釋說(shuō)明解決Redis和MySQL數(shù)據(jù)實(shí)時(shí)同步問(wèn)題的常見方案。
相關(guān)推薦:2021年系統(tǒng)架構(gòu)設(shè)計(jì)師下午真題及答案解析
熱點(diǎn)推薦:2021年下半年軟考真題及答案解析(匯總)
微信掃碼估分 提前知成績(jī)
軟考備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬(wàn)道題
已有25.02萬(wàn)小伙伴參與做題