之前写过利用bookshelf和knex进行简单的数据库操作的方法。这一片主要是写如何进行多表查询。
0 实际场景
有需求才会有动力,如果基本的单表查询可以完成所有工作,就不会有多表查询什么事了。我的项目由于涉及用户、角色、权限等多个实体,要设计出合理的数据库表结构,则需要将实体、实体与实体间的关系分开,就必然涉及外键的问题,有外键就一定会出现联合查询或者嵌套查询。
1 最终效果
最终效果如下图
2 数据库设计
采用何种方法一定和底层数据库的设计有紧密的关系,这里涉及到设计范式的问题,就不往下展开了。
先说一下我的数据库表的结构:
- approles表 (id,rolename)
- dbroles表 (id,rolename)
- webusers表