00:00
嗯,好,各位同学,那咱接下来呢,就看一下dim层的第一张维度表,第一张维度表呢,咱这个叫什么叫做商品维度表,对吧?OK啊,那这个维度表呢,我们去设计它的时候呢,呃,是不是首先要做的工作就是干什么。又是干啥呀,是不是就是确定商品的主维表和相关维表了,对吧,那这个咱们得去哪找呢。去业务系统里找对吧,咱们得去业务系统当中寻找与商品相关的每张表,对吧?好,那接下来呢,咱们打开这个业务系统的这个数据库,咱们就去找一下啊,OK,那就摆在这儿了,那哪些是跟商品相关的这个表呢?咱们大家能想到的可能有SK info,有s PU info,对不对?那还有什么呢?比如说什么贝trademark,也就是咱们的那个品牌表对不对?那还有什么呢?呃,什么base categ123,这些是不是都是与咱们的这个商品相关的表啊,对吧?这些大家是容易想到的,但其实大家可能会忽略掉的,有谁还有谁呢?比如说那个平台属性表,销售属性表,这些是不是也都是商品的属性啊,没错吧,所以他们其实也都应该算作与商品相关的表,OK啊,那其实在这儿呢,咱们这么看可能不太直观,呃,我们还是找到之前的采集项目的文档啊,采集的项目的文档当中,实际上呢,有一个图已经给我们列出来了,就是与商品相关的所有的表了。来,我们找到采集项目第二一个文档,然后呢,找到那个电商表结构图往下翻,我们看后台管理系统的这个图啊来咱们点开看一眼。
01:35
哎,稍微等一下啊。好了,那点一下之后,这里边变红的表是不是都是与商品相关的呀,对吧,是不是都是与商品相关的?OK啊好,那接下来呢,咱们就需要先把这一大堆的表给它简单的熟悉熟悉啊,OK,好,那接下来呢,咱们去看一下这几张表,它具体的这个表结构,还有相应的逻辑是什么?那我在这儿呢,提前这个做好了一个单独的PPT啊呃,相当于是把刚才咱们看到的呃,那个与商品线路表都摘出来了,然后在这看咱们更清楚一点啊来,那现在呢,我把这个PPT放映一下,咱们一起给他走一下啊好了,那这就是我们业务系统里边跟商品相关的所有的表,那现在我们每张表去过一下啊,那首先我们先来看一下最核心的一张表,也就是谁呀。
02:18
最核心样表是谁?其实就是咱们那个SKU音份这张表对吧?这最核心的,那除此之外还有谁呢?啊SPU啊对不对,那左边是谁是品牌表,那下面的是三级分类表,123类,123级对不对?OK,实际上呢,这些表我觉得大家应该都觉得不陌生,也不会觉得它难,对不对啊,所以这些表呢,我就不再详细的去说了啊,你像比如举个例子啊,品牌表,那我这张表的表结构应该一眼就能想一一下就能想明白一行是不是应该是一个品牌啊对吧?那这个咱就不再一个去看了啊,这个都比较简单,难,可能难在哪呢?难在是不是后边这几张表上边对吧?我觉得大家对这几张表是不是可能不是那么的熟悉,对吧?那这些表都是跟什么相关的?
03:01
都跟谁样关?都是跟那个所谓的平台属性和销售属性相关的表,那在这儿呢,呃,我需要先带着大家去把这几张表熟悉一下,因为你只有把它熟悉了,我们是不是一会儿才能用它去设计咱们这个商品维度表,对吧?OK,那现在咱们把这几张表诶,给他系统的熟悉一下啊,实际上大家应该能看出来,那这六张表啊,其实他们上下呢是对称的,OK,上边三张表都是跟什么相关的,销售属性相关的,那下边这三张表呢,都是跟平台属性相关的,其实这三张表,这六张表啊,他们上下其实设计是非常相似的,诶所以在这儿呢,我们没必要全看,我们只看其中的三张就行了,那咱这看谁呢?我们就看下边这个三张,下边看是不是都是跟平台属性相关的呀,对吧,那接下来呢,咱们就来分析分析,就是这三张表,那他们到底是怎样的一个这个表结构啊,以及他们仨到底是怎样的一个关系啊,咱们琢磨琢磨,那首先我们先来把这三张表大致的熟悉一下,首先我先看第一张。第一张叫做平台属性表,对吧?它叫做base at tr info,那这个叫什么呢?叫做平台属性指表对吧?叫做base at tr value对,那上面这个叫什么呢?叫做SKU平台属性表里边这个表名叫什么呢?叫做Su at.Y好,那这三张表里边存的分别是什么内容呢?我们先来明确一下,首先我们先看第一张表。
04:27
这张表里存放的实际上是什么呀,这个之前大家有没有,就是之前老师有没有给大家提过呀,呃,可能提过,有可能没提过啊,提了可能也忘了是吧?啊,现在我再明确一下啊,实际上这张表里存放的是什么呢?是所有的平台属性名。平台属性名啊,这个所谓的平台属性名,大家这个是怎么理解的,怎么理解?那现在呢,我比如说我们去打开一个这个京东的这个界面啊,OK,那打开打开之后呢,我们还是先通过一个三级分类,呃,去找到一个这个手机分类,打完之后大家来看啊,这时呢,就是我们前面提到的所谓的这个平台属性啊,对吧?那什么叫平台属性呢?这就是属性名对吧?品牌屏幕尺寸对不对?充电功率,下边的游戏独立按键啊等等的这些都叫平台属性名对不对,OK啊好,那有名还有什么呢?其实还有一个平台属性值对不对,那OK,那这个品牌后边这些东西是不是都是它的属性值啊,对吧?那包括这里边那些东西都是这个属性的属性值啊,是这样的啊好,那下来我们再回到这个位置,那这个表里的就是那些所有的属性名,那这个呢,存的就是所有的属性值,OK啊好,问一下大家,你说这两张表它俩应不应该有关联关系?
05:40
肯定得有对吧?哎,肯定得有,而且是哪种对应关系呢?是一对多的关系对吧?应该是一个平台属性下边会有多个属性值,这应该是能想明白的啊好,那接下来我们继续往上走,那这个表里存的应该是什么?他存在该是什?他存在的是什么?这个大家能不能想明白?
06:02
其实这里边它存放的就是一个SKU和ATRY6的一个关联关系啊,为什么要存这个关联关系呢?你注意啊,存的是谁的关联关系,SKU和谁的属性值的一个关联关系,好,为什么会有这样的一个关系啊,这里边我觉得大家应该也能想明白,你看啊,我这儿是不是点任意一个属性值的时候,下边都会展现出具体的商品,而且这个商品是一个什么商品,是一个SKU吧,对不对?我每点一个属性值都会展示相应的商品,那所以从这个角度你来考虑一下,你说我的属性值跟SKU之间是不是得有关联关系,对吧?要没关系的话,为什么我点这个属性它就出来这些商品,我点那个属性值就出来那些商品呢?对吧?所以显然属性值跟SKU之间在后台是有一个关联关系的,好,那既然有关联关系,我现在问一下,你说它俩的关系应该属于是哪种,对吧?就是SKU和属性值应该是哪种关系?
07:03
是一对多呀,还是多对多呀,还是多对一呀,等等等等,琢磨琢磨。应该是多对多吧,为什么你想啊,你说我是不是一个属性值下边可能会有多个商品对不对?OK,你看我这些商品是不是都满足品牌是小米这个属性值啊,对吧?诶是这样,这个应该是能想明白的,好,那接下来再往反过来说,那你说我一个商品一个SKU是不是会对应多个属性值,没问题吧?OK,那所以说他俩应该是多对多的关系啊,多对多的关系在关系型数据库里边怎么解决来这个同学还能想起来吗?是不是加一个中间表对吧?实际上大家现在看到的这个表就是咱们所谓的中间表,你看这不SKU吗?这不是平台属性值吗?这不就是他俩的那个中间表啊,就这个意思啊,其实我们现在虽然没有看到这个表的表结构,但是你应该能想到,这张表当中最核心的两个字段应该是什么呢?应该就是SKUID和这个属性值的ID吧,是这个道理吧?诶,那这其实就是这张表的一个作用,咱给它搞清楚就行了,好了,那这三张表里边存的是什么,咱们大概已经清楚了,那接下来呢,我们再来熟悉一下它具体的表结构,来那现在我再点一下,大家看这就是这三张表具体的字段啊来,咱们现在主播来看一下啊,首先我们先看一下第一张表,这个是不是存放那个属性名称的表啊,对吧?里边最核心的一个字段就是at tr类,这不就是属性名称啊对不对?那这儿呢,还有一个ID,这个指的谁的ID呢?是不是就是这个名称的一个ID呀,对不对?OK,这个比较简单,好,那除了这俩字段,你会发现下边还有俩字段,什么category ID category level啥意思呢?这个category level是不是肯定是分类的级别呀,对吧,这个级别呢,可能是一,可能是二,可能是三,对吧?那如果他的级别是一,那我上面这个ID就是几级分类啊,一级分类吧,对不对,那如果是二,那上面是这个ID就是二级分类的ID对吧?等等等,也就是说,也就是啥意思呢?是不是我这个所谓的。
08:55
平台属性名称的表会去跟那个分类表有关联关系。
09:00
对不对?诶大家想想,你说为什么他俩要有一个关联关系,其实这个道理很简单,你想一想啊,哎,我是什么时候能够看到这些平台属性呢?我是不是得根据这种就是分类检索的方式去寻找商品,我才能看到这个平台属性,对吧?你想一想,那我点不同的这个分类,这儿展现出来的这个平台属性,你说它是相同的吗?肯定不一样,对吧?你点手机是手机的平台属性对不对,你点电脑是电脑的平台属性对不对?那所以说我这个平台属性跟你那个分类信息是不是得有一个关联对不对?哎,这一点咱们也要体会一下啊,但这块呢,咱们就了解一下就行。那接下来我们往后看看第二张表,这张表里它有什么字段呢?这个是不是用来存那个属性值的呀,对吧?那所以里边最核心的一个字应该就是value name对不对?OK,那当然前面提到过,这张表跟这张表它俩是有关联关系的,是一对多的关系,对吧?一对多这边是一,这边多,那正常情况下在关系数据库里边怎样解决这个关系来着?在多的这一边是不是它得有一个一那边的一个ID才行,对吧?那个ID是谁,是不是就它ad加ID吗?那他俩是不是就能关联上了,对吧?是这样的啊,当然下面还有一个ID,这个ID是谁的ID,是这个值自己的ID对吧?是值的ID啊,这个理解一下行了,那现在我们继续往上看,再看这张表,那实际上这张表呢,你琢磨琢磨,它里边最核心的字段应该是谁,是不是就他俩。
10:21
没问题吧,SKID关联SKUY6ID是不是关联Y啊,对吧?哎,那这个其实是,哎,这个就足够了,但是你会发现除了这俩字段之外,还有一堆的其他字段,对其他字段我其实都标注了,这都叫什么,都叫冗余,为什么是冗余的呢?来我们看看这这几个段都是啥,先看这个at t at t指的是什么,是不是指的应该是这个VALUE6所属的那个,呃,属性名称的ID啊,对吧?是这个道理吧?OK,那这个YD你说我有必要在这存着吗?没必要,我只要有value ID,我就是不是能够去关联这个属性值的表对吧?属性值的表里边是不是就有一个ad对吧?所以说我这块存这个ad理论上是没有用的啊,这就是一个冗余。OK,好,继续往我们,我们继续往下走,那这边这俩字段呢,一个是AR内,这个其实在这也是冗余的,为什么呢?你想啊,我是不是也能通过Y6ID去关联这个属性值表对吧,进而我是不是能够关联属性名称表对不对,进而不就能拿到AR内。
11:21
之类,诶这个其实也是冗余的,那包括这个value内是不是也能关联这张表拿到啊,对吧?那所以说除了这俩字段之外,其余的这个还有这个,还有这个都是冗余的一个存在,是这样的啊好了同学,那这实际上呢,就是与平台属性相关的这几张表,它的一个表结构OK啊好了,各位同学,那现在这几张表咱们熟悉的,接下来就得琢磨琢磨啊,就是我们需要从这几张表当中去拿哪些跟商品维度相关的信息。对不对,咱说白了,我们之所以要熟悉这张表,是不是将来我们要从里边去拿一部分我们这个商品维度的属性信息啊,对吧,那你想一想,你说我们应该拿哪些信息呢?
12:04
打哪些信息对吧,说白了就是最终你需要知道,OK,我的每一个SKU对不对,它里边应该有哪些平台属性对不对,这个平台属性的值是什么,是不是咱们得拿到这些信息才行,没问题吧?好,那你说我应该拿具体拿哪个字段琢磨琢吧。具体要拿的是不是应该主要就是谁,主要就是他俩啊AR name还有value name啊,主要就他俩对不对,那当然了,我们为了呃将来这个这个就是数据能够用的更加灵活一点呢,我们这还可以再把谁也放上呢。你把这俩ad给它放是不是也行,对不对,OK啊,这个ADID对应的是不就是这个内的IDY6ID是不是对应的是这个值的ID啊对吧,是这样的,那也就是在这呢,你最多最多能拿的信息其实也就是够了呢,你只要能拿到每个SKU的对吧,是不是这几个字段那就足够了呀,对吧?OK啊好诶,那这几个字段我是不是从这一张表里边就能拿到了。
13:02
大家说是不是这个道理,你看啊,我从这张表里是不是能够拿到每个SKU的平台属性的名称和属性的值,以及对应的ID是不是能拿到啊,是这样的,其实也就是说我要想拿到与SKU相关的平台属性,我其实只要这一张表是不是就足够了,这两张表我用得着吗?其实是用不着的,OK啊,那之所以用不着是因为啥啊,是因为这儿他做了冗余了,对吧?如果他这儿没有做冗余,他完全是按照那个三范式去设计这个表了,那是不是这几个字段本不应该存在于这张表对吧?要没冗余,那那你就只能老老实实怎么样了,把这几张表是不是都得拿过去,然后你再自自己去做join啊对吧?是这样的啊,也就他有了冗余,诶,那我们就省事了,我们这两张表其实就用不着了,那所以说我们之前在做这个数据采集的时候,这两张表我们根本就没有去做同步啊,用不着它,对吧,我们是不是只需要对它做一个同步就OK了呀,对吧?诶,这一点大家稍微的理解一下啊,行了,那这个完成之后呢,我们继续往回看,往回看,你说这三张表咱们要能搞明白,是不是这三张表也就搞明白对吧?来咱们简单说一下啊,这张表其实对应的就是它这里边放的是什么呀?是所有的销售属性的名称,大家还记得这个销售属性能在哪看到吧?在哪能看到,你别说在这儿呢,我随便点一个商品进去对吧。
14:22
诶之后大家来看下边这些其实就是什么呀,就是咱们所谓的销售属性的名称,那后边这些东西呢,就是销售属性的值啊,是这样的啊好,那现在呢,我们再回过头来看,那这里边存的就是销售属性的名称,这个呢,就是销售属性的值对不对?那这里边存的是什么呢?仍然是SKU和销售属性值的一个,哎,对应关系,那为啥他俩有一个关系,你想啊,我这是不是点任意一个属性值,这都会跳转到相应的这个SKU啊。对不对,OK,那所以说它俩肯定是有一个关系的,对不对啊,这个咱们就不再解释了,那就在这儿呢,它跟这张表是不是它俩作用是一样的呀,对吧?OK,也就是我们上下确实就是一个对称的设计,那同理啊,这张表当中也做了冗余,它也把属性的名称,还有值的名称,还有它们俩相应的ID都冗余在这张表里,那所以说实际上我们要为了拿到SKU的销售属性和平台属性,我们只需要拿谁就够了,只需要拿这两张表是不是就够了呀,对不对,OK啊好,那最终呢,我们就明确下来了啊,我们要想去做一张SKU这样的一个商品维度表,我们需要用到的这个业务系统的表呢,实际上呢,只有这几张,再加上他们俩是不是就够了,对不对,那这张表我们不要,这张表咱也不用拿,诶OK好了,那这这样一来的话,相当于就已经确定下来了,诶我们这个商品维度表,它的相关维表和主维表了,当然这里边的主维表咱们选那个力度最小,就是应该选择SKU,咱们选它对吧?是这样的啊,那完了之后其余的表呢,我们在这。
15:54
都称之为是什么表啊,相关的表啊,好了,那这样一来的话,商品维度的呃,设计的过程当中非常重要的一个环节,咱们就算是完成了,来,我把这个视频停一下啊。
我来说两句