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

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

関連記事

Redmineのインストールを簡単に行う手順(Windows版、すぐに使える)

  <目次> (1) Redmineのインストールを簡単に行う手順(Windows版、すぐに使える)  (1-1) 概要  (1-2) STEP1:インストーラの入手  (1-3) STEP …

Confluenceでページ毎の閲覧者数を表示する方法について

  <目次> (1) Confluenceでページ毎の閲覧者数を表示する方法について  (1-1) ページ毎の閲覧者数の表示や、アクセス解析を行う方法について  (1-2) 試しにFree …

Power BIで複数テーブルをUNIONで結合する方法

  <目次> (1) Power BIで複数テーブルをUNIONで結合する方法  やりたいこと  初期状態  実施手順 (1) Power BIで複数テーブルをUNIONで結合する方法 やり …

no image

LangChainでConflueneceの内容を読み込む方法

  <目次> LangChainでConflueneceの内容を読み込む方法  やりたいこと  STEP0:前提条件  STEP1:事前準備  STEP2:Conflueneceページの読み …

no image

Gremlinとは?セットアップとHello Worldまで

<目次> (1) Gremlinとは?セットアップとHello Worldまで  概要  (1-0) STEP0:前提条件  (1-1) STEP1:Gremlin Consoleのセットアップ  ( …

  • English (United States)
  • 日本語
Top