SQL通用权限数据库表结构设计 - 实用 - lbx

####1、用户组表

CREATE TABLE [dbo].[rrl_group] (
	[Id] int NOT NULL IDENTITY(1,1) ,
	[name] nvarchar(50) NOT NULL ,
	[status] int NOT NULL ,
	[CreateUserId] int NOT NULL ,
	[CreateUserName] nvarchar(20) NULL ,
	[CreateTime] datetime NOT NULL ,
	[ModifyUserId] int NOT NULL ,
	[ModifyUserName] nvarchar(20) NULL ,
	[ModifyTime] datetime NULL ,
	[code] nvarchar(50) NULL ,
	[type] int NOT NULL DEFAULT ((0)) 
)

####2、权限表

CREATE TABLE [dbo].[rrl_rule] (
	[Id] int NOT NULL IDENTITY(1,1) ,
	[name] nvarchar(100) NOT NULL ,
	[title] nvarchar(100) NULL ,
	[status] int NOT NULL ,
	[CreateUserId] int NOT NULL ,
	[CreateUserName] nvarchar(20) NULL ,
	[CreateTime] datetime NOT NULL ,
	[ModifyUserId] int NOT NULL ,
	[ModifyUserName] nvarchar(20) NULL ,
	[ModifyTime] datetime NULL ,
	[pid] int NOT NULL DEFAULT ((0)) ,
	[url] nvarchar(150) NULL 
)

####3、用户表

CREATE TABLE [dbo].[rrl_user] (
	[Id] int NOT NULL IDENTITY(1,1) ,
	[username] nvarchar(50) NOT NULL ,
	[password] nvarchar(64) NOT NULL ,
	[name] nvarchar(20) NOT NULL ,
	[phone] nvarchar(20) NULL ,
	[dept] nvarchar(50) NULL ,
	[status] int NOT NULL ,
	[CreateUserId] int NOT NULL ,
	[CreateUserName] nvarchar(20) NULL ,
	[CreateTime] datetime NOT NULL ,
	[ModifyUserId] int NOT NULL ,
	[ModifyUserName] nvarchar(20) NULL ,
	[ModifyTime] datetime NULL 
)

####4、用户组-权限关系表

CREATE TABLE [dbo].[rrl_group_rule] (
	[id] int NOT NULL IDENTITY(1,1) ,
	[rule_id] int NOT NULL ,
	[group_id] int NOT NULL 
)

####5、用户组-用户关系表

CREATE TABLE [dbo].[rrl_group_user] (
	[id] int NOT NULL IDENTITY(1,1) ,
	[user_id] int NOT NULL ,
	[group_id] int NOT NULL  
)

ID为Guid的所有表结构创建SQL:

CREATE TABLE [dbo].[auth_group] (
[id] varchar(36) NOT NULL PRIMARY key,
[group_key] nvarchar(50) NOT NULL ,
[group_name] nvarchar(50) NOT NULL ,
[group_type] int NOT NULL DEFAULT 1,
[status] int NOT NULL DEFAULT 1,
[create_user_id] varchar(36) NULL ,
[create_user_name] nvarchar(20) NULL ,
[create_time] datetime NULL DEFAULT getdate(),
[modify_user_id] varchar(36) NULL ,
[modify_user_name] nvarchar(20) NULL ,
[modify_time] datetime NULL
);

CREATE TABLE [dbo].[auth_group_rule] (
[id] int NOT NULL IDENTITY(1,1) PRIMARY key,
[rule_id] varchar(36) NOT NULL ,
[group_id] varchar(36) NOT NULL 
);

CREATE TABLE [dbo].[auth_group_user] (
[id] int NOT NULL IDENTITY(1,1) PRIMARY key,
[user_id] varchar(36) NOT NULL ,
[group_id] varchar(36) NOT NULL 
);

CREATE TABLE [dbo].[auth_rule] (
[id] varchar(36) NOT NULL PRIMARY key ,
[pid] varchar(36) NULL ,
[rule_key] nvarchar(100) NOT NULL ,
[rule_name] nvarchar(100) NOT NULL ,
[url] nvarchar(150) NULL ,
[status] int NOT NULL DEFAULT 1,
[create_user_id] varchar(36) NULL ,
[create_user_name] nvarchar(20) NULL ,
[create_time] datetime NULL DEFAULT getdate(),
[modify_user_id] varchar(36) NULL ,
[modify_user_name] nvarchar(20) NULL ,
[modify_time] datetime NULL
);

CREATE TABLE [dbo].[auth_token] (
[id] int NOT NULL IDENTITY(1,1) PRIMARY key,
[user_id] varchar(36) NOT NULL ,
[token] nvarchar(50) NOT NULL ,
[status] int NOT NULL DEFAULT 1,
[create_time] datetime NOT NULL ,
[valid_time] datetime NULL,
[login_info] nvarchar(250) NULL 
);

CREATE TABLE [dbo].[auth_user] (
[id] varchar(36) NOT NULL PRIMARY key ,
[username] nvarchar(50) NOT NULL ,
[password] nvarchar(64) NOT NULL ,
[name] nvarchar(20) NOT NULL ,
[phone] nvarchar(20) NULL ,
[dept_id] varchar(36) NULL ,
[dept_name] varchar(50) NULL ,
[status] int NOT NULL DEFAULT 1,
[create_user_id] varchar(36) NULL ,
[create_user_name] nvarchar(20) NULL ,
[create_time] datetime NULL DEFAULT getdate(),
[modify_user_id] varchar(36) NULL ,
[modify_user_name] nvarchar(20) NULL ,
[modify_time] datetime NULL 
);

CREATE TABLE [dbo].[logger_2018] (
[id] int NOT NULL IDENTITY(1,1) PRIMARY key,
[log_type] varchar(10) NULL ,
[source_path] varchar(255) NULL ,
[message] text NULL ,
[user_id] varchar(36) NULL ,
[user_name] varchar(255) NULL ,
[log_time] datetime NULL DEFAULT (getdate()) 
);

**备注:**此处Id采用自增的形式,为了方便还是建议采用GUID,这样在插入数据之前即可知道Id的值,写入数据较为方便。此外,如果表直接建立了外键关系的话,数据传输将会很头疼,建议不要采用外键的形式。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值