Devsway

日々の記録とか記憶とか。


いきさつ


正直いままでてきと〜にMVCの「モデル〜」とか話してましたけどあんまり「モデル」についてわかってなかったです。


wikiみたら


めっちゃたくさん書いてあってビビりました。

やっぱちゃんと勉強せなまずいな・・・。



数理モデルでは


https://ja.wikipedia.org/wiki/数理モデル


そもそもモデルとは何か、ということに関して様々な説明がありうるが、例えば大学生向けのあるテキストでは「モデルとは、対象とするシステムを簡略化して、その本質を表したもの」「システムを理解するために用いられる」などと解説されている。その意味では、地球のモデルとしての地球儀、建造物のモデルとしての設計図、人生のモデルとしての小説、価値のモデルとしての金銭など様々なものがあげられる[1]。

普通、モデルは現実世界のシステムに対して簡略化されているので、現実のシステムそのものを考察するのに比べると、モデルだけを対象として考察を行うことのほうが圧倒的に容易である。

モデルが現実のシステムの興味がある部分の性質を残していれば、モデルを考察することによってシステムに対する理解(あるいは解釈)を行うことが可能になったり、現実のシステムのふるまいの予測を行うことができるようになる。例えば、実際に歩き回らなくても、地図を見れば行き方がわかるし、宇宙に出なくても地球の形状や各国の分布を知ることができる。モデル化とは、興味のある本質を残して対象を大幅に簡略化することにより、理解可能にすることである。

ただし、モデルは対象そのものとはやはり別物であり、簡略化によって必然的に対象の持っている多くの性質を失ったものとなる。(モデルが何らかの現象をとりこまないことを「捨象」と言う)。

とのこと。

要は簡略化してわかりやすくしたもの・・・ってことか。


数理モデル


https://ja.wikipedia.org/wiki/数理モデル



データモデル(ソフトウェアの場合)


wiki難しいな・・・


ここわかりやすかったです。

https://intellipaat.com/blog/data-modeling-tutorial-for-beginners/


概念モデルとは?


要件(現実世界)からどのようなデータがどのような関係にあるかまで

ER図とかそのあたり。

どのように実現・実装するかはその後のモデル。


論理モデル


モデルの実装方法。

テーブル・カラムなど。


物理モデル


具体的にデータベースの設計をしていく。

MySqlならカラムの文字型などの設計。

あとはインデックス等。


DBによってやることが変わるってことだね。


スキーマ


RDBでは関係そのもの。

学生テーブルなら

学生スキーマ。


まとめると


もともとのデータと実際のアプリケーションの間にいい感じにデータを整えることがデータモデリング。

その方法・ロジック・指向はいくつかるよ。

RDBもその一つだよ。


・・・けっこう会社ごとのローカルルールとかもあるだろうからそんなにしっかり理解しなくてもいいかも。(かも。)



参考


https://www.jstage.jst.go.jp/article/jkg/67/9/67_442/_pdf


ここもわかりやすかったです。

console.firebase.google.com




カテゴリー

オレオレIT用語辞典