数据库字段设计

数据库字段设计,第1张

mssql没用过,用oracle的提供下参考,在数据库里面定义一个自增序列,然后触发器读取上一个字段判断月份年份是否变化,变化就初始化一次序列,然后实现"SC"+"YY"+"MM'+序列,最后update就行了。

这个问题的核心点在于:不同商品类别差异很大,如何设计通用的存储方案?简单来说,用数据库去存储所有信息,不管横表还是纵表,都有明显的缺陷:横表:同一个字段对不同商品含义不一样,这到了后面开发和维护是很蛋疼的纵表:一个商品的属性分布到很多行记录中,业务处理很麻烦,而且纵表的记录数会非常多,性能会有问题所以不要尝试只用数据库去统一解决这个问题,思路扩散一些其实就简单了:公共表:提炼商品公共的信息放到数据库,例如商品id、名称、发布的商家、发布日期、上架状态扩展表:将变化的信息放到另外一个表,可以是数据库表,例如电脑商品一个表、服装一个表;也可以将信息放到MongoDB或者ElasticSearch这类文档数据库。搜索组件:扩展表在全文搜索的时候不好实现,因此需要独立的组件负责搜索,可以用Elastic Search或者Solr来冗余一份数据,用于搜索。表结构不算复杂,因为项目关系只有SPU,没有涉及到SKU,但是可以做参考,更多的还是要根据项目实际情况设计。重点说明一下产品表的SPU,Keyword字段。本来之前设计了关系表,但是发现在做SQL查询时太痛苦,所以约定了一种数据存储结构(数据结构的重要性)基于上面的基础,可以实现URL规则变化的查询,类似京东的产品查询URL变化c=1,3 指分类层次关系ev=3_1+4_18 指SPU查询 按约定规则转换成字符串再进行查询。

表结构如下表1,字段说明表主键id字段名(允许重名,用于多个Checkbox或Radio的多选,对于Textbox)字段类型,如TextBox或Checkbox字段长度默认值其它表2:用户录入表字段id(上表id)值用户id其它

商品表

库存表

销售汇总表 ( 日期、时间、收银机、流水号、总金额)

销售明细表 ( 收银机、流水号、商品编号、商品数量)

付款方式表 ( 收银机、流水号、付款方式[现金、卡]、付款金额 )

一:先抽象一个公用的“商品”实体,然后每一个具体的类型的商品继承这个实体,可是这样子设计的话,不同种类的商品一多的话,那么表就越多。感觉还是很糟糕。

二:直接在”商品“这个实体里添加多一个属性,属性的值按约定的规则(如键值对)来描述包括这个商品种类信息,这样子的话就只要一张表就行。不过这样子做的话,在展示商品信息需要在前台对这个属性值进行分离,感觉好像哪里不太符合规范。

树状结构的存储,都是按照你想到的方法来处理的(即所有节点保存在同一张表内,用一个父系字段来记录相互间从属关系)。递归导致效率低,那是没法子的事情。

如果需要从某节点触发,读出其所属的整棵树。一般做法是先通过递归,找出该节点的祖先节点(即树的根节点),再从根节点出发,一层一层的读出整棵树。

以上就是关于数据库字段设计全部的内容,包括:数据库字段设计、关于电商网站数据库的设计有什么好的建议、如何设计动态字段的产品数据库表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10181913.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存