画面テーブルと正規テーブルについて
2019.03.18 05:35
定義
画面テーブル
画面で表示するためのデータを横持ちするテーブル
正規テーブル
データを正規化して持っているテーブル
命名規則
画面テーブル
コントローラ名と同じテーブル名とする
正規テーブル
持っているデータに応じたテーブル名とする
データ作成方法
画面テーブル
- 画面からデータを保存したときに、テーブルにレコードが追加される
- 正規テーブルに変更があったときに、リフレッシュ処理をファンクション実行し、画面テーブルを再構築する
正規テーブル
- アップデート処理をファンクション実行することで画面テーブルから正規テーブルに値を反映する
データ関連性
controller_tables テーブルに、画面テーブルと正規テーブルの関連情報を持たせる
- 画面テーブル名 ( controller_table_name )
- 正規テーブル名 ( data_table_name )
- 最終同期日時 ( last_sync )
データ整合性
規則
複数のユーザーが同時に、同じ画面で、同じデータに対して処理を行おうとした場合、
- 先にデータを開いたユーザーはすべての処理を実行できる
- 後から開いたユーザーは参照処理のみ実行できる
実現方法
画面テーブルは locked_switch カラムを持つ
- 1 = locked
- 0 = not locked