やめたほうがいいテーブル設計 ~コードマスター~
コードマスターとは
コードマスターとは、システムで使用する複数の項目とそのコード値を1つのテーブルにまとめたものです。
(例)
項目区分 | コード | 名称 |
01 | a001 | 春 |
01 | a002 | 夏 |
01 | a003 | 秋 |
01 | a004 | 冬 |
02 | 0001 | 北海道 |
02 | 0001 | 青森 |
コードマスターの問題点
- 意味の異なる項目が1つのカラムに混在してしまう
上記例の場合、名称カラムに春、夏、秋、冬という、四季を表す項目と北海道、青森のような、都道府県を値に持つ項目が1つのカラムに登録されています。
これは、リレーショナルデータベースのテーブル設計思想に反するものになります。
- カラム名から登録される項目の推測ができない
上記例の場合、コードに対応した値のカラムのカラム名が名称となっています。
そのため、実際に登録されているデータを見るまで名称カラムに登録されている値が何であるかがわかりません。
そして、何が登録されているかわからないために、システムの運用・保守で問題があった場合に問題を特定することが難しくなります。
なぜなら、ソースコードだけでは、問題特定ができずに、テーブルに登録されたデータの中身まで範囲を広げて解析することになるためです。
- システムの拡張に伴うコードの変更に対応できない場合がある
テーブルはシステム開発の初期の段階で、登録可能な項目、桁数、そしてデータの型を決定します。
そのため、コードマスターに登録している項目のコードの桁数を変更する場合、変更が不要な項目のコードまで変更しないといけなくなります。
そして、システムの運用上、一部のコードの桁数の拡張がマストの場合、コードマスターに登録されているすべてのコードに対する修正および、テストが必要となります。
テーブル設計について学びたい方へ
達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ
- 作者: ミック
- 出版社/メーカー: 翔泳社
- 発売日: 2012/03/16
- メディア: 単行本(ソフトカバー)
- 購入: 21人 クリック: 316回
- この商品を含むブログ (24件) を見る
グラス片手にデータベース設計 ~会計システム編 (DB Magazine Selection)
- 作者: 梅田弘之
- 出版社/メーカー: 翔泳社
- 発売日: 2005/07/15
- メディア: 単行本
- 購入: 8人 クリック: 61回
- この商品を含むブログ (18件) を見る
グラス片手にデータベース設計~生産管理システム編 (DB Magazine Selection)
- 作者: 梅田弘之,渡辺時彦,羽田雅一
- 出版社/メーカー: 翔泳社
- 発売日: 2009/03/03
- メディア: 単行本(ソフトカバー)
- 購入: 2人 クリック: 6回
- この商品を含むブログ (4件) を見る
絵で見てわかるシステム構築のためのOracle設計 (DB Selection)
- 作者: 加藤健,前島裕史,岡田憲昌,有滝永,草薙康裕,小田圭二
- 出版社/メーカー: 翔泳社
- 発売日: 2012/02/21
- メディア: 単行本(ソフトカバー)
- 購入: 10人 クリック: 146回
- この商品を含むブログ (2件) を見る
実践的データモデリング入門 (DB magazine selection)
- 作者: 真野正
- 出版社/メーカー: 翔泳社
- 発売日: 2003/03/01
- メディア: 単行本
- 購入: 9人 クリック: 388回
- この商品を含むブログ (22件) を見る
勉強よりゲーム派の方へ
Nintendo Switch 本体 (ニンテンドースイッチ) 【Joy-Con (L) ネオンブルー/ (R) ネオンレッド】
- 出版社/メーカー: 任天堂
- 発売日: 2017/03/03
- メディア: Video Game
- この商品を含むブログ (35件) を見る
スーパーマリオメーカー 2 -Switch (【早期購入者特典】Nintendo Switch タッチペン(スーパーマリオメーカー 2エディション) 同梱)
- 出版社/メーカー: 任天堂
- 発売日: 2019/06/28
- メディア: Video Game
- この商品を含むブログを見る
大乱闘スマッシュブラザーズ SPECIAL - Switch
- 出版社/メーカー: 任天堂
- 発売日: 2018/12/07
- メディア: Video Game
- この商品を含むブログ (9件) を見る