こんにちは! 文系SEの焼き芋です!
最近、プログラミングを始めました。
「データベース」や「ER図」という言葉がよく出てきます。
ただ、イメージがよくできなくて、理解できません。
そこで、今回のテーマは「データベース設計の基礎」についてです。
以下のことが分かります!
- データベースとは何か
- ER図とは何?
- ER図をつかった簡単なデータベース設計

先に結論をまとめました!
データべースとは何か? ER図とは何か?
- データベースとは何か
⇒ 特定の目的のためにデータを整理し集めたもの - 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図では以下のイメージです。


それぞれの実体・属性・関連性・プライマリーキーは以下の通りです。
実体(entity) | プライマリーキー | 属性(property / attribute) | 関連(relationship) |
---|---|---|---|
ユーザー | ユーザーID | ユーザー名 | 貸出 |
貸出 | 貸出番号 | ユーザーID、書籍コード | ユーザーと書籍 |
書籍 | 書籍コード | 書籍名 | 貸出 |
まとめ「DB=特定の目的のためにデータを整理し集めたもの」
データべースとは何か? ER図とは何か?
イメージは掴めたのではないでしょうか?



私たちの身近にはデータベースで管理しているものが多くあります。
このデータべースはER図はどうなってるのだろう?と想像すると良い練習となります。
実際にER図を書いてみると良いかと思います。
最後に纏めは以下の通りです。
データべースとは何か? ER図とは何か?
- データベースとは何か
⇒ 特定の目的のためにデータを整理し集めたもの - ER図とは何か
データを「 実体 (entity)」「関連 (relationship)」「属性 (property / attribute)」
の3つでモデル化する「ERモデル」を図で表現したもの
以上、最後まで読んでいただきありがとうございました!