
中山テック 代表の中山です。
さて、もうすぐ4月出会いの季節ですね。
新入社員も入社し、CRUD図との出会いの季節でもありますね。
データベースとの出会いはCRUD図との出会いでもあるので必要性を話していきたいと思います。
もし忘れていたのであれば今一度ご確認ください
Contents
CRUD図?
特に難しい話はありません。
この法則を知っていればどのような設計書かわかると思います。
【C】・・・Create。新規登録、つまりINSERTする場合はCで表現
【R】・・・Read。読み取り、つまりSELECTする場合はRで表現
【U】・・・Update。更新、つまりUPDATEする場合はUで表現(そのまんまですね)
【D】・・・Delete。削除、つまりDELETEする場合はDで表現
CとRがどんなものか?というのがわかれば難しい話ではないと思います。
何のために?

以前、PostgreSQLをインストールしてレコード追加する方法ブログで作った三冠馬を格納するテーブル。
このテーブルがどのような役割を果たしているか、CRUD図を見ることで判定するための指標になります。
例えば
・新しい三冠馬が生まれたら新規登録・・・C、つまりINSERTが必要
・三冠馬が古馬になってから勝ったGⅠレースを知りたい・・・R、つまりSELECTが必要
・登録している三冠馬が古馬GⅠ制覇したら更新・・・U、つまりUPDATEが必要
CRUD図で表現する場合はC、R、Uが必要です。
三冠馬が消えることはないので、Dは必要ありません。
後学のために
データベースを使用するプロジェクトは規模が大きい場合が多いです。
その場合、お金も動くので人も動きます。
熟練の方の場合はデータベースのつながりを気にしますので、この表は必要でしょう。
また、新卒の方であれば「データベースがこのような役割をしている」という教育もしやすくなります。
色々な意味を込めてCRUD図は作るようにしましょう。
証跡として
設計段階で作成しておくことで、お客様が「このテーブルはUとDはないんだな」
また別紙を作って「更新時はUNDOログとREDOログにこれだけ影響がある」まであると完璧です。
UPDATEとDELETEは件数にもよりますが、基本レコードが多い場合はすべきではありません。
トランザクションをコミットする際にサーバ処理に多大な影響を与えてしまいます。
そのようなことのないようにCRUD図は必要不可欠な図になります。
もし忘れていたのであれば今一度ご確認ください
まとめ
いかがでしたでしょうか。
CRUD図が必要な理由を説明しましたが、単純にテーブルの役割を示しています。
派生して、テーブルのUとDの際にログにどこまでの影響を与えるか記載する必要もあるでしょう。
深読みではなく、UNDOログもREDOログも最低限必要な情報になるのです。
出会いの季節にCRUD図との出会いで青春を謳歌して頂ければと思います!
中山テックでは下記のお仕事を承っています。
ホームページ制作系
ご料金はサービス内容・料金を参照ください。
■ホームページ制作
※ロゴ、バナーは外注となります
■SEO対策
Googleガイドライン診断、マネジメント、ブログ執筆など
システム開発系(SES請負契約向け)
■役職
プロジェクトマネジメント、PMO、リーダー、開発(要件定義~納品まで)
■スキル
工数見積(FP法)、折衝・提案、計画、調査、設計、実装(C、Java、クライアント系、SQL等)
データベース全般、テスト計画・項目作成、運用・保守
その他
Excel、プログラミングなどソフト系のお困りごと
対象地域
千葉県:東葛エリア(松戸市、柏市、我孫子市、市川市、流山市、船橋市、鎌ヶ谷市、白井市、浦安市) 他要相談
茨城県:取手市、土浦市、他要相談
埼玉県:三郷市、草加市、春日部市、他要相談
東京都:23区、他要相談
京都府:南区、他要相談
ご質問ございましたら、お問い合わせページよりご連絡ください。