【说明】某软件企业开发一套类似于淘宝网上商城业务的电子商务网站。该系统涉及多种用户角色,包括购物用户,商铺管理员,系统管理员等。

分类: (高级)系统分析师 发布时间: 2023-11-03 05:24 浏览量: 2

【说明】某软件企业开发一套类似于淘宝网上商城业务的电子商务网站。该系统涉及多种用户角色,包括购物用户,商铺管理员,系统管理员等。在数据库设计中,该系统数振库的核心关系包括:产品(产品编码,产品名称,产品价格,库存数量,商铺编码)商铺(商铺编码,商铺名称,商铺地址,商铺邮箱,服务电话);用户(用户编码,用户名称,用户地址,联系电话)订单(订单编码,订单日期,用户编码,商铺编码,产品编码,产品数量,订单总价)不同用户角色也有不同的数据需求,为此该软件企业在基本数据库关系模式的基础上,定制了许多试图。其中,有很多视图涉及到多表关联和聚集函数运算。【问题1】(8分)商铺用户需要实时统计本商铺的货物数运和销售情况,以便及时补货,或者为商铺调整销售策略。为此专门设计了可实时查看当天商铺中货物销售情况和存贷情况的视图,商铺产品销售情况日报表(商铺编码,产品编码,日销售产品数量,库存数量,日期)。数据库运行测试过程中,发现针对该视图查询性能比较差,不满足用户需求。请说明数据库视图的基木概念及其优点,并说明本视图设计导致查询性能较差的原闪。

视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。视图优点如下:1)视点集中视图集中即是使用户只关心它感兴趣的某些特定数据和他们所负责的特定任务。这样通过只允许用户看到视图中所定义的数据而不是视图引用表中的数据而提高了数据的安全性。2)简化操作视图大大简化了用户对数据的操作。因为在定义视图时,若视图本身就是一个复杂查询的结果集,这样在每一次执行相同的查询时,不必重新写这些复杂的查询语句,只要一条简单的查询视图语句即可。可见视图向用户隐藏了表与表之间的复杂的连接操作。3)定制数据视图能够实现让不同的用户以不同的方式看到不同或相同的数据集。因此,当有许多不同水平的用户共用同一数据库时,这显得极为重要。4)合并分割数据在有些情况下,由于表中数据量太大,故在表的设计时常将表进行水平分割或垂直分割,但表的结构的变化却对应用程序产生不良的影响。如果使用视图就可以重新保持原有的结构关系,从而使外模式保持不变,原有的应用程序仍可以通过视图来重载数据。5)安全性视图可以作为一种安全机制。通过视图用户只能查看和修改他们所能看到的数据。其它数据库或表既不可见也不可以访问。如果某一用户想要访问视图的结果集,必须授予其访问权限。视图所引用表的访问权限与视图权限的设置互不影响。由于日销售产品数量基于订单统计而得,而订单表是一张大表,数据量可能非常大,导致统计耗时。