如何定义好java定义数据结构构来鎥ml中的数据

您所在的位置: &
从淘宝数据结构来看电子商务中商品属性设计
从淘宝数据结构来看电子商务中商品属性设计
电子商务网站如火如荼,究竟商品属性该如何设计?本文作者将从从淘宝数据结构来看电子商务中商品属性设计。
为什么要这样设计
先说几个需求,看看您现在是如何去实现:
一个用户来到我们网站,在前台页面,
1.他要买洗发水,他进入了洗发水的类别,他想买带去屑止痒功效的500ml的洗发水,能否直接搜索出来所有品牌带这个功效属性是500ml的洗发水
2.接着他要买一件T恤,他想买V领,短袖的T恤,能否直接通过2个属性搜索出所有品牌的T恤展示给他
3.他进入一个T恤的详情页面,由于白色卖的比较好,所以白色会比其他颜色贵一些,所以他选择不同颜色+不同尺码的搭配,就会显示出不同的价格以及是否有库存
1.统计某些商品某种属性销量情况和库存,反馈给仓库部门及时备货,比如海飞丝去屑系列的250ml的洗发水在这个系列中卖的最好,300ml的其次。A品牌XX大衣红色XL时间段内的销量和库存量。
2.这个洗发水在做一个阶梯价销售,买2瓶便宜2块,买3瓶便宜5块,需要给出这种组合的销售量数据给策划人员来说明阶梯价销售对消费者的影响
3.A品牌T恤分圆领,V领,7分袖,短袖,统计圆领和V领销量情况供买手或者设计师参考大众比较接受什么设计,以备下一次的采购。
4.这一年做了几十个活动,每个活动做了很多单品的搭配组合销售,比如500ml某种洗发水+黄色的眼霜等,我们现在没有做数据仓库和数据分析,那么要求sql语句来得到那种单品的销量情况,让我们可以能得知策划者的搭配到达了什么样的效果。
甚至变态一点,我们要统计我们店得面膜的销售,我要知道撕拉型的面膜,水洗式面膜,睡眠免洗式面膜中带美白功能,带抗皱功能,带控油功能等哪种卖的好一些,怎么办呢?
顺便扯一句,根据商品放置在页面的位置,深度,销量可以分析出某些品牌商品不需要放置在重要位置,某些对于我们来说利润高一点,或者销量不是很理想的商品放在重要位置或者排序在前来提高用户浏览量进而提高购买率。
如果不设计属性,这种搜索是很难进行的!如果不分的这么彻底,比如ecshop或者nopecomerce,那么你无法针对每个SKU设置组合搭配的价格和数量以及商家编码和SN号。
上一篇设计出现的问题以及解决办法
在上一遍文章中,有比较大的问题没有解决:
1.商品录入编辑界面编码实现过于复杂
2.如何通过属性搜索
3.按现在属性值属性表设计无法做到,如果A品牌洗发水有去痒止屑功效,B品牌洗发水同样有这个系列,无法搜索具有去痒止屑功效属性的所有洗发水的销量,因为现在的属性名和属性值表是1:N的关系,应该是N:N的关系
解决问题1:最简单的实现商品的录入界面:
498)this.width=498;' onmousewheel = 'javascript:return big(this)' alt="" src="/files/uploadimg/7000.jpg" />
498)this.width=498;' onmousewheel = 'javascript:return big(this)' alt="" src="/files/uploadimg/7001.jpg" />
在这里,我把商品的品牌和系列这个麻烦的东西分开了,为什么分开:品牌和系列导致2个属性名表和属性值多级引用,在实际代码实现过程中也会增加很多代码,增加复杂性.由于项目原因,这里只做了父子及关系,您在设计的时候,这里应该是品牌一张表,系列是父子及,有第3张表记录品牌与系列的多对多关系。为什么呢,只有这样,才能满足比如A洗发水有去屑止痒系列,B洗发水同样也有这个系列,那么才能方便的统计出去屑止痒洗发水的总的销售情况!
解决问题2.通过属性搜索
1.首先说明这个SKU和属性如何存储
498)this.width=498;' onmousewheel = 'javascript:return big(this)' alt="" src="/files/uploadimg/7002.jpg" />
498)this.width=498;' onmousewheel = 'javascript:return big(this)' alt="" src="/files/uploadimg/7003.jpg" />
498)this.width=498;' onmousewheel = 'javascript:return big(this)' alt="" src="/files/uploadimg/7004.jpg" />
在添加一个商品的时候,在pg_items表中保持商品的基本信息.
pg_item_sku表中保存sku信息,这个sku信息用来实现页面上的选择颜色,尺码这种组合不同价格,或者洗发水选择不同毫升数不同价格。
pg_item_attr表中保存所有属性信息,包括每个SKU的属性拆分之后的信息,这样的话,保证能通过每种属性来搜索商品。
比如我要搜索带有滋润功能的200ml的沐浴露,那么我的语句就是:
SELECT DISTINCT(dbo.pg_items.item_id),pg_items.name FROM dbo.pg_item_attr pa
INNER JOIN dbo.pg_items ON pg_items.item_id = pa.itemid
INNER JOIN pg_item_attr pa2 ON pa.itemid = pa2.itemid -- 组合
WHERE pa.p_id= AND pa.v_id=
AND pa2.p_id =
AND pa2.v_id =
我的做法是,通过属性值ID和属性名ID的组合组合成上面的语句,有多条就组合多次,这里按照我们一般的情况,是不会说组合到级联10几次的,如果您觉得不靠谱,欢迎提出出您的看法。
解决问题3.统计相同特性的不同商品的销售情况
如通过洗发水功效,服装的花色,衣领的样式来分析特性的不同对销售的影响.要实现在属性名和属性值表的设计的时候,应该是有第三张关系映射记录表来记录多对多关系。我这里还是偷懒了,因为我是针对淘宝的系统,拉下的属性已经是把3张表打横成了2张表,正好不用自己做了。如果是自己做系统,那就得考虑加上关系映射表.
这样设计的缺点
1.实现复杂
2.需要商品维护人员对自己商店卖的各种商品的属性,注重的统计的方面有个比较清晰的认识,学习成本高一点
3.策划,业务人员必须理解这样的设计,才能结合系统给决策带来所需要的数据
我觉得程序员应该对业务的理解仅次于项目的策划人和需求分析人员甚至比他们对某些商业模式更为理解,深入行业,了解行业的点点滴滴,有敏锐的需求的嗅觉,那么才能做出好的程序。而且程序是为业务服务的,如果不深入了解业务,那么很多时候程序会偏掉,举一个简单的列子,现在某衣服做一个活动,上午是200块,下午是150块,在晚上是100块,那么这个价格变动带来的销量就能给活动策划者提供强有力的数据支撑,我们也能学到背后的商业模式,为什么要这样做,如何做!(赚人气,打造爆款,清仓等)不然就写几行代码,搞搞表关系,有什么意思??其实里面的各种调调,比几行代码有意思太多了!
原文链接:/mmmjiang13/archive//2125640.html
【编辑推荐】
【责任编辑: TEL:(010)】
关于的更多文章
IE浏览器不支持很多CSS属性是出了名的,即便在支持的部分中,也
国内网盘的关停让用户操碎了心 下一个风口在哪
程序员的30岁,是个伤不起的现象。你不可能敲一辈子的
Hadoop Summit 2013 大会讲师 PPT 第二季重磅来袭!如
现在这天气到处都是高温,还是老老实实的呆在家里上网
黑客也有优劣之分。很显然对他们的奖励之一是利用黑客手段非法入侵我们公司的安全站点或个人系统。另一种奖励可能是他们的黑客行
51CTO旗下网站数据结构习题集答案_C语言版(严蔚敏 吴伟民)_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数据结构习题集答案_C语言版(严蔚敏 吴伟民)
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩110页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢君,已阅读到文档的结尾了呢~~
严蔚敏数据结构题集(C语言版)完整答案
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
严蔚敏数据结构题集(C语言版)完整答案
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口空间数据中矢量栅格一体化数据结构的内容 OSGeo中国中心 开放地理空间实验室
摘要: 1.基于线性四叉树的一体化数据结构
对于面状空间目标,在矢量数据结构中,主要使用边界弧段来表达;面在基于栅格的GIS中,一般用元子空间来充填。
基于线性四叉树的一体化数据结构是利用细分栅格网的方法,来提高点、线(包括面状目标的边界)数据表达的精度。基本栅格网和....
1.基于线性四叉树的一体化数据结构
对于面状空间目标,在结构中,主要使用边界弧段来表达;面在基于栅格的GIS中,一般用元子空间来充填。
基于线性四叉树的一体化数据结构是利用细分栅格网的方法,来提高点、线(包括面状目标的边界)数据表达的精度。基本栅格网和细分栅格网都采用四叉树的编码方法,即将采样点和线性目标与基本格网的交点用两个十进制的Morton码(Ml和M2)表示,简称M码。Ml表示该点所在的基本格网的地址码,M2表示该点对应的细分栅格网的Morton码,即将一个x,y坐标转换成两个Morton码。
2.基于栅格条带的一体化数据结构
这种数据结构的基本逻辑单元是条带,当数据按栅格方式组织时,每个条带在方向有固定的宽度,并对应着一组邻接的线划;每个条带包含有栅格成分,也有矢量成分,这两种成分用同样的栅格进行记录;每个条带的前沿(最小7值)记录为栅格格式的单个扫描行,并作为条带的索引记录,其中包含每根线条的标符釦交点的x坐标。所使用的栅格编码模式包含了地图线划在同一个记录中的所有交点,这样便于在一个条带的栅格部分与矢量部分之间作有效的连接。条带中其余部分的数据按矢量格式进行记录。在每个条带中所包含的多边形按扫描行交点顺序以x增大的方向排列。对于一个条带内部的多边形单独列出来,在索引记录中所标出的每条线的交点顺序地作为条带中每条矢量线段的端点。
版权所有: 非特殊声明均为本站原创文章,转载请注明出处:
元数据目录
地理空间开发类库
Copyright &
保留所有权利
OSGeo中国中心 吉ICP备号
Powered by}

我要回帖

更多关于 java 自定义数据结构 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信