---
# System prepended metadata

title: マスターデータのコードの扱いについて

---

# マスターデータのコードの扱いについて


マスターデータのコードの扱いについて
各マスターテーブルにシステムID(主キー),データ状態のカラムを追加します。
コードがユニークでなくなるので、レコード上重複していきます。
重複させる理由としては過去データとの紐づけが必要になるからです。



## システムIDとは
IDENTITIYプロパティを使用し連番とします
開始値は1で、+1ずつカウントします　
　`IDENTITIY(1,1)`
## データ状態とは
対象データのコードが有効か無効かを格納するカラム
システムよりコードで呼び出した場合に有効のものを参照する
### データ例
**マスターテーブル**

| master_id | コード | 状態 | 名称 |
| --------- | ----- | --- | --- |
|       1 |  0001  | 無効 | 名称1 |
|       2 |  0001  | 無効 | 名称2 |
|       3 |  0001  | 無効 | 名称3 |
|       4 |  0001  | 有効 | 名称4 |
*システムからコードで呼び出した場合、ID=4のマスターデータが参照される*

**データテーブル**

| data_id | master_id | 試験値 |
| -------- | -------- | -------- |
|      1 |         1 | 1.00 |
|     10 |         2 | 2.00 |
|    20 |         3 | 3.00 |
|     30 |         4 | 4.00 |
DATAID=1のデータを読込時、MASTERIDよりデータ参照を行い CODE = 0001 名称=名称1が表示される
*※コードの再読込を行った際は名称4が読込まれる*

マスタープログラムのコード入力時とデータ保存時にコードのデータチェックを行い
同一コードでデータ状態が「有効」のものがないかの確認が必要
**→有効がある**
　警告を表示し、対象データのデータ状態をユーザー自らが無効に変更する必要がある
**→有効がない**
　保存を実行
　
