search
LoginSignup
0

More than 1 year has passed since last update.

posted at

Rails:modelとデータベースについてちょっとまとめてみた。

最初に

カレンダー企画2020の15日目
プログラミングの勉強を始めて3ヵ月程経ったので学んだことのメモをアウトプットとして記事に残します。
これからプログラミングの世界に入る人の手助けになれたら嬉しい限りです。
間違っていたり、言葉が違っていたり、誤解されるような言葉があったら教えてください^^
言葉を長々と読みづらかったら申し訳ありません。少しずつなれてがんばります。

モデルとデータベース(DB)についてちょっとまとめてみる

modelとは?

モデルはここで簡単に説明している

アプリケーションのデータを取り扱う場所。データベースに対してデータの登録や取得、更新、削除などといった処理を役割として担っている。
たとえば
データベースという巨大な倉庫を管理しているイメージかな。
必要な時に必要な情報を取り出したり、しまったりしてくれる感じです。

基本的にDBとのやり取りになる。

データベース(DB)とは?

DBはデータの保存先です。
DBのおかげでデータを効率的に保存できたり、検索できるようになっている。

ゲームでいうところのメモリカードとかセーブデータを保存してある場所かな!
modelがゲーム機本体
今回は出てこないけど、Controllerはコントローラー
テレビ画面に表示するコードやテレビがViewになるにかな!
そんなイメージです。

railsではDBに保存されているデータを「テーブル」にまとめてテーブル同士が関連して保存してあります。

テーブルはデータを整頓してくれるのでデータを取り出しやすくなります。

ゲームで過去のセーブデータがゴチャゴチャな並びだったら最新のものを探すの大変じゃないですか?
そういったことをなくす為にテーブルというので関連しているもの同士をわかりやすく保存してあるのです。

テーブルについてもう少しだけ

ブログサイトをイメージしてください。

  • タイトル
  • 本文
  • 投稿者
  • 投稿日

こんな情報があったとします。

これらをテーブルにしてみると

ID タイトル 本文 投稿者 投稿日
1 初めまして 本日からブログを始めます yuta 12/1
2 こんな空スゴイ 今朝の青空 yuta 12/5
3 今日はどこにいるでしょう? 写真をみて当ててみて yuta 12/9
4 朝から、、、 黙々と仕事しています yuta 12/12

こんな感じになります。Excelみたいですね!でもまさにそのイメージです!!
このようにしてあると、どこがタイトルでいつ投稿したのかとか一目瞭然ですよね!これが整頓して分かりやすくするということです。

テーブルにも名前がついており、
全体の事はテーブルと言います。
縦列:カラムと言います。
横列:レコードと言います。

railsではテーブルが作られてデータが作られるとIDは自動生成されます。
ID1のレコードは?

ID タイトル 本文 投稿者 投稿日
1 初めまして 本日からブログを始めます yuta 12/1

このテーブルのカラム名は?

ID タイトル 本文 投稿者 投稿日

これになります。

タイトルカラムの中身は?

タイトル
初めまして
こんな空スゴイ
今日はどこにいるでしょう?
朝から、、、

これらが抽出されます。

DBとデータのやり取りはデータベース言語(SQL)で行われます。

最後に

正直カラムを理解するのが最初は大変だったことを思い出しました^^;
ここではわかるけど実際作るとあれ?とよく混乱していました。^^;

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0