http://www.imooc.com/article/285246?block_id=tuijian_wz

最近在设计一款进销存系统的时候,遇到一个分类的设计问题,就是如何将分类设计成数据库里的表,怎么样设计才比较灵活?

举个例子,一级分类:生鲜类,二级分类:蔬菜类,三级分类:青菜类,如果你将这三个分类设计成三张表然后连表查询,貌似也没什么不妥,但是,一张表就一个主键一个名字加一个创建和修改时间记录,不觉得很浪费吗?而且假设,仅仅是假设,如果是无限级的分类,你就无限的增加表的个数吗?显然工作量比较大,于是我将这三类统一放到了一张表里,字段如下:

如果是一级类,则level1和level2字段为0,如果是二级分类,则level2字段为0,如果是三级分类则这两个字段都不为0。然后是如何判断二级分类所属哪一个一级大类,用的是整除的办法,例如饮料属于一级分类里的食品类,101整除100,得到的是1,正好是主键为1的大类,同理其他的也是这样处理的。这样设计的好处就是,如果再加一级分类,我只需要增加字段即可。

作者:Caeser_
链接:http://www.imooc.com/article/285246?block_id=tuijian_wz
来源:慕课网

三级分类菜单的数据库设计相关推荐

  1. php获取表所有数据类型,php excel 导入 导入三级分类 表格应该怎么设计才能得到想要的数据格式?...

    就是多个1级分类 下面有不确定个二级分类 二级分类下面有不确定个三级分类 我想获取到相关的数据组合写入数据库 但是这个格式不知道怎么排才能获取到对的数据 有空的亲们给看看 帮下 谢谢 有没有办法获取整 ...

  2. js三级分类菜单导航

    原理很简单:点击标题的时候把子目录的id传给js函数,然后js函数判断是打开还是关上子目录. Code: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML ...

  3. 代理分账,三级分销,PHP数据库设计和接口开发

    场景: 在会员基础,后台升级会员为省代.市代.区代. A->B->C 省代A:直属下属B提成x1,直属下属C提成x2,直属下线普通会员D提成x3,本身消费提成x4 以此类推,每个代理自身消 ...

  4. php 读取三级分类,php excel 导入 导入三级分类 表格应该怎么设计才能得到想要的数据格式?汗血宝马...

    array (size=16) 0 => array (size=7) 0 => float 1 1 => string '销售部' (length=9) 2 => strin ...

  5. 文章分类标签数据库设计

    文章分类对应标签数据库设计 这是16 年写的文章.自己悠着看 几乎在大部分有管新闻列表项目中,都涉及文章与标签的设计,应该说比较常见.典型的例子.考虑了很多种办法,见识了三四种对应的关系,现在我来说一 ...

  6. 数据库设计-多级栏目(标题)分类设计

    数据库设计-多级栏目(标题)分类设计 文章目录 数据库设计-多级栏目(标题)分类设计 栏目表 内容表 栏目表 id cid cname 主键 栏目级别id 栏目名 栏目cid:一级栏目,二级栏目,三级 ...

  7. 中小型超市系统中的分类/产品属性/扩展属性的数据库设计

    中小型商城系统中的分类/产品属性/扩展属性的数据库设计 正文: 之前发表过一篇"商城系统中[商品扩展属性]的表单生成及客户端验证",部分童鞋对于后台数据库的设计比较感兴趣,于是今天 ...

  8. php三级分销思路 数据库设计_分销系统的用户关系,用户与推广链接的数据库设计。设计思路...

    简单点说二三级分销系统, 1.用户通过分享链接促成商品卖出,获取到一定比例的商品利润.2.用户促成交易获得一定比例的利润时,其上级用户也会获得一定比例的利润. 对于本人所设计的分销系统,与二三级分销系 ...

  9. mysql 分类标签表设计_如何进行文章分类和标签的数据库设计

    几乎在所有web项目中,都涉及文章分类和标签的设计,应该说这是一个比较常见.典型的案例.站长并不保证我的思路就是最好的,只是分享出来大家一起交流一下,互相促进与提高. 我们假设的开发项目是一个博客系统 ...

最新文章

  1. 使用浏览器访问 Linux 终端的方法
  2. #pragma使用分析
  3. linux动态库ppt,LINUX系统中动态链接库创建与使用补充_区块链白皮书代写|市场计划书项目PPT设计_Tbleg...
  4. 对于以太坊的Solidity语言介绍
  5. [机器学习-Sklearn]决策树学习与总结 (ID3, C4.5, C5.0, CART)
  6. 并发容器——ConcurrentHashMap
  7. linux 编译安装nginx,配置自启动脚本
  8. 3.凤凰架构:构建可靠的大型分布式系统 --- 事务处理
  9. python安装与开发环境搭建实验总结_python开发环境安装配置
  10. apollo源码分析 感知_Scikit-Learn 源码研读 (第一期)项目结构介绍
  11. java spark命令行执行参数
  12. CAD软件查看.dwg、.dxf、.dwf、.jpeg、.jpg、.png、.gif等文件
  13. Android 深色模式使用失效
  14. 不规则四面体知道六边的体积公式
  15. HTML5实现首页动态视频背景
  16. linux中dd命令详解,Linux基础知识之dd命令详解
  17. vue 获取元素宽高
  18. 技巧 | 使用基础绘图系统绘制「森林图」
  19. GOOSE报文分析_详解GOOSE服务
  20. 软件测试的培训机构靠谱吗

热门文章

  1. C#获取刚插入的数据的id
  2. commons-pool
  3. Python匿名函数——lambda表达式
  4. UVa 10026 - Shoemaker's Problem
  5. java-多线程-一道阿里面试题分析
  6. Direct3D提高篇:HLSL编程实现PhotoShop滤镜效果 - 伪 HDR/Blow
  7. idea 搜索不到gsonformat_Idea中GsonFormat插件安装
  8. leetcode 665. 非递减数列(贪心算法)
  9. leetcode 1046. 最后一块石头的重量(堆)
  10. 硕士可以跟别的导师做实验吗_如何成为一名导师可以成为双刃剑