字典表

本篇的字典表主要针对前端展示多层目录数据的一个设计。

相信我们在金山毒霸上看电影时,会有很多电影分类,可以更具国家的不同,年限的不同亦或电影种类的不同去查询自己想要看的电影类型,那么这么多分类在设计一般是不会将每种不同的分类都放在一个数据库表里面,如果这样做的话会带来很多不好的影响,比如这么多分类会占用多张表且每张表的数据都极少,同时也不利于对数据库表的管理,而是数据查询分类时,会进行多表联查,极度影响查询的效率。 那么如何解决这一问题呢,当然就是采用字典表。

 

本篇字典表的菜单对应结构如下:

字典表_第1张图片

 

本篇对应上述菜单结构的字典表设计如下(每条线的颜色区分对应的上下级菜单关系):

字典表_第2张图片

分析:所有菜单字段的parent_id对应的就是其上一层父菜单所对应的字段id,如果菜单字段的parent_id为0,那么说明其没有上一级菜单(父菜单),即parent_id为0的菜单就是顶层菜单。

扩展:可能有不止3级菜单的分类,但可以按照此字典表的设计延伸对多级菜单的设计,足以满足在项目开发中对多级菜单数据库表设计的需求。

总结:本篇菜单的分类设计如果按照正常数据库表的设计,就会有三个表 trade_table,scene_table,app_table,而trade_table与scene_table的每一条数据菜单都有关联下一级菜单的外建。但根据本篇字典表的设计就有效的将这三张表合并为了一张表,且有效的解决了多表联查导致查询效率低的问题,且有利于对分类菜单表的维护与管理。

 

你可能感兴趣的:(关系型与非关系型数据库系列)