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) 機能要件とは?(Functional Requirement)  (1-2) 非機能要件とは?(Non-Func …

プロセス構成図の書き方とサンプルのご紹介

  <目次> (1) プロセス構成図の書き方とサンプルのご紹介  (1-1) プロセス構成図の目的  (1-2) プロセス構成図の書き方  (1-3) プロセス構成図のサンプル (1) プロ …

APIの難しい部分を吸収し、手軽に検証するためのツール(Postman)をご紹介

  <目次> (1) APIの難しい部分を吸収し、手軽に検証するためのツール(Postman)をご紹介  (1-1) Postmanの概要  (1-2) Postmanの導入手順  (1-3 …

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

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

クラウドネイティブとは?(コンテナ、サービスメッシュ、マイクロサービス、イミュータブルインフラストラクチャ等)

<目次> (1) クラウドネイティブとは?(コンテナ、サービスメッシュ、マイクロサービス、イミュータブルインフラストラクチャ等)  (1-1) コンテナ  (1-2) サービスメッシュ  (1-3) …

  • English (United States)
  • 日本語
Top