ER図とは データベース設計 が うまくいく 書き方 を わかりやすく 解説

webアプリ開発、webサイト制作でも登場する ER図とは 何かを解説します。ER図 は データベース設計 に直結します。DB設計で重宝 される ER図 書き方 を わかりやすく まとめて、解説したいと思います。

ER図は、システム、ホームページが扱うデータの関係性をまとめた資料で、データベースの設計工程で作成される資料です。だいたい、要件整理、情報整理が得意な人が書く ER図は データベース設計がきっちりできます。そのため、あとで、システム開発時、サイト制作時に、システム開発がつまったりしなくなります。

最近では、ER図を書くことをサポートしてくれるツールも多いです。

そこで、

  • ER図とは
  • ER図 何に使うの?
  • ER図 ツール は?
  • ER図 書き方 は?

といった課題、疑問をお持ちの方向けに、この記事を見てもらえればうれしいです。

ER図の基礎知識、情報をまとめた記事になりますので、ER図 についての知見を高めたい!あるいは、もっとER図の書き方を学びたい!というエンジニア、プログラマー、SE、webディレクター、web設計担当、web担当、web制作者向けの記事になります。ER図 わかりやすく 書けるようになると、結構重宝されますからね。

ER図とは

ER図とは、データベース設計で使う資料で、Entity Relationship Diagram の略称がもとになっています。

ER図は、日本語で、イーアールズと呼ばれます。

ER図を簡単に言えば、データの相関性、関係性をまとめた図です。データベースを俯瞰的に、見れるような図なんですよね。

ER図は、

  • エンティティ
  • アトリビュート
  • リレーション

などで構成されています。

ちなみに、ER図は、さまざまな書き方があります。本当は、8~10種類ほど、書き方があります。

しかし、現状、メジャーなER図の書き方は、

  • IE記法
  • IDEF1X記法

になります。

ER図の書き方は、会社や、ER図を書くエンジニアによって、変わってきます。

ER図 何に使うの?

ER図は、データベースが必要な

  • webアプリ開発
  • システム開発
  • webサイト制作

で活用される資料です。

納品物のドキュメントとして、

  • ER図
  • テーブル定義書

がセットになっていることがほとんどですね。

webシステム開発、webアプリ開発、webサイト制作の設計では、データベースを用いることが多いので、ER図もだいたい作ります。

ただし、wordpressで作る、ほぼ静的に近いホームページ制作では、求められることはほぼありません。なぜなら、DBをカスタマイズしないからです。

ER図 ツール

ER図を書く時、サポートしてくれるツールが増えています。データベースを使ったwebサイト制作、システム開発の需要が増えているので、ER図を書けることは、需要にマッチするわけです。

ER図 ツールについて、いくつかご紹介します。

Lucidchart

Lucidchart 公式 ホームページ
https://www.lucidchart.com/pages/ja

Lucidchartは、無料から、利用を始められるER図作成のサポートツールです。

リレーションなどを明確にして、データベース構造をわかりやすくしてくれます。

Lucidchartの操作は、ドラッグアンドドロップが基本。

なので、Lucidchartの使い方はとても簡単で直感的です。

DBMSからERD図を自動的に作ることもできたりします。

MySQL、Oracle、SQLServerなどのデータベースにエクスポートできるのも便利です。実態がかけはなれないのでいいですね。

Draw.io

Draw.io 公式 ホームページ
https://app.diagrams.net/?src=about

Draw.ioも無料で、ER図を作れるクラウドツールです。

Draw.ioは、作成したER図を、クラウド環境にもおけます。たとえば、ER図を、Googleドライブ、Dropboxにおけるんです。

リモートワークにも適しているツールなんですよね。Draw.ioは。

言語選択機能もあるので、オフショア開発にも便利です。

GitMind

ER図 ツール gitmind

GitMind 公式 ホームページ
https://gitmind.com/jp/

GitMindも、無料でER図作成に使えるツールです。

めちゃくちゃ豊富な図、アイコン。これらを使用できるので、効率がいいです。

また、GitMindは、テンプレートが多いので、ちょっとしたER図であれば、テンプレートから、ざくざく作れます。

デスクトップ版のアプリもあるGitMindなら、機密性の高いER図の作成にも便利です。セキュリティを配慮しているんでしょうね。

URLで共有できるのも、GitMindのいいところですね。

ブレーンストーミング、マインドマップ作成にもつかえます!

ER図 書き方 わかりやすく

ER図 書き方 わかりやすく まとめてみたいと思います。

エンジニア向けに解説するというよりかは、ER図の書き方を把握して、いろいろな人がER図についての理解を深められればと思います。

ER図を書く方法としては、情報整理、情報集約が大事です。なので、設計メンバーを集めて、1時間なり、時間を決めて、DB設計を進めると速いです。

ER図 書き方 7つ の フロー

個人的には、ER図を書く際のフローとして、以下を進めています。

わかりやすくするために、細分化すると、

  1. シナリオ設計
  2. ユースケース図作成
  3. データ項目 洗い出し
  4. データ項目 マスタ トランザクション に 区分け
  5. 属性 洗い出し
  6. 画面 書き出し
  7. ER図 作成

というER図 書き方 フローになります。

個別に解説を書くと。。。

シナリオ設計

システムシナリオを考えましょう。

そのために、ユースケースを書きましょう。

ユースケースは、誰が、何をできるか?をまとめるかんじです。

ECカートでの注文なら、消費者が、商品、商品数、規定料金、配送先を入力して、モノを買える

みたいなかんじです。

もっと細かく書けば、クレジットカードで決済とか、本人住所を入力できるとか、いろいろありますが、割愛しますね。

ユースケースをまとめて、シナリオを設計していきましょう。

データ項目 洗い出し

ユースケースを書いていくと、どんなアクションで、どんなデータが必要となるかが明確になります。

商品名

住所

商品数

などが、データですね。

そのデータ項目を、箇条書きなりで、まとめていきましょう。

洗い出す感じです。

データ項目 マスタ トランザクション に 区分け

洗い出したデータの項目を、マスタとトランザクションに区分けします。

マスタは、都道府県のデータなどで、変わらない、ほぼ固まっているもの

トランザクションは、入力などで変わるデータで、住所などです。

この2系統に洗い出したデータをまとめてください。

属性 洗い出し

そして、データに対して、属性を洗い出していくのです。

これは、どんな属性の項目なのか?

  • 郵便番号は、7桁半角
  • メールアドレスは、@マークがないといけない

とかですね。

画面 書き出し

ここで、ワイヤーで、画面を作ってしまうと、結構、設計が楽になります。

なぜなら、ワイヤーフレームで、画面を作ると、何のデータが、各画面で使うのかをイメージしやすくなるからです。

デザイン的に、画面設計するわけではなく、あくまで、データとして書きます。なので、ここに時間を割くのではなく、大事なことは、このページで、何のデータを取り扱う、そして、どう取り扱うのかが、わかるようにすることです。

こういった作業を通して、結果的に、ER図 作成になっていきます。

ER図 書き方 解説 動画

ER図 書き方 わかりやすく 解説している動画がないかを、Youtubeで探してみたら、ありますね!

ER図 書き方 において、より基本情報を知ってほしくて、ER図 書き方を解説している動画をご紹介します。

システムなどの開発会社の社長さんのYoutube動画なので、信憑性が高いですね。

リレーションとは、何か?とか、そういった概念的なところも事例を出して解説してくれています。

ER図 書き方から、何ができるか?も紹介されていますね。

このER図 書き方動画は、視聴回数が、なんと、3.5万以上あります。多くのユーザーに視聴されている動画なので、人気度高いですね。

まとめ ER図 書き方 を 知って ニーズ の 高い スキルを 習得しよう!

データベースとの関連性の高い ER図。

言葉で書くと簡単ですが、ER図は、作図が大変なこともあります。なので、ER図の書き方を再度まとめてみました。

ER図の書き方は人や会社にもよるので、参考にしてくださいね。

データベースを扱えるスキルは、ニーズも高いスキルです。

エンジニアとしてもそうですが、マーケッターとしても、ニーズが高いです。

ER図 書き方 フローをまとめることで、ER図を簡単に作成できるようになるといいな!とは思っていますが、繰り返し、やってみることが大事ですね。

ER図は、データベースの元なので、まずは、大きなシナリオから、まとめていきましょう。そして、詳細に落とし込んでいくようにしましょう。

png jpg 違い gif も含めて webで使う 拡張子 なら 画像ファイル 何がいいの?

システム開発 人気 記事

システム開発 CMS 決済システムなど 人気 システム 関連 記事 まとめました!

Stripe 使い方 Stripe(ストライプ)とは?安い!導入が楽!なオンライン決済
https://saras-wati.net/web-make/system/stripe-use-howto/

【基礎知識】システム開発 フロー ウォーターフォール型開発とは メリットは?
https://saras-wati.net/web-make/system/about-system-dev-waterfall/

Drupalとは 無料 高機能 CMS ドルーパル メリット wordpress 比較 検証
https://saras-wati.net/web-make/about-drupal/

Amazon S3 使い方 最強 オンライン ストレージ メリット 料金 など AWS ガイド
https://saras-wati.net/web-make/system/amazon-s3-howto/

Google フォーム カスタマイズ Google Apps Script(GAS)で できること
https://saras-wati.net/web-make/system/google-apps-script-form-knowhow/

ノウハウ!決済代行会社 選び方 比較 方法 ネットビジネス のための 基礎 知識
https://saras-wati.net/web-make/system/pay-online-company-select-howto/

Wrikeとは 大手 タスク管理 プロジェクト管理ツール 料金 評判 などを解説
https://saras-wati.net/news/groupware/wrike-tool/

【SEO】Amazon CloudFront 設定 方法 AWS CDN で UX 改善!表示速度改善!!
https://saras-wati.net/knowhow/amazon-cloudfront-setting-howto/

【 palanRFPとは 】テンプレート を シンプルUI で サクサク RFP制作 できるツール
https://saras-wati.net/news/worksbace/about-palanrfp/

【ベンダー選定に】RFI 情報提供依頼書 とは RFI書き方 サンプル まとめ
https://saras-wati.net/knowhow/howto-rfi/

【メール配信サービス】導入 簡単! sendgrid センドグリッド とは
https://saras-wati.net/web-make/about-headless-commerce/

業務システム ローコード 制作可能な Airtable エアテーブル
https://saras-wati.net/web-make/system/airtable/

就職・転職前に知りたい!2022年 web開発言語 トレンド まとめ
https://saras-wati.net/web-make/work-programming-trend2020/

テスト自動化ツール おすすめ は? AI で デバック スピード 改善 工数 削減
https://saras-wati.net/web-make/system/test-auto-tools-recommend/

typescript 将来性 は? TypeScriptとは 特徴 JavaScript 違い まとめてみた
https://saras-wati.net/web-make/system/typescript-future-worth/

【無料】SQL 操作 なら DBeaverとは ノンプログラマー でも DB操作可能!
https://saras-wati.net/web-make/system/about-sql-dbeaver/

【無料】スクエア 予約システム クレジットカード決済付き 予約サイト どう?
https://saras-wati.net/web-make/system/square-booking-system/

CDNサービス一覧 特徴 比較 簡単にまとめてみた。SEO ユーザビリティ改善に
https://saras-wati.net/web-make/system/cdn-service-list/

シングルページアプリケーション(SPA)とは 有名サイト 事例 作り方 は?
https://saras-wati.net/web-make/system/about-single-page-application/