2.15 主键与索引(新)

1.主键

1.1 什么是主键

  什么是主键呢?它是表单与表单之间为了做区别的唯一标识,比如请假单号,订单号,学号,卡号。《请假单》中当两个表单的“请假单号”都是“QJD-0001”时,不知道是指哪个请假单了;如果将“请假单号”设置为主键,当系统中已存在一样的“请假单号”保存表单时,弹出提示框提醒主键重复将无法继续保存。接下来我们以《请假单》为例看看如何设置主键。

1.2 如何设置主键

 《请假单》中“请假单号”是唯一标识,将“请假单号”设置为主键,在“公式设置区”打开“数据表管理”,找到“请假单号”行,在“主键”列上打上勾,将“请假单号”设置为主键,设置完成后,保存设置。
  《请假单》中已存在商品编号为 “QJD-0001”的表单,再新建并保存“请假单号”为“QJD-0001”的表单时,系统弹出提示框“保存表单失败,【请假单号】出现重复,请检查!”。通过设置相应的“主键”,我们就不需要靠人为的小心谨慎来保证数据的唯一,大大的提高了数据录入的效率。

1.3 什么是联合主键

  有些模板中需要将多个数据项为主键,可设置联合主键。比如《商品库存》中,不同仓库中不同商品的库存信息只有一条,“仓库”和“商品”不允许同时重复,在《仓库档案》中“仓库编号”是唯一标识,在《商品档案》中“商品编号”是唯一标识,因此在《商品库存》模板中把“仓库编号”和“商品编号”2个数据项设置为联合主键。
    注意:由于“联合主键”同时会将多个数据项设置为主键,为了让效率达到更大化,联合主键最多可设置3-5个数据项即可。

1.4 不设置主键

  当模板中没有唯一标识时,可不设置主键,保存模板时弹出询问框“主表缺少主键数据项”,确认后可继续保存模板。  

2.索引

2.1 什么是索引

   什么是索引呢?它相当于图书的目录,可以根据目录中的页码快速找到所需的内容,也类似于字典里的边旁部首快速定位搜索区间,在云表中设置合适的索引可大大提升搜索的效率;索引分常规和唯一两种类型。
  •   唯一索引,类似于主键,也是表单与表单之间的唯一标识,设置为唯一索引数据项的值不允许重复,比如《商品档案》模板中可将“商品编号”设置为主键,或者将“商品编号”设置为唯一索引也可以达到相同的效果。
  •   常规索引,常规索引数据项的值允许重复,比如 《商品档案》模板中可将“商品分类”设置为常规索引,多个商品的分类可相同。
  模板中可设置多组索引,如下图有2组索引,每组索引中可设置1个或者多个数据项(复合索引),每一组索引作为一个整体,在数据接口、业务公式、填表公式中需要匹配或判断时,会根据情况自动选择能匹配的索引组合。
  我们以在“查询指定供应商的入库单”为例学习索引的设置,此时可在《入库单》模板中将“供应商编号”作为一组索引。

2.2 如何设置索引

  在《入库单》的设计界面,单击【数据表管理】按钮,打开“数据定义管理”对话框,在右下方的工具栏中选择选项卡“索引”进入索引的设置,单击【添加索引】,设置索引的名称“供应商编号索引”,选择索引的类型“常规”,此时的索引还未绑定任何数据项,在下方的“数据项”旁单击【+】按钮,在数据项下添加这组索引需要设置的模板数据项“供应商编号”,如果有多个数据项可再添加。这样就设置好了,在一个模板中可设置多组不同的索引。

2.3 设置索引注意事项

  ①每组索引可以添加多个数据项,这多个数据项是按照从上往下的原则来进行筛选的,将范围大的数据项放在最上面,比如省、市,作为一组索引应该把省放在上面,市放在下面;
  ②如果一个索引能做到精准定位,那么就不需要再添加其它索引。比如“查找指定入库单中指定的物品信息”,可以在《入库单》模板中将“入库单号”和“物品编号”作为一组索引,“入库单号”放在上面,“物品编号”放在下面;如果是“查找某时间段的入库明细”,在《入库单》模板中再添加一组索引组合,只包含“入库日期”数据项即可。
  ③索引可提高查询速度,但是不当的设计可能会导致速度更慢,设计时应该考虑清楚需要设计怎样的索引。
  ④如果策略中使用了自定义条件查询,则本模板和关联模板的关联关系数据项都需要单独设置索引,才不影响系统正常运行,否则会降低查询的效率。
比如《生产任务》模板的策略中设置了自定义策略,数据源为《生产任务》与《工序》的交集,关联条件为 生产任务.工序编号 =工序.工序编号
自定义策略的过滤表达式中条件为 工序.部门编号
索引设置如下:《生产任务》已有的复合索引(包含工序编号),还需要单独再设置的“工序编号”的索引
《工序》的工序编号和部门编号都需要单独设置索引
2022-11-23
40 42