Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

IT技術 (Technology)

CRUD図とは?の例や書き方のご紹介

投稿日:2021年9月24日 更新日:

 

<目次>

(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されないレコードは、永久的に残るデータであるか?(業務要件的に問題ないか?)
 

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-IT技術 (Technology)

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

排他制御における楽観ロックと悲観ロックについて

<目次> (1) 排他制御における楽観ロックと悲観ロックについて  (1-1) 楽観的排他制御   ●概要・仕組み   ●イメージ図   ●楽観的排他制御で起こり得る問題  (1-2) 悲観的排他制御 …

リトルエンディアンとビッグエンディアンの違いや概要

  <目次> (1) リトルエンディアンとビッグエンディアンの違いや概要  (1-1) 「リトルエンディアン」と「ビッグエンディアン」とは?  (1-2) どのようなシーンで利用される? ( …

hostsファイルとは?書き換えや反映の手順をご紹介(Windows編)

<目次> (1) hostsファイルとは?書き換えや反映の手順をご紹介(Windows編)  (1-1) hostsファイルとは?  (1-2) hostsファイルの主な用途  (1-3) hosts …

Interstageのワークユニット内でプロセスを分離する方法

  <目次> (1) Interstageのワークユニット内でプロセスを分離する方法  (1-1) STEP1:WUのサンプルの確認(1プロセス)  (1-2) STEP2:WU内で複数プロ …

バイナリエディタの使い方や見方(「アドレス」や「テキスト」とは?)

<目次> (1) バイナリエディタの使い方や見方(「アドレス」や「テキスト」とは?)  (1-1) バイナリデータ・バイナリエディタとは?  (1-2) バイナリエディタの見方  (1-3) バイナリ …

  • English (United States)
  • 日本語
Top