多租戶的系統(tǒng)可以應(yīng)用這種模式的思想,將思想融入到系統(tǒng)的設(shè)計之中。

 

一、多租戶的系統(tǒng),目前在數(shù)據(jù)庫存儲上,一般有三種解決方案:

1.獨立數(shù)據(jù)庫

2.共享數(shù)據(jù)庫,隔離數(shù)據(jù)架構(gòu)

3.共享數(shù)據(jù)庫,共享數(shù)據(jù)架構(gòu)

這里我就系統(tǒng)的實際需求情況,選擇了第二種解決方案,下面簡單介紹下

 

二、數(shù)據(jù)庫我選用的是SqlServer,因為SqlServer自帶的Schema剛好符合這種需求。至于Mysql,Oracle的Schema應(yīng)該是有不同的設(shè)計,不同于SqlServer,這里我就只針對SqlServer而言。

如果你百度SqlServer的Schema方面的知識介紹,會有不少的Schema的語法介紹,但是很少有一套sql腳本針對多租戶設(shè)計的,我在這里做個整理。

1.創(chuàng)建數(shù)據(jù)庫

create database
SingleDbMultipleSchema
go

 

2.切換到目標數(shù)據(jù)庫

use SingleDbMultipleSchema
go

 

3.創(chuàng)建用戶并綁定登錄名并賦予默認schema

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

 

4.創(chuàng)建schema并授權(quán)默認用戶

create schema UserTempSchema  authorization UserTemp
go

 

5.補充建表權(quán)限(PS:這句sql找的好苦。。。)

grant create table  to UserTemp
go

 

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式