[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp/index.php?FrontPage]] 「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>QandAAnalysisEngineの開発で検討したこと。#y76d0166]] --[[業務プロセス>QandAAnalysisEngineの業務プロセス]] --[[画面>QandAAnalysisEngineの画面]] --テーブル --[[SQL>QandAAnalysisEngineのSQL]] *目次 [#c60a5c23] #contents *概要 [#o2191fbc] テーブルについて、 マルチテナントを考慮したDBスキーマ設計を行う。 *IDについて [#o602f8a6] **分割キー(企業ID) [#t277dd45] 分割キー(企業ID)は、 -クラスタ化キーか、 -パーティション分割列か、 -シャーディング・キーか、 に使用する。 **VARCHARを使用するIDの「空文字列」の扱い [#nc7acc41] -GUID等を使用する場合。 -分割キー(企業ID) = 「空文字列」は「共通」など、~ 特殊な扱いをする可能性があるので使用しない。 **integerを使用するIDの「0」の扱い [#z2cbee33] -基本「0」からスタートする。 -例えば「0」は「共通」など、特殊な扱いをする可能性があるので使用しない。 *マスタ・データ [#q0b2cc70] **ユーザ系情報 [#qc850fca] ***ユーザ・テーブル [#d418947d] -&color(red){ID}; -&color(blue){分割キー(企業ID)}; -[[ログイン・アカウント]]~ ユーザーIDとパスワード -その他のユーザ情報 --フラグ(管理者ユーザ or 一般ユーザ) --店舗ID ***企業テーブル [#xd559879] -&color(red){ID}; -[[決済処理]]情報~ オンライン決済サービスの顧客ID -企業情報 --企業名 --企業住所 --電話番号 ***店舗テーブル [#hb29add3] -&color(red){ID}; -&color(blue){分割キー(企業ID)}; -店舗情報 --店舗名 --店舗説明 --電話番号 --・・・ ***端末テーブル [#b4c9d178] -&color(red){ID}; -&color(blue){分割キー(企業ID)}; -店舗ID -端末情報 --端末名 --端末説明 --・・・ **画面系情報 [#q49c0b68] ***画面テーブル [#v32bde1a] -&color(red){ID}; -&color(blue){分割キー(企業ID)}; -画面名 -画面説明 -画面URL -既定の画面初期化情報ID *トランザクション・データ [#d7a5a80d] **カスタマイズ情報 [#o314802e] ***Webリソース・テーブル [#nbdc99df] -&color(red){ID}; -&color(blue){分割キー(企業ID)}; -Webリソース・データ(バイナリ) ***画面初期化情報テーブル [#k28e64a3] -画面の初期化に必要になる情報 --画面テンプレートを画面初期化情報で初期化して画面を表示する。 --画面によってデータの構造が異なるので、[[非構造化データ(JSON)>画面初期化情報のJSONフォーマット]]を採用する。 --この画面初期化情報は、[[カスタマイズ画面>QandAAnalysisEngineの画面#f0937daa]]から編集可能にする。 -画面初期化情報の項目情報。 --共通 ---&color(red){ID}; ---&color(blue){分割キー(企業ID)}; ---画面ID ---有効期限(履歴) ---画面タイトル(画面初期化情報) ---追加の検索条件情報~ 追加の検索条件情報として登録する、~ 下記の非構造化データ(JSON)の値のキー情報を登録しておく。 --個別 ---[[非構造化データ(JSON)>画面初期化情報のJSONフォーマット]] ---CSSのURL(リンクを貼る方式にしたのでURL) **アンケート結果情報 [#f1b15e22] ***結果テーブル [#c40dcf09] -&color(red){ID}; -&color(blue){分割キー(企業ID)}; -画面初期化情報ID -検索条件 --既定の検索条件 ---店舗ID ---端末ID ---日付 --追加の検索条件~ DBMSスキーマ上にあれば、集計処理で検索条件として使用できる。~ 例えば、非構造化データ(JSON)中の以下の項目を検索条件として追加する。 ---画像IDとか ---画像キャプションとか。 -集計列~ ボタンID