.NET 開発基盤部会 Wiki
目次 †
概要 †
マルチテナントを考慮したDBスキーマ設計を行う。
分割キー(企業ID) †
分割キー(企業ID)は、
- クラスタ化キーか、
- パーティション分割列か、
- シャーディング・キーか、
に使用する。
マスタ・データ †
企業テーブル †
店舗テーブル †
端末テーブル †
ユーザ・テーブル †
- ID
- 分割キー(企業ID)
- IsRoot?(IsAdmin?)
- ログイン・アカウント
- UID
メールアドレス(企業のドメインと一致するものを使用)
- PWD
PWDをDBに登録する場合は、SaltedPasswdを保存する。
画面初期化情報テーブル †
- 画面の初期化に必要になる情報
- 画面テンプレートを画面初期化情報で初期化して画面を表示する。
- 画面表示の前に、ユーザは店舗ID・端末ID(不足の情報)を指定する。
- JSONのテンプレートは画面テーブルに設定しておく。
以下、画面初期化情報の項目情報。
- 共通
- ID
- 分割キー(企業ID)
- 画面ID
- 有効期限(履歴)
- 画面タイトル
- 追加の検索条件情報
追加の検索条件情報として登録する、
下記の非構造化データ(JSON)の
値のキー情報を登録しておく。
画面テーブル †
- ID
- 分割キー(企業ID)
- 説明
- JSONテンプレート
画像テーブル †
- ID
- 分割キー(企業ID)
- 店舗ID(オプション)
- 端末ID(オプション)
- 画像データ(バイナリ)
トランザクション・データ †
結果テーブル †
- 追加の検索条件
DBMSスキーマ上にあれば、集計処理で検索条件として使用できる。
例えば、非構造化データ(JSON)中の以下の項目を検索条件として追加する。