阅读以下关于数据库设计的叙述,在答题纸上回答问题1至问题3。 【说明】 某软件企业开发一套类似于淘宝网上商城业务的电子商务网站。该系统涉及多种用户角色,包括购物用户、商铺管理员、系统管理员等。 在数据库设计中,该系统数据库的核心关系包括: 产品(产

admin2020-04-30  59

问题 阅读以下关于数据库设计的叙述,在答题纸上回答问题1至问题3。
【说明】
    某软件企业开发一套类似于淘宝网上商城业务的电子商务网站。该系统涉及多种用户角色,包括购物用户、商铺管理员、系统管理员等。
在数据库设计中,该系统数据库的核心关系包括:
产品(产品编码,产品名称,产品价格,库存数量,商铺编码)
商铺(商铺编码,商铺名称,商铺地址,商铺邮箱,服务电话)
用户(用户编码,用户名称,用户地址,联系电话)
订单(订单编码,订单H期,用户编码,商铺编码,产品编码,产品数量,订单总价)
    不同用户角色有不同的数据需求,为此该软件企业在基本数据库关系模式的基础上,定制了许多视图。其中,有很多视图涉及多表关联和聚集函数运算。
针对李工提出的问题,常见的解决手段有应用程序实现、触发器实现和物化视图实现等,请用300字以内的文字解释说明这三种方案。

选项

答案 应用程序实现:当业务逻辑新增订单、修改产品库存时,由应用程序同步修改该视图数据,所有修改操作视为一个事务,从而保证数据一致性: 触发器实现:在产品表和订单表上增加触发器,触发条件为修改订单(包括新增、删除、修改操作)或者修改产品库存,触发器逻辑为根据触发条件修改视图数据,保证数据一致性。 物化视图实现:将该视图定义为物化视图,物化视图直接将视图数据进行物理存储,并由DBMS自动保证数据的一致性。

解析     常见的解决手段有批处理操作、应用程序、触发器和物化视图。
    批处理操作指的是先更新交易表,当积累一定数量后,批量更新对应的销售和库存数据,使得数据一致,这种方法使得在一定时间内,数据一直处于不一致状态,基本不会被采用;应用程序方法指的是由应用程序同时更新两个数据,使得数据保持一致,但会增加应用程序的复杂性,改变了原来的业务规则;触发器方式指的是由数据库自动使用触发器来保持数据一致性,这也是数据库开发中解决反规范化操作缺点的推荐方法,缺点是需要编写额外程序,同时会对原有的事务操作的性能造成影响。
    物化视图方法则直接将视图数据进行物理存储,即将视图数据物理化,视图数据与原数据库表的数据,由DBMS自动保证数据的一致性,性能开销最小,而无须任何额外的程序或操作。
转载请注明原文地址:https://jikaoti.com/ti/Q067FFFM
0

最新回复(0)