インデックスをはる参考資料となるCRUD図
CRUD図はインデックスをはるテーブルを見つけるのに便利
CRUD図は、画面ごとにアクセスするテーブルおよび、テーブルに対する操作をまとめた資料となります。
そして、CRUD図は、テーブルに対する操作を一覧でまとめているため、DB設計でインデックスをはるテーブルおよび、カラムを選択する際にあると便利な資料となります。
CRUD図とは
CRUD図は、画面ごとにアクセスするテーブルおよび、テーブルに対する操作をマトリクス形式で記載した資料です。
横軸に画面、縦軸にテーブル名を記載し、画面ごとに各テーブルに対して行う操作を"C"、"R"、"U"、"D"の文字を使用している記載していきます。
なお、"C"、"R"、"U"、"D"のそれぞれの文字が表すテーブルへの操作は以下の通りです。
- C:テーブルへのデータ登録
- R:テーブルに登録されているデータの参照
- U:テーブルに登録されているデータの更新
- D:テーブルに登録されているデータの削除
CRUD図の例
画面名/テーブル名 | 商品マスター | 顧客マスター | 伝票テーブル | 伝票詳細テーブル |
会員登録画面 | C | |||
会員情報変更画面 | RU | |||
商品検索画面 | R | |||
注文画面 | R | R | C | C |
注文取消し画面 | R | RD | RD |
上記例では、会員登録画面は顧客マスターの列に"C"が記載されています。
そのため、会員登録画面では、顧客マスターへデータの登録を行うことがわかります。
また、縦軸で見た場合、商品マスターは全ての行で空欄または、"R"のみの記載となっています。
そのため、商品マスターは画面からのデータの登録、更新、削除が行われないこととなります。
インデックスについて
インデックスは、リレーショナルデータベースでテーブルの検索のパフォーマンスを向上させるための機能です。
そのため、テーブルにインデックスをはることでシステムのパフォーマンスを向上させることが可能です。
しかし、インデックスが正しくはられていない場合、逆にパフォーマンスが劣化してしまうことがあります。
インデックスによるパフォーマンスの向上
インデックスによるパフォーマンスの向上が見込めるテーブルおよびカラムは以下の通りとなります。
《テーブル》
- 主にデータの参照で使用されるテーブル(データの登録、更新があまり行われないテーブル)
- テーブルのデータ量が非常に多いテーブル
データの登録や更新を行う場合、データの登録または更新時にインデックスの貼り直しが行われます。
そのため、インデックスをはったテーブルは、登録、更新のパフォーマンスが劣化する場合があります。
(更新の場合は、インデックスをはった列以外の列に対する更新であれば問題ない)
また、テーブルのデータ量が少ない場合は、テーブルのフルスキャンの方がパフォーマンスが有利になります。
データ量が少ないテーブルへのインデックスのはりつけは、A41枚の資料にわざわざ目次のページを1枚添付するようなものです。
《カラム》
- 登録されるデータの種類が多く、そして データの重複が少ないカラム(バラバラなデータが登録されるカラム)
- 抽出条件や結合条件に使用されるカラム
CRUD図からインデックスをはるテーブルを探す
CRUD図は、画面ごとのテーブルの操作を一覧でまとめております。
そして、インデックスをはる場合は、データ量が多く、データ参照が中心となっているテーブルを探す必要があります。
そのため、インデックスをはることでパフォーマンス向上が期待できるテーブルを探す場合は、CRUD図を縦方向に見ていくことで該当のテーブルを探しやすくなります。
また、ある特定の画面のパフォーマンス向上のために、テーブルにインデックスをはった場合に、逆にパフォーマンスが劣化する可能性がある画面の洗い出しも可能です。
そして、インデックスをはることでパフォーマンスが劣化する可能性がある画面を洗い出すことで、パフォーマンスの劣化がシステムとして許容できるかどうかの議論が可能となります。
例えば、パフォーマンスの劣化の可能性がある画面が、初期導入時に登録したら二度と更新しないような画面のみであれば、無視しても問題ないという判断も可能です。
なお、テーブルにインデックスをはることで影響がある画面は、インデックスをはるテーブルを縦方向に見ていき、"C"、"U"、"D"が記載された行の画面となります。
データベースに関する本
達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ
- 作者: ミック
- 出版社/メーカー: 翔泳社
- 発売日: 2012/03/16
- メディア: 単行本(ソフトカバー)
- 購入: 21人 クリック: 316回
- この商品を含むブログ (24件) を見る
データの正規化とER図: 構造化分析手法の基礎を学ぶ スキルズ・オン・デマンド研修プログラム
- 作者: アイ・ラーニング
- 発売日: 2015/07/02
- メディア: Kindle版
- この商品を含むブログを見る
- 作者: ほしやま
- 出版社/メーカー: 株式会社ナレッジウェア
- 発売日: 2013/12/19
- メディア: Kindle版
- この商品を含むブログを見る
システム設計に関する本
システム設計のセオリー --ユーザー要求を正しく実装へつなぐ
- 作者: 赤俊哉
- 出版社/メーカー: リックテレコム
- 発売日: 2016/02/26
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法
- 作者: 増田亨
- 出版社/メーカー: 技術評論社
- 発売日: 2017/07/05
- メディア: Kindle版
- この商品を含むブログ (4件) を見る
システム設計の謎を解く 改訂版 強いSEになるための機能設計と入出力設計の極意 (Informatics&IDEA)
- 作者: 高安厚思
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2017/12/16
- メディア: 単行本
- この商品を含むブログを見る
その他
【話題】[M]ロバート秋山プロデュース! 体ものまねTシャツ BOTY 梅宮辰夫 仮装 ハロウィン コスプレ おもしろ ロバート 秋山 芸人 お笑い【売れ筋】 M
- 出版社/メーカー: boty
- メディア: ウェア&シューズ
- この商品を含むブログを見る
サンアート おもしろ食器 「 アルコール摂取適量 」 メモリ付 ビールグラス・ジョッキ 435cc クリア SAN1982
- 出版社/メーカー: サンアート
- メディア: ホーム&キッチン
- クリック: 1回
- この商品を含むブログを見る
サンアート おもしろ食器 「 もうしません 」 謝罪 マグカップ 270ml 白 SAN2327
- 出版社/メーカー: サンアート
- メディア: ホーム&キッチン
- この商品を含むブログを見る
- 出版社/メーカー: Penxxiemay
- メディア: エレクトロニクス
- この商品を含むブログを見る
【国内正規品】 Ryze トイドローン Tello Powered by DJI
- 出版社/メーカー: DJI
- メディア: Camera
- この商品を含むブログ (3件) を見る
ラジコン RC ホンダ Honda S660 HAC1813 (ホワイト)
- 出版社/メーカー: 株式会社ハック
- メディア:
- この商品を含むブログを見る