目录
[【问题 1】](#【问题 1】)
[【问题 2】](#【问题 2】)
[【问题 3】](#【问题 3】)
[【问题 4】](#【问题 4】)
[【答案 1】](#【答案 1】)
[【答案 2】](#【答案 2】)
[【答案 3】](#【答案 3】)
[【答案 4】](#【答案 4】)
[【问题 1】](#【问题 1】)
[【问题 2】](#【问题 2】)
[【问题 3】](#【问题 3】)
[【答案 1】](#【答案 1】)
[【答案 2】](#【答案 2】)
[【答案 3】](#【答案 3】)
试题四案例
阅读以下关于该系统数据库的叙述,回答问题1至问题 3。
【说明】
在某电商系统数据库中设计如下关系模式:
订单表(orders)(订单号,用户编号,用户名称,商品编号,商品名称,优惠券编号,订单时间,订单金额,订单状态,用户vip等级)
用户表(users)(用户编号,用户名称,累计金额,用户vip等级)
【问题 1】
(1)分析订单表存在的函数依赖。
(2)订单表属于第几范式?为什么?
(3)对订单表进行分解,使其满足BCNF范式,给出分解后的关系模式。
【问题 2】
(1)分解是否保持函数依赖?说明理由。
(2)分解是否是无损分解?说明理由。
【问题 3】
补充触发器SQL代码空白:
CREATE TRIGGER update_vip_level
AFTER++(a)++ ON++(b)++
FOR EACH++(c)++
BEGIN
UPDATE订单表
SET用户vip等级=++(d)++
WHERE用户编号=:NEW. ++(e)++ ;
END;
【问题 4】
【答案】
【答案 1】
(1)订单号→用户编号,用户名称,商品编号,商品名称,优惠券编号,订单时间,订单金额,订单状态,用户vip等级
用户编号→用户名称,用户vip等级
商品编号→商品名称
(2)属于1NF(所有属性都是原子的)
不满足2NF:存在部分函数依赖(如用户编号用户vip等级)
(3)BCNF分解后关系模式:
订单表(订单号,用户编号,商品编号,优惠券编号,订单时间,订单金额,订单状态)
商品表(商品编号,商品名称)
【答案 2】
没有保持函数依赖。依赖用户编号一用户vip等级被拆分到不同表,无法通过分解后的表直接推导。
保持了无损分解。因为商品表交订单表=商品编号,能够推出商品表-订单表(商品名称)。
【答案 3】
(a) UPDATE (b)用户表 (c)ROW
(d):NEW.用户vip等级 (e)用户编号
【答案 4】
(1)性能问题
全量更新问题:当用户VIP等级变更时,需更新该用户所有历史订单记录
锁竞争问题:高频更新导致订单表锁争用,影响并发性能
(2)优化方案
方案1:异步批量处理,使用任务队列暂存更新请求,后台定时批处理。
方案2:消除冗余字段,直接删除订单表中的用户vip等级列,查询时实时关联。
试题五案例
阅读以下关于Web应用系统的描述,回答问题1至问题3。
【说明】
为了保障市民出行安全,提高出行效率,建设绿色交通,某城市委托某公司开发一个基于Web的地铁站智慧管理系统。该系统的主要需求分析如下:
(1)智慧指挥。对地铁站日常指挥工作提供所需信息,包括车站端和车辆端。其功能有视频巡检、客流热力图、列车位置、摄像头分布、预案管理和执行结果反馈;
(2)智慧运营。帮助站内调度人员实现各调度角色之间的调度命令,降低劳动强度,提高劳动效率,包括交接班管理、检修工作管理、工作日志显示、文档管理和事件查询等;
(3)系统管理。提供了角色管理、部门管理、摄像头管理、岗位管理、用户管理和联动管理等六个功能;
(4)地铁业务有明显的日常和峰值流量,涉及市民出行安全,应该注意系统和存储的高并发性、可扩展性和安全性。
该公司针对上述需求组建了项目组,经项目组讨论,决定采用MVC架构,使用SSM框架实现该系统。

【问题 1】
请用200字以内文字说明:
(1)什么是MVC架构?
(2)如何利用SSM框架来实现MVC架构。
【问题 2】
请基于对SSM框架的了解,补充完善图1的空白处(1)~(6),完成系统的软件架构图。
【问题 3】
云存储是一种通过互联网将数据存储在远程服务器上的技术,用户可按需访问和管理数据。项目组在讨论采用哪种云存储时,张工建议使用公有云、李工建议使用私有云,经讨论最终决定使用混合云,请比较公有云、私有云和混合云的区别,填写表1中的(1)~(9),并说明选用混合云的理由。

【答案】
【答案 1】
(1)MVC组件定义
Model(模型):业务逻辑与数据操作(如MyBatis处理数据库交互)
View(视图):用户界面展示(如JSP/Thymeleaf渲染页面)
Controller(控制器):接收请求并调度(如SpringMVC的@Controller路由)
(2)SSM实现MVC
SpringMVC实现Controller层:DispatcherServlet分发请求,@RequestMapping定义路由
MyBatis实现Model层:Mapper接口操作数据库,封装SQL逻辑
Spring整合View层:通过ViewResolver解析JSP/HTML模板,注入数据到视图
【答案 2】
(1) 表示层 (2) 数据存储层 (3) 平台层
(4) HTML (5) 系统管理数据 (6)智能决策
【答案 3】

相关推荐
Web应用系统全面解析:从架构设计到测试部署的核心要点
https://shuaici.blog.csdn.net/article/details/156718262数据库管理系统&关系数据库&非关系型数据库
https://shuaici.blog.csdn.net/article/details/149676562并发控制&数据库安全
https://shuaici.blog.csdn.net/article/details/150272219