天天看点

数据库五表关联查询

1基于角色访问控制RBAC

1.1RABC数据库设计

数据库五表关联查询

1.2RABC实现流程

  1. 基于菜单实现:
  • 在创建系统用户时,为用户绑定对应的角色。
  • 当登录成功进入主页面,根据用户查询角色,再根据角色查询到当前用户的权限列表。

2主页菜单的加载显示功能

根据不同管理员身份加载并显示当前管理员可以操作的菜单。

五表查询语句(子查询,速度较慢)

-- 2.根据管理员ID查询管理员拥有的权限菜单(5表关联) 
SELECT menu_name FROM tb_menus WHERE menu_id in(
SELECT menu_id FROM tb_role_menu WHERE role_id in(
SELECT role_id FROM tb_mgr_role WHERE mgr_id='10000002'
)
)
           

查询的结果

数据库五表关联查询

五表查询语句(连接查询,速度快)

-- 3.五表关联查询,连接查询
SELECT * FROM tb_mgr_role a 
INNER JOIN tb_role_menu b 
INNER JOIN tb_menus c
ON a.role_id=b.role_id 
AND b.menu_id=c.menu_id 
WHERE a.mgr_id='10000002'
           

查询的结果 

数据库五表关联查询