<目次>
(1) CRUD図とは?の例や書き方のご紹介
(1-1) CRUD図とは?
(1-2) CRUD図の例&書き方
(1-3) なぜCRUD図を作るか?
(1) CRUD図とは?の例や書き方のご紹介
本記事ではCRUD図とは?をご紹介するとともに、実際のCRUD図の例もご紹介して、イメージが沸くことを目標にしています。
(1-1) CRUD図とは?
CRUD図はシステムの様々な処理が、データに対してどのように影響するのか?を表すマトリクス形式の図です。具体的にはデータに対して「CREATE」「READ」「UPDATE」「DELETE」の4種類の処理が発生するか?で表現されます。これらの処理はDBMS(OracleやSQLServer)がデータベースのデータに対して行う操作であり、それらの頭文字を取って「CRUD」と呼んでいます。
(表)CRUDの各文字の意味
C
(CREATE) |
SQLの「INSERT文」に相当
(レコードの登録) |
R
(READ) |
SQLの「SELECT文」に相当
(レコードの照会) |
U
(UPDATE) |
SQLの「UPDATE文」に相当
(レコードの更新) |
D
(DELETE) |
SQLの「DELETE文」に相当
(レコードの削除) |
通常のシステムの開発は以下のような流れを経て開発されますが、CRUD図はその中でも「外部設計」の工程で作成するドキュメントになります。
(システム開発フローの例)
要件定義 → 外部設計(UI、帳票、IF、DB構造) → 内部設計(プログラム構成、部品間連携、処理の詳細) → 実装 → 単体テスト → 結合テスト → 運用テスト
(1-2) CRUD図の例&書き方
CRUD図は様々なフォーマットがあると思いますが、以下はオーソドックスな例です。
行(縦軸)には操作/処理を書いており、列にはデータ(テーブル/ファイル)が書かれています。そのマトリクスの交点には、操作/処理がテーブル/ファイルに対して行う操作(CREATE、READ、UPDATE、DELETE)の頭文字を記入します。
(表)
[ユーザー操作] |
顧客
テーブル |
支払い
テーブル |
注文
テーブル |
割引
テーブル |
領収書
テーブル |
在庫
テーブル |
商品
テーブル |
商品発送
テーブル |
顧客登録/照会 |
CR |
|
|
|
|
|
|
|
顧客情報変更/照会 |
RU |
|
|
|
|
|
|
|
支払いチェック |
R |
R |
R |
|
|
|
|
|
注文受付/照会 |
R |
|
CR |
|
|
|
|
|
注文修正/照会 |
R |
|
RU |
|
|
|
|
|
割引計算 |
|
|
R |
R |
|
|
|
|
料金計算 |
|
|
R |
R |
|
|
|
|
領収書発行 |
R |
R |
R |
|
C |
|
|
|
在庫登録/照会 |
|
|
|
|
|
CR |
R |
|
在庫修正/照会 |
|
|
|
|
|
RU |
R |
|
商品追加 |
|
|
|
|
|
|
C |
C |
>目次にもどる
(1-3) なぜCRUD図を作るか?
いくつか目的があると思いますが、以下は代表的な目的を記載します。
●性能の可視化
CRUD図を整理する事で、特定のテーブルにアクセスが集中していないか?といった性能面で負荷が掛かるデータがあるか否か?を視覚化する事ができるため、その対策を考える際のインプットとなります。
●データの矛盾チェック
CRUDを整理する事で、テーブルと処理の整合性をチェックするもできます。例を挙げると、以下のような観点の確認をする事ができます。
・CREATEされていないのに、READ、UPDATE、DELETEしようとしていないか?(矛盾)
・DELETEされないレコードは、永久的に残るデータであるか?(業務要件的に問題ないか?)
>目次にもどる