.NET 開発基盤部会 Wiki
目次 †
概要 †
テーブルについて、
マルチテナントを考慮したDBスキーマ設計を行う。
分割キー(企業ID) †
分割キー(企業ID)は、
- クラスタ化キーか、
- パーティション分割列か、
- シャーディング・キーか、
に使用する。
- 分割キー(企業ID) = 0 は共通みたいな。
- ・・・
マスタ・データ †
ユーザ系 †
ユーザ・テーブル †
企業テーブル †
店舗テーブル †
端末テーブル †
画面 †
画面テーブル †
- ID
- 分割キー(企業ID)
- 説明
- JSONテンプレート
トランザクション・データ †
カスタマイズ †
Webリソース・テーブル †
- ID
- 分割キー(企業ID)
- 店舗ID(オプション)
- 端末ID(オプション)
- Webリソース・データ(バイナリ)
画面初期化情報テーブル †
- 画面の初期化に必要になる情報
- 画面テンプレートを画面初期化情報で初期化して画面を表示する。
- 画面表示の前に、ユーザは店舗ID・端末ID(不足の情報)を指定する。
- 非構造化データ(JSON)
- 画面によってデータの構造が異なるので、
- コントロールに関する情報を非構造化データに格納する。
- 非構造化データのフォーマットにはJSONを採用する。
- 非構造化データ(JSON)をカスタマイズ画面から編集可能にする。
- 非構造化データ(JSON)のテンプレートは画面テーブルに設定しておく。
以下、画面初期化情報の項目情報。
- 共通
- ID
- 分割キー(企業ID)
- 画面ID
- 有効期限(履歴)
- 画面タイトル
- 追加の検索条件情報
追加の検索条件情報として登録する、
下記の非構造化データ(JSON)の
値のキー情報を登録しておく。
アンケート †
結果テーブル †
- 追加の検索条件
DBMSスキーマ上にあれば、集計処理で検索条件として使用できる。
例えば、非構造化データ(JSON)中の以下の項目を検索条件として追加する。