00:00
啊好,各位同学,那咱接下来呢就继续往下进行,那现在呢,我们再来看一下,就是维度设计要点当中的最后一个知识点,呃,这个相对比较简单啊来我们看一下这个最后一个知识点叫什么叫做多值属性啊,刚刚我们是不是讲了一个叫做多值维度的东西啊,对吧?那这个多值属性又是什么呢?来首先我需要明确的是多只属性它仍然是一个现象,是在我们设计维度表的时候可能会面临的一个现象啊好,那我们来看一下这个现象到底是啥样的啊,来看一下他说维度表当中的某个属性同时有多个值,我们就称之为多值属性,啥意思啊?首先维度表当中一个属性值其实就是一个什么,就是一个维度表的字段,对吧?好,那一个字段下边正常条件下会有几个值啊,大家说。比如举例子,我们现在呢,有一个用户维度,那用户维度我里边是不是可能会有各种各样的这个属性啊,对吧?比如说用户的姓名,用户的姓名,用户的生日,用户的手机号码等等等,他是不是可能会有各种各样的属性,那你想想每个属性下边他一般都是有几个值,是不是就一个值对吧?你性名一个人是不是就一个性别,性别一个人就一个性别呗,对不对,那通常是不是一个字段下面就一个值啊,对吧?但是呢,我们再去设计这个维度表的时候,你可能就会遇到一样一些特殊的情况,什么情况呢?那就是某个属性字段下面呢,它有多个值,哎,那这个现象我们就称之为多值属性啊OK,好,那在这儿呢,还是举一个具体的例子来,那这儿就以谁为例,咱们以商品维度为例,来大家回忆一下啊,这个商品维度对不对,它里边应该存储的是什么,是不是跟商品相关的各种各样的属性信息啊,对吧?来,那大家想一想,你说商品的属性信息可能有什么呀?比如说可能有商品的SKU的一些信息,比如说SKU的名称啊,S puu的名称对不对,品牌的名称一二。
01:51
三级分类,这是不是都是它的一些维度属性啊,对吧?好,那完了之后还可能会有谁?其实还可能会有两个属性,一个叫做平台属性,一个叫做销售属性,诶这两个概念大家现在还有没有印象?呃,之前在做采集项目的时候,应该特意的给大家说了这两个项,这两个概念吧,平台属性,销售属性对吧?OK,那我们现在简单的回忆一下吧,OK,可能有同学已经忘了啊,在这呢,我们就以一个为例吧,咱们主要以平台属性为例啊好,那比如现在呢,我们打开一个电商的首页,咱们就以京东为例啊好,那你打开这儿之后呢,比如说我们现在呢,想使用左边的这个分类检索的功能,去检索我们需要的这个商品,来我们点一下这个手机,这是一个三级分类对吧?好点进来之后,各位同学你看下边是不是展示出来的各种各样的商品,对吧?那上边展示出来的这个东西是啥呀。
02:42
呃,首先咱们先明确一点,就是这个东西从我们普通用户的角度来看,你说它是干啥用的,是不是就是帮助我们去筛选我们需要的那个商品的呀,对吧?OK,那我筛选的时候,我可以根据什么筛选,我可以根据品牌筛选,我可以根据屏幕的尺寸筛选,我可以根据这个什么低蓝光认证筛选啊对吧?热点系统C标型二我是不是可以根据这些东西去筛选,对吧?好了,OK,那这些东西我们都称之为是什么?诶是这些商品的平台属性啊,是这样的啊,你是根据这些平台属性去筛选相应的商品的,好,那现在呢,比如说我举个例子啊,咱现在比如说我是点一下这个品牌当中的某一个值,那这是属性,对吧?后边这些都是什么呀?是不是都是这个属性的值啊,对吧?好,那现在比如我点任意一个值,点一个小米,好,那完之后大家注意观察下边所展示出来的商品,这都是什么,是不是都是满足这个平台属性的一个商品啊,对吧?好,那我之后我比如说我再去点一下这个,呃,商品比如说在这儿呢,诶我点一下支持什么IPV6好,那下边是。
03:43
不,又出现了一系列的商品对不对,那OK,那再比如说呢,我这儿再点一个这个功率啊,充电功率,比如点大好了,完了之后呢,商品是不是又出现了一个呀,对吧?好了同学,那也就是说在这儿呢,我们点了这么多的平台属性啊,当然我其实点的具是具体的什么东西,我们点的实际上是值对吧,是值啊,你点了这么多平台属值之后,你会发现下边是不是就出现了诶某些特定的商品啊,对吧?然后要注意这个商品它是SKU还是s puu。
04:10
是ku还是puu,其实是ku吧,对,你看这里边是不是有具体的8G运存快速中电6.5要求,这应该是什么呀?应该是属于是一个SKU啊,是这样的,这个大家理解一下啊好了,那么这也就是我们上边选了这么多的平台属性之后,那下边能出现具体的SKU,对吧?那我们反过来看,你想一想,这个SKU跟这些平台属性之间,你说有没有关系,有关系吧,他肯定得有关系,他要是没有关系,那为什么我选了这些平台属性之后,那它就出来了呢?对吧?肯定是有关系的,对吧?那我们再延伸一步,那也就是说实际上这些平台属性,那就是谁的平台属性呢?是不是就是这个SKU的属性啊,没问题吧,也就是说OK品牌小米是它的属性,那OK,那支持IPV6也是它的这个属性,40~49瓦是不是也是它的一个属性啊,对吧,那就是我们刚刚所点的这些属性值,那是不是都属于这个SKU的平台属性的值啊对。
05:11
是吧,诶是这样的,OK,好,那也就是说将来我们再去设计这个商品维度表的时候,那你想一想,你说我应不应该在表当中增加一个平台属性的字段呢?应不应该怎么样,应该吧?哎,为什么我们前面提到过说我们在去设计维度表的时候,在确定维度属性的时候呢,我们应当尽可能多的去确定,诶是不是这个商品这个维度的属性啊,对吧?因为你属性越丰富,是不是支持的指标就越多,对不对?那所以说这儿既然跟SKU有关系,那所以说我就应当在设计维度表的这个时候呢,加上一个平台属性的字段,那平台属性这个字段下边的只有几个呢?大家来说,大家来看一下这个值有几个,平台属性的值是不是好几个,对吧?你像我刚才点的小米,这是不是它的一个平台属性的值对吧?OK,那IPV6是不是也是一个平台属性的值,那40~49瓦是不是也是它的一个平台属性的值啊,对吧?那当然我再点别的是不是可能还会有其他的属性值啊对不对?OK,那也就是说平台属性这。
06:11
这个字段下面了会有多个值存在,好了,那这实际上是不是就是一个典型的多值属性的问题啊,对吧?啊就是这样的,好了,那现在问题来了,这种多值属性我到底如何存储,怎么去存储呢?也就是我将来在设计一张表的时候,对吧?那我这个平台属性这个字段下边的值咱们怎么存对吧,里面有多个值啊对吧,咱怎么存?诶其实两种方案,首先我们先看第一种方案,第一种方案是怎么做呢?哎,他考虑到将多值属性放在一个字段,也就是说我这多个值我就放一个字段里边来啊是这样的,好,那怎么放呢?关键词好,那比如说我这儿呢,就有一个这样的属性值啊OK,那这这这就有一个这样的一个平台属性的字段,对吧?那我这多个值,我怎么放到这个字段里面来,我怎么放下来。哎,我能不能就直接,比如说我放一个数组对不对,然后里边呢,我放一个小米,那然后呢,我放一个IPV6,我放一个40,呃到49瓦,我能不能这么去放,这么放不行,为啥?很简单,你这么放的话,那你到时候你还知道哪个值代表的是什么属性吗?就不知道了,对吧?所以说你这么存肯定是不行的,你得怎么存,你要存你至少得存成是不是这种结构啊,得是k value的一个形式,对吧?KV建座的形式对吧?你比如说那我这儿要存的话,我就存品牌华为系统鸿蒙,然后CPU麒麟990,你说至少得这么去存才行,诶那OK,那对应到我们刚刚这个具体的例子,是不是就应该这么存品牌小米,然后呢,是否支持IV6支持,然后呢,充电功率是不是这个呀,对吧,你得这么去存才可以,那这就是我们去解决多值属性存储问题的第一种方案啊好了啊,那这个方案其实相对来说也是比较好理解了,行了,这个完成之后,咱们继续往下看,我们看看再再来看一下什么呢?第二种方案,第二种方案怎么去做的,他这么做的啊,他说将多值属性放到多个字。
07:59
字段,每个字段对应一个属性,啥意思啊?来,那我们现在就以这个例子为例吧,咱们以它来说明一下这个问题啊,那刚才我们说了,放在一个字段,咱要存是不是得这么存啊,对吧?那我假如我现在呢,我给它拆开,我放到三个字段,一个字段呢,我管它叫做品牌,下边是不是存一个华为就行了,还有一个字段呢,我管它叫什么系统,然后下边存鸿蒙,还有一个字段呢,我叫CPU,下边存麒麟990,你想想我这样能不能把这一个商品的多个平台属性值存储下来也是可以的,对吧?哎,但是你想一下,你说这么去设计这个平台属性,它有没有什么弊端呀?
08:36
有没有弊端,显然是有弊端的,他怎么说的,他说这种方案是不是只适用于多值属性固个数固定的情况啊,对吧?就啥意思啊,就是说假如说你所有的这个sko,我的平台属性都是一样的,个数一样,属性也一样,OK,你这么设计没问题,但是咱们真实的情况是这样的吗?那显然不是啊,对吧,你比如说我手机的平台属性,我会有什么品牌,我会有系统,我会有CPU,但是假如说你买的是大米,它会有什么品牌、系统、CPU这些属性嘛,它不会有啊,对吧?也就是说你针对于一个商品设计出来的这多个字段是可能不适用于其他的商品的,对吧?那所以说你用第二种方案去设计这个平台属性就不太合理了,所以说对于平台属性而言呢,在这儿呢,我们还是用说第一种方案更好一点啊,这个大家理解下理解吧,好了,那这实际上就是我们刚刚介绍的这个多值属性的一个问题,哎,两种解决方案,那这个呢,其实我们都有用的啊,到底选用哪种,这个其实取决于具体的情况啊,对于咱们这提到的平台。
09:37
属性,那我们就应该用第一种方案对吧?那假如说将来我们遇到了一个情况,就是这一个属性,呃,字段下边呢,这多个值是固定的对吧?那所有的这个维度对象对吧?我都是这样的三个值,那这时候你就可以给它放到三个字段啊,实际上这个大家是具体情况而定就行了啊,就是在后边呢,呃,我们真正去建维度表的时候,我们会有一个多值属性的具体的案例,咱们到那的时候再详细的去说啊好了,同学们,那截止到现在,呃,这个维度设计要点的最后一个咱也就讲完了,来视频我停一下。
我来说两句