Laravelのデータベース(SQL)とは?初心者でもよく分かる図と例でやさしく解説。

更新日:

Laravel(PHP)におけるデータベース(SQL)とは?初心者でもよく分かる図と例でやさしく解説。

LaravelやWordPressとかのPHPを使ってると必ずデータベースって言葉が出てくるけど、イマイチなんなのか分かってないんだけど・・

 

データベースは、ウェブサイトのフォームから投稿されたデータを保管しておくスペースの事です。

 

例えば、ブログなら、テキストエディタ(投稿フォーム)上に記事を書いて、
保存ボタンで内容を保存しますよね。

その投稿記事、投稿タイトル、投稿日、そういったデータを保存しておく場所がデータベースなんです。

 

下の画像のような知恵袋サイトやフォーラムだったら、

投稿された質問や回答、投稿のタイトル、投稿日、コメント、いいね数、検索履歴、ログインID、パスワード、投稿者のプロフィール・・そういったブラウザから入力された情報を保存するスペースがデータベースなんです。

 

つまりサイト上のあらゆるフォームから入力されたデータを保存しておく場所がデータベースって感じでOK?

そういう事。お問い合わせフォームのように、データベースに保存せず直接Emailとして送信するフォームもあるけど、お問い合わせフォームの内容をデータベースに保存する事も可能なんだ。

いいねボタンや投稿日付など、なにか数値が変わるもの、お知らせメールを受け取るかどうかのチェックボックスのONOFF、そういう変動する情報もデータベースで保存しておけるんだ。

Neby
ちなみに、投稿された画像はデータベースに保存されるの?
基本的に画像やビデオ、音声みたいなメディアはStorageフォルダに別途保存されて、リンクだけをデータベースに保存するよ。まぁ、画像をbase64っていうマトリックスみたいな文字列に変換すれば、データベースに保存も可能だけどね。あくまで投稿された文字情報を保存するのが、データベースって感じ
Neby

 

データベースの構造(テーブル、カラム)

データベースは画像のような構造になってます。

まずデータベースは、サイトごと、アプリごとに作ります。上の画像なら、liketestという名前のサイト用のデータベースをまず作ります。

 

例えば、口コミサイトを作ってるなら、
投稿本文、投稿タイトル、投稿者、投稿日、投稿についたいいね数など、
投稿に関するデータをまとめて保存するテーブル(posts table)、

そして、ユーザーID、ユーザー名、パスワード、メールアドレス、といったログインユーザーの情報を保存するテーブル(users table)といった具合に、

一緒に保存しときたい項目(カラム/column)をまとめてるシートがテーブルです。

 

つまりExcelに例えると、

Book1ファイルがデータベース、sheet1,2,3がテーブル、ABCDEがカラムって認識でOK?

全くその通り。データベースはExcelのようなスプレッドシートなんだ。
Neby

 

では、実際のデータベースを見てみましょう。

例えば、辞書サイトjapaslangというデータベースのpostsテーブルを開いてみると、下の画像のようにExcelのようなシートが表示されます。

下の画像が実際のサイトのページです。見比べてみてください。

この投稿の情報がすべて入ってますよね。

 

上の画像のようなウェブページが表示される時に、データベースからその都度必要な情報を取り出して表示してるんです。

laravelのblade,controller,routesの関係図1

例えば、Laravelなら、コントローラーというファイルが、データベースからそのページに必要な記事だけ取り出し、ブレード(サイト全体のレイアウトが書かれたファイル)にガコンとはめ込む事で、ページが表示されるようになってるんです。

Laravelのblade.phpとは?普通の.phpと何が違う?初心者必須の知識!

LaravelのController.phpとは?初心者向けにやさしく図入りで解説

Laravelのroutes(web.php)とは?超初心者向けに図解と実例でやさしく解説!

Laravel初心者が絶望するController,Blade,Routesの関係が図解でよく分かる!

 

データベースに出てくるMySQLとphpMyAdminとは?

ねぇ、さっきの図とかでMySQLやphpMyAdminっていう言葉が出てきたけど、あれは何?

 

まず SQL とは、データベース自体を管理してるシステムの事です。

このSQLシステムでできたソフトが MySQL(MariaDB) です。他にも PostgreSQL、 SQLite などの似たソフトがあります。*MariaDBはMySQLの派生版みたいなものです。

 

大抵のレンタルサーバーには、MySQLが入ってます。

 

そして、このMySQLなどのデータベースの中身をExcelのような表示で見れるようにしてくれるのが、phpMyAdminです。

新しいテーブルを作ったり、カラムの中身を編集したりがExcel感覚で簡単にできるとっても便利なソフトです。

 

そっかぁ、データベースって投稿データをExcelのような形式で見やすく保存しとくスペースだったんだね。

そう、もしこのデータベースが壊れたら、君が丸1年かけて書いてきたブログの全データなんかが消えてしまうって事でもあるから、データベースのバックアップはまめにしっかり取っておいた方がいいよ。Cronって機能を使って自動的にバックアップを取る事も可能だね。手動でやる方法は下の記事に書いてあるよ↓

phpMyAdminでデータベースを丸ごとインポートのやり方。初心者でもできるように解説

Neby

 

写真で血圧記録

  • この記事を書いた人

Neby

本を毎日多読しつつ、資産運用、プログラミング、心理学、ネットビジネススキルを猛向上中。貧富の差が広がる5年後、10年後に安心生活を送るためのお金のリテラシー、スキル、資産を一緒に作っていきましょう。

-PHP Laravel入門