网站建设需要了解的,做淘宝美工和网站设计那个好,北京南站到北京站,建设网站西安数据库设计 
某医药销售企业因业务发展#xff0c;需要建立线上药品销售系统#xff0c;为用户提供便捷的互联网药品销售服务、该系统除了常规药品展示、订单、用户交流与反馈功能外#xff0c;还需要提供当前热销产品排名、评价分类管理等功能。 
通过对需求的分析#xf…数据库设计 
某医药销售企业因业务发展需要建立线上药品销售系统为用户提供便捷的互联网药品销售服务、该系统除了常规药品展示、订单、用户交流与反馈功能外还需要提供当前热销产品排名、评价分类管理等功能。 
通过对需求的分析在数据管理上初步决定采用关系数据库(MySQL)和数据库缓存(Redis)的混合架构实现。 
经过规范化设计之后该系统的部分数据库表结构如下所示。 
供应商(供应商ID供应商名称联系方式供应商地址) 
药品(药品ID药品名称药品型号药品价格供应商ID) 
药品库存(药品ID当前库存数量) 
订单(订单号码药品ID供应商ID药品数量订单金额) 
【问题1】(9分) 
在系统初步运行后发现系统数据访问性能较差。经过分析刘工认为原来数据库规范化设计后关系表过于细分造成了大量的多表关联查询影响了性能。例如当用户查询商品信息时需要同时显示该药品的信息、供应商的信息、当前库存等信息。 
为此刘工认为可以采用反规范化设计来改造药品关系的结构以提高查询性能。修改后的药品关系结构为 
药品(药品ID药品名称药品型号药品价格供应商ID供应商名称当前库存数量) 
请用200字以内的文字说明常见的反规范化设计方法并说明用户查询商品信息应该采用哪种反规范化设计方法。 
答案 
表的反规范化设计由四种 
增加冗余列复制某一列数据。增加派生列增加派生列比如平均值求和等。表合并把两个不同表的列合并成一个表。表分割把写不常用的列拆分成新的表比如个人信息的地址拆分成单独的表减少查询压力这也是垂直拆分的一种。 【问题2】(9分) 
王工认为反规范化设计可提高查询的性能但必然会带来数据的不一致性问题。请用200字以内的文字说明在反规范化设计中解决数据不一致性问题的三种常见方法并说明该系统应该采用哪种方法。 
答案 
采用事务来保证冗余列在不同的表保证一致性要么全部成功要么全部失败。采用定时器批量处理适用于数据不实时更新。适用数据库的触发器在更新时候会自动更新其他表。 
1的话可能改动比较大综合实际情况供应商改动都不大这时候一般采用定时器就好。 【问题3】(7分) 
该系统采用了Redis来实现某些特定功能(如当前热销药品排名等)同时将药品关系数据放到内存以提高商品查询的性能但必然会造成Redis和MySQL的数据实时同步问题。 
( )Redis的数据类型包括String、Hash、List、Set和ZSet等请说明实现当前热销药品排名的功能应该选择使用哪种数据类型。 
( )请用200字以内的文字解释说明解决Redis和MySQL数据实时同步问题的常见方案。 
答案 
Zset非常适合排名使用。 
常见redis和数据库同步方案被动同步和主动同步。 
被动同步当每次新增和修改的时候去更新redis当没值的时候查询数据库把值赋值到redis当修改的时候也修改redis的数据。有不同步问题采用延迟双删解决 
延迟双删是在存入数据库之后睡眠一段时间再把redis数据删掉保证后面redis数据和数据库的一致 
主动同步主动在程序读取mysql的binlog日志把日志里的数据写入到redis。 web系统架构设计 
某公司拟开发一个智能家居管理系统该系统的主要功能需求如下1)用户可使用该系统客户端实现对家居设备的控制且家居设备可向客户端反馈实时状态2)支持家居设备数据的实时存储和查询3)基于用户数据挖掘用户生活习惯向用户提供家居设备智能化使用建议。 
基于上述需求该公司组建了项目组在项目会议上张工给出了基于家庭网关的传统智能家居管理系统的设计思路李工给出了基于云平台的智能家居系统的设计思路。经过深入讨论公司决定采用李工的设计思路。 
【问题1】(8分) 
请用400字以内的文字简要描述基于家庭网关的传统智能家居管理系统和基于云平台的智能家居管理系统在网关管理、数据处理和系统性能等方面的特点以说明项目组选择李工设计思路的原因。 
答案 
网关管理云平台更强可实现远程网关管理对不同地点的多种设备管理管理能力更强。 
数据处理数据一般通过网关上传到云数据库这样更容易处理和分析数据以及更安全和容灾性。 
系统性能在云平台上处理更强数据处理能力性能更好。 【问题2】(12分) 
请从下面给出的(a)~(j)中进行选择补充完善图5-1中空( )~( )处的内容协助李工完成该系统的架构设计方案。 
(a)Wi-FI 
(b)蓝牙 
(c)驱动程序 
(d)数据库 
(e)家庭网关 
(f)云平台 
(g)微服务 
(h)用户终端 
(i)鸿蒙 
(j)TCP/IP 答案 
1填写h用户端 
2填写i鸿蒙 
3填写g微服务应该填写f(云平台) 
4填写d数据库 
5填写f云平台应该填写e家庭网关 
6填写c驱动程序 【问题3】(5分) 
该系统需实现用户终端与服务端的双向可靠通信请用300字以内的文字从数据传输可靠性的角度对比分析TCP和UDP通信协议的不同并说明该系统应采用哪种通信协议。 
答案 
应该选择TCP保证传输的可靠性。 
TCP是一种面向连接、可靠的、基于字节流传输层通信协议。TCP之所以可靠因为建立了三次握手动作当丢包的时候则能重传保证可靠。 
UDP则是一种面向无连接的通信传输协议丢包了不会重传不能保证通信可靠性。