許可權管理資料表設計

2021-10-25 07:24:46 字數 3153 閱讀 5514

許可權管理資料表的設計

需要五張表,分別為(此處以mysql為例)

使用者表t_user

角色表t_role

許可權表t_permission

使用者角色表

t_user_rolet

角色許可權表

t_role_permission

使用者擁有什麼角色,這個角色擁有什麼許可權

使用者表(t_user)

create table `t_user` (

`uid` int(11) not null auto_increment,

`uname` varchar(10) not null,

`uage` tinyint(4) default null,

`uphone` int(11) default null,

`uaddress` varchar(20) default null,

`upwd` varchar(100) default null,

primary key (`uid`)

) engine=innodb auto_increment=25 default charset=utf8;

兩個使用者,user5為超級管理員擁有p1,p2許可權,user6為普通賬號,僅擁有p2許可權

角色表(t_role)

create table `t_role` (

`id` int(11) not null comment '角色id',

`role_name` varchar(255) not null comment '角色名',

`status` varchar(255) default null comment '角色狀態',

許可權表(t_permission)

create table `t_permission` (

`id` int(11) not null comment '許可權id',

`permission` varchar(255) not null comment '許可權',

`description` varchar(255) default null comment '許可權描述',

使用者角色表(t_user_rolet)

create table `t_user_role` (

`user_id` int(11) not null comment '使用者id',

`role_id` int(11) not null comment '角色id'

角色許可權表(t_role_permission)

create table `t_role_permission` (

`role_id` int(11) not null comment '角色id',

`permission_id` int(11) not null comment '許可權id'

查詢這個使用者擁有的許可權(查詢使用者id為5的使用者的許可權)

select

u.uid 使用者id ,

p.permission 許可權,

p.description 許可權描述

from

t_user u,

t_permission p,

t_user_role ur,

t_role_permission rp

where

u.uid = ur.user_id and

ur.role_id = rp.role_id and

rp.permission_id = p.id and

u.uid = 5

u.uid = ur.user_id and                   使用者表的uid   要等於  使用者角色表的user_id

ur.role_id = rp.role_id and             使用者角色表的role_id  要等於  角色許可權表中的role_id

rp.permission_id = p.id and           角色許可權表中的permission_id  要等於  許可權表的 id

因為是從四張表中查詢資料,所以表之間要有個關聯條件

使用者表和使用者角色表關聯, 使用者角色表和角色許可權表關聯,角色許可權表和許可權表關聯

查詢出uid為5的許可權,有p1,p2許可權

查詢出user6的許可權,僅有乙個p2許可權

資料表設計

在進行完了資料調研 需求分析 技術實現方案,進行資料設計。資料設計,往往包含兩個環節 在本專案中,我們所有的資料設計環節,只會涉及第二個,不會涉及第乙個。因為我們為了突出課程重點,也就是spark。所以主要還是集中在spark上面,就不要花時間去做hive etl了。設計mysql中的業務表的結構。...

資料表設計

資料表設計 三大正規化 第一正規化 列的原子性,每一列是不可再拆分的 若是還要查詢省份或地區,則該錶有誤,不滿足第一正規化,則應 第二正規化 表裡面的每一列都應與主鍵有關 範例 品種列亂入不和主鍵有關係,不滿足第二正規化 科考,人員代號和科目代號為聯合主鍵,姓名雖與人員代號有關,但在成績表出來前人的...

28 5 4 資料表管理

在圖 28.59 的 主目錄 頁面中單擊 方案 鏈結,開啟如圖 28.67 所示的 方案 頁面。從 資料庫物件 列表中單擊 表 鏈結,即可進入 表管理 頁面,如圖 28.68 所示。圖28.67 方案 頁面 圖28.68 表管理 頁面 1 建立資料表 在oem 中建立資料表的步驟如下所示。1 在圖2...