データモデルとは?リレーショナルモデルについてもわかりやすく解説



データモデルって、抽象的でわからないな。
〇〇モデルが多すぎて、頭がパンクしそうだよ。



本記事をご覧いただくことで、次のことがわかります。

本記事でわかること
✅データモデルがどのような概念か理解できる
✅リレーショナルモデル・論理データモデルとは何かがわかる


データサイエンスをより深く学びませんか?

【2023年最新版】データサイエンスが学べるおすすめスクール5選

2022年6月4日





データモデルとは

データモデルの意味

データモデルとは、簡単に言うと「データベースの項目や構成、形式を整理整頓したもの」です。


例えば、業務のデータをデータベース化したい時、まずはどのようなデータが手元にあるのかを知っておく必要があります。



データを整理することをデータモデリングといい、データモデリングの末に出来上がるものをデータモデルと呼びます。

データモデリングとは
データモデリングとは


ちなみに、データベースの専門家は、業務のことを「対象世界」と呼びます。

対象世界だなんて、何だかスケールが大きく感じるね




データモデリングの目的

先程も述べたように、データモデリングを実施する目的は、データを整理整頓して、全体概要を把握するためです。

対象世界は、色んなデータを生成させる源泉です。

この対象世界で生まれた多種多様なデータを扱わなければ、データベースにはできないため、まずは全体の把握をする必要があります。


思いつきで設計すると、データベースがごちゃごちゃになって、後で大変になります。
どういったデータを生成しているのかを洗い出し、データをモデル化(図で表すなどみえるか)する必要があるんだ!

なるほど!データベース化する準備として、データモデルは使われるんだね!
でも、データモデルはどういう手順で作られるんだろう?



データモデリングの手順

データモデリングは、次の手順で段階的に行われます。

データモデリングの流れ
データモデリングの流れ




1. 対象世界を概念データモデルにする


最初に作るモデルが、概念データモデルです。

概念データモデルは、対象世界を抽象化したモデルです。

項目をグルーピングし、各グループ同士の関係をER図で図式化することが多いです。


システム化の対象範囲に限らず、全体的なデータ整理を行うために使われます。


概念データモデルとは、具体的にどんな図なのでしょうか?


「ITの学び」様の下記の図がわかりやすいので、引用させていただきます。

概念データモデル
引用:概念データモデルとER図って何だろう? | ITの学び


ER図について、詳しく知りたい方は、こちらの記事をご覧ください。

ER図とは?見方や用語についてわかりやすく解説

2022年7月24日





2. 概念データモデルを論理データモデルにする

続いて、概念データモデルをもとに、論理データモデルを作ります。

論理データモデルとは、概念データモデルの内容をより詳細化したものです。


データ要素の詳細な構成と、データ要素間の関係を定義するために利用します。

論理データモデルをもとに、実際にデータベース化されるよ。


論理データモデルは、リレーショナルモデル(関係モデル)を用いてモデリングされることが多いです。

リレーショナルモデルに基づくデータベースを、RDB(関係データベース、または、リレーショナルデータベース)と呼びます。

次の章では、このリレーショナルモデル(関係モデル)について解説するよ




リレーショナルモデル・リレーショナルデータベースとは

リレーショナルモデルの意味

何だか難しそうな横文字だな

大丈夫。要するに、いつも皆さん目にするのことです!


リレーション(relation)とは、関係という意味です。



関係って、雇用関係や信頼関係の「関係」みたいなイメージかな?

違うよ!
関係とは、と捉えるとわかりやすいよ。


リレーショナルモデルは、データ構造を表す専門用語です。


データ構造とは、データをプログラミングでどういった形で使うかのこと。
データ構造の例としては、配列・リスト・木などがあるよ。

リレーショナルモデルは、データ構造の一種。つまり、データの格納方法のことを指すんだ!

なるほど。もしかして、リレーショナルモデルは表形式でデータを格納するってこと?

そういうこと!




リレーショナルモデルは、表でデータを扱う点が特徴です。


例題:関係Aに属性a・b・cがある。この場合は、どのようなデータモデルになるか?

関係=表なので、表Aという表があるということです。
そして、属性=項目(カラムとも呼ぶ)のことです。

項目a項目b項目c
✕✕✕✕✕〇〇○○○△△△△△
表A



リレーショナルモデルの名称

基本的な名前は、次の通りです。



  • 行:横
  • 列:縦
  • レコード:件数のこと。(1レコード=1件のデータ)
  • タプル:行のこと
リレーショナルモデルの名称
リレーショナルモデルの名称



それぞれの属性には、取りうる値の範囲があります。

取りうる値の範囲?

例えば、属性1は3文字のローマ字が入っていますね。
この属性1に、属性3にあるような「はい」という文字や、属性2にあるような数字が入るのは、
値として適切ではないと言えます。

このように、属性はデータのグループを示し、このグループには入れる値の種類が限定されているというわけです。

なるほど!
たとえば、都道府県名という属性があったとした時に、市町村名が紛れ込んでいたらNGだってことか。

そう。この取りうる値の範囲のことを、ドメインというよ。


ドメインは、列の項目に検査制約(SQLではCHECK)をつけることで設定できます。




まとめ

いかがでしたか?

データモデルについての概要をご説明しました。

リレーションデータベースに欠かせない概念「主キー」についての詳細は、こちらで説明しています。

合わせてご確認ください。

主キーとは?関係データベースのキーを一挙紹介【主キー・外部キー・候補キー・複合キー・代理キー】

2022年7月17日