データベースとは?ER図とは?図で解説

こんにちは! 文系SEの焼き芋です!

最近、プログラミングを始めました。
「データベース」や「ER図」という言葉がよく出てきます。
ただ、イメージがよくできなくて、理解できません。

そこで、今回のテーマは「データベース設計の基礎」についてです。

この記事で解決できる悩み

以下のことが分かります!

  • データベースとは何か
  • ER図とは何?
  • ER図をつかった簡単なデータベース設計
やきいも

先に結論をまとめました!

データべースとは何か? ER図とは何か?

  1. データベースとは何か 
    ⇒ 特定の目的のためにデータを整理し集めたもの
  2. ER図とは何か 
    データを「 実体 (entity)」「関連 (relationship)」「属性 (property / attribute)」
    の3つでモデル化する「ERモデル」を図で表現したもの

ITエンジニアが学ぶべきことは、

データベース以外の技術もあります。

IT未経験の文系が把握すべき7つのIT基礎はこちらで解説してます。

目次

データベースとは

データべース説明

データベースとは、「特定の目的のためにデータを整理し集めたもの」です。

例えば、図書館データベースは、書籍の貸出状況や書籍の在庫を管理するためにあります。

書籍の情報、貸出者の情報などが保管されています。

ERモデルとは

続いて、データベースをどう設計するかです。

まず、設計手法のERモデルについて解説します。

1976年にPeter Chen氏が

『世の中に実在する全てのものは、

実体 (Entity)関連 (Relationship)の2つの概念で表現ができる』

とERモデルを発表。同時にER図も​​提唱しました。

これって何っているか分かりますか?

実体があるって言うのは人が認識できるもの。

それは、表現ができる。

ただ、実体が認識できないものは表現ができない。ということです。

例えば

縄文人は「自動車」と「飛行機」の存在を知らないですよね。

つまり、縄文人は「自動車」と「飛行機」の実体の関係が分からないというこです。

現代の人間は、「自動車」と「飛行機」を認識できるし、関連も分かりますよね。



Peter Chen氏は認識できるものってのは、ER図に落とし込めると言ってるんですよ。

つまり、システム化したい対象の実体と関連を洗い出して、データベースを設計するということです。

ER図とは

続いて、ER図について解説します。

データベースの設計時によく利用されます。

ER図の定義は以下の通りです。

データを 

  • 実体 (entity)
  • 関連 (relationship)
  • 属性 (property / attribute)

の3つでモデル化する「ERモデル」を図で表現したもの

まず実体には以下の2分類になります。

  • トラン系(イベント系)
  • マスタ系(リソース系)
トラン系の特徴
  • 「~する」という動詞で認識できるもの
    例)注文する、購入する、発注する、入荷する など
マスタ系の特徴
  • 人・モノ・お金などで「~する」の動詞の対象や主語になるもの
    例)注文する書籍、購入する化粧品、顧客は注文する  など

また、Peter Chen氏は品詞とER図は次のように対応付けができると述べています。

品詞ER構成の要素
普通名詞実体型
固有名詞プライマリーキー
自動詞属性の型
形容詞実体の属性
他動詞関連の型
副詞関連の属性

例えば、以下の例文をER図に表現するとします。

  • ユーザーID「0001」のユーザー名「山田太郎」は、
    書籍コード「A900」の書籍名「データベース基礎の基礎」を、
    2022年3月1日14:21に借りました。

ER図では以下のイメージです。

ER図イメージ

それぞれの実体・属性・関連性・プライマリーキーは以下の通りです。

実体(entity)プライマリーキー属性(property / attribute)関連(relationship)
ユーザーユーザーIDユーザー名貸出
貸出貸出番号ユーザーID、書籍コードユーザーと書籍
書籍書籍コード書籍名貸出

まとめ「DB=特定の目的のためにデータを整理し集めたもの」

データべースとは何か? ER図とは何か?

イメージは掴めたのではないでしょうか?

やきいも

私たちの身近にはデータベースで管理しているものが多くあります。

このデータべースはER図はどうなってるのだろう?と想像すると良い練習となります。
実際にER図を書いてみると良いかと思います。


最後に纏めは以下の通りです。

データべースとは何か? ER図とは何か?

  • データベースとは何か 
    ⇒ 特定の目的のためにデータを整理し集めたもの
  • ER図とは何か 
    データを「 実体 (entity)」「関連 (relationship)」「属性 (property / attribute)」
    の3つでモデル化する「ERモデル」を図で表現したもの

以上、最後まで読んでいただきありがとうございました!

目次