多租户的系统可以应用这种模式的思想,将思想融入到系统的设计之中。

 

一、多租户的系统,目前在数据库存储上,一般有三种解决方案:

1.独立数据库

2.共享数据库,隔离数据架构

3.共享数据库,共享数据架构

这里我就系统的实际需求情况,选择了第二种解决方案,下面简单介绍下

 

二、数据库我选用的是SqlServer,因为SqlServer自带的Schema刚好符合这种需求。至于Mysql,Oracle的Schema应该是有不同的设计,不同于SqlServer,这里我就只针对SqlServer而言。

如果你百度SqlServer的Schema方面的知识介绍,会有不少的Schema的语法介绍,但是很少有一套sql脚本针对多租户设计的,我在这里做个整理。

1.创建数据库

create database
SingleDbMultipleSchema
go

 

2.切换到目标数据库

use SingleDbMultipleSchema
go

 

3.创建用户并绑定登录名并赋予默认schema

create login UserTemp with password = N'admin@123'
create user UserTemp for login UserTemp with default_schema = UserTempSchema
go

 

4.创建schema并授权默认用户

create schema UserTempSchema  authorization UserTemp
go

 

5.补充建表权限(PS:这句sql找的好苦。。。)

grant create table  to UserTemp
go

 

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式