10-データベース

データベース(Part.3)| 概念モデルと論理モデル(概念スキーマ)| 現役エンジニア&プログラミングスクール講師

目標

「概念モデル」について概要を理解する
「論理モデル」について概要を理解する
「概念モデル」の記号化「実体関連図」について理解する

概念モデルと論理モデル

概念モデルの概要

概念モデルは実世界のデータの対象物に対して、どんな要素があるのか、どんな関係性があるのかをモデル化技法によって視覚的に表現したもの(構成図など)のことをいいます。

モデル化には「ER図」「拡張ER図」などがあります。

論理モデルの概要

概念モデルをBDMSが利用できるモデルに変換したものを論理モデルと言います。論理モデルにはデータモデルとして「階層データモデル」「ネットワークデータモデル」「オブジェクト指向データモデル」「リレーショナルデータモデル」などがあります。

概念モデルと論理モデルのモデリングの流れ

モデリングの流れは次のイラストの通りになります。

実体-関連図(概念モデルの記号化)

実体-関連図(ER図とEER図)

実体-関連図とは

実体-関連図は実体-関連モデルを図で表してもので「ER図」や「EER図」などがあります。概念モデルを図式化して設計を行いやすくします。

実体-関連モデルはデータベースのデータ対象となる実世界のオブジェクトを「実体」「関連」「属性」でモデル化したものです。そのモデルを図にしたのが実体-関連図です。

ER図とは

ER図では次の記号を利用してデータに対する要素や関係を表現します。

  1. 長方形…実体(Entity)を表現します。「商品」「顧客」「受講生」など
  2. ひし形…関連(Relationship)を表現します。商品と顧客であれば「販売」など
  3. 角丸長方形(楕円)…属性(Attribute)を表現します。商品であれば「商品名」「金額(値段)」など

ER図の記述例

関連について「1対1」「1対多」「多対多」を記載します。記載方法については下の図の通り「商品が多」対「顧客が多」の場合、M、Nといったアルファベットで記載します

また実体に対してその属性で主キーとするものにはアンダーラインを引きます

下は関連が「1対多」のときの記入例です。

関連型の種類

関連型には「多項関連型」「弱実体型」「ISA関連型(EER図)」があります。

「多項関連型」

3つ以上の実体が関連するタイプの関連型です。例えばカーシェアリング(レンタカー)では顧客が同じ車を定期的に利用するなどが考えられます。こういったときは多項関連型が考えられます。

「弱実体型」

実体自体が主キーを持たず、別の実体の一部として取り込まれることで一意に決まる実体を弱実体型といいます。弱実体は依存関係にある別の実体が削除されると実体として残ることができません。

弱実体は、例えばプランのオプションのようなものがあてはまります。

EER図(拡張ER図)とは

拡張ER図はオブジェクトの汎化と特殊化を取り入れた実体関連図となります。

拡張ER図での重要語

  1. ISA(Is-a relationship)関連…実世界の階層関係を表現します。三角形で表記します。
  2. 汎化…実体を抽象化する関係にあること(共通の概念でまとめること)
  3. 特殊化(特化)…実体を具体化する関係にあること(分類化すること)
  4. 継承…実体を引き継いで拡張すること(ISA関連では継承が行われます。)

「ISA関連型」

ISA関連型を利用すると「従業員」を継承して「責任者」と「研修生」が作成できます。どちらも「従業員ID」などは引き継いでいる関係になります。いずれも追加する属性は追加分の「責任者ID」と「試用者ID」だけとなります。

特殊化…「従業員」を具体化すると「研修生」「責任者」となります。
汎化…「研修生」「責任者」を抽象化すると「従業員」となります。

ER図やEER図を利用することで実世界の実体や関連をモデリングすることができます。概念モデルを作成することで論理モデルへの落とし込みを行いやすくできます。

今回は以上になります。次回はER図から主キーや外部キーを設定する方法となります。

「データベース」おすすめ書籍6選【初心者用3冊&実践用3冊】| 現役エンジニア&プログラミングスクール講師「データベース」初心者の方がデータベースを基本からしっかりと理解するためのお勧めの書籍について取り上げています。また中級者の方が更に進んだ学習ができる実践的な書籍についてお勧めできる3冊を取り上げています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

ブックマークのすすめ

「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...
RELATED POST
10-データベース

データベース(Part.5)| 正規化 | 現役エンジニア&プログラミングスクール講師

2023年4月4日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
10-データベース

データベース(Part.7)| リレーショナル代数 | 現役エンジニア&プログラミングスクール講師

2023年4月6日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
10-データベース

データベース(Part.11)| MariaDB SQLと表の種類&SQLコマンド例 | 現役エンジニア&プログラミングスクール講師

2023年4月13日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
10-データベース

データベース| まとめ | 現役エンジニア&プログラミングスクール講師

2023年4月3日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
10-データベース

データベース(Part.4)| 概念モデルから論理モデルへの変換(概念スキーマ)| 現役エンジニア&プログラミングスクール講師

2023年4月3日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
10-データベース

データベース(Part.8)| DBMSの仕組みと効率的なデータアクセス機構 | 現役エンジニア&プログラミングスクール講師

2023年4月7日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site