データベースは、ウェブサイトのフォームから投稿されたデータを保管しておくスペースの事です。
例えば、ブログなら、テキストエディタ(投稿フォーム)上に記事を書いて、
保存ボタンで内容を保存しますよね。
その投稿記事、投稿タイトル、投稿日、そういったデータを保存しておく場所がデータベースなんです。
下の画像のような知恵袋サイトやフォーラムだったら、
投稿された質問や回答、投稿のタイトル、投稿日、コメント、いいね数、検索履歴、ログインID、パスワード、投稿者のプロフィール・・そういったブラウザから入力された情報を保存するスペースがデータベースなんです。
そういう事。お問い合わせフォームのように、データベースに保存せず直接Emailとして送信するフォームもあるけど、お問い合わせフォームの内容をデータベースに保存する事も可能なんだ。
いいねボタンや投稿日付など、なにか数値が変わるもの、お知らせメールを受け取るかどうかのチェックボックスのONOFF、そういう変動する情報もデータベースで保存しておけるんだ。
データベースの構造(テーブル、カラム)
データベースは画像のような構造になってます。
まずデータベースは、サイトごと、アプリごとに作ります。上の画像なら、liketestという名前のサイト用のデータベースをまず作ります。
例えば、口コミサイトを作ってるなら、
投稿本文、投稿タイトル、投稿者、投稿日、投稿についたいいね数など、
投稿に関するデータをまとめて保存するテーブル(posts table)、
そして、ユーザーID、ユーザー名、パスワード、メールアドレス、といったログインユーザーの情報を保存するテーブル(users table)といった具合に、
一緒に保存しときたい項目(カラム/column)をまとめてるシートがテーブルです。
では、実際のデータベースを見てみましょう。
例えば、辞書サイトjapaslangというデータベースのpostsテーブルを開いてみると、下の画像のようにExcelのようなシートが表示されます。
下の画像が実際のサイトのページです。見比べてみてください。
この投稿の情報がすべて入ってますよね。
上の画像のようなウェブページが表示される時に、データベースからその都度必要な情報を取り出して表示してるんです。
例えば、Laravelなら、コントローラーというファイルが、データベースからそのページに必要な記事だけ取り出し、ブレード(サイト全体のレイアウトが書かれたファイル)にガコンとはめ込む事で、ページが表示されるようになってるんです。
→Laravelのblade.phpとは?普通の.phpと何が違う?初心者必須の知識!
→LaravelのController.phpとは?初心者向けにやさしく図入りで解説
→Laravelのroutes(web.php)とは?超初心者向けに図解と実例でやさしく解説!
→Laravel初心者が絶望するController,Blade,Routesの関係が図解でよく分かる!
データベースに出てくるMySQLとphpMyAdminとは?
まず SQL とは、データベース自体を管理してるシステムの事です。
このSQLシステムでできたソフトが MySQL(MariaDB) です。他にも PostgreSQL、 SQLite などの似たソフトがあります。*MariaDBはMySQLの派生版みたいなものです。
大抵のレンタルサーバーには、MySQLが入ってます。
そして、このMySQLなどのデータベースの中身をExcelのような表示で見れるようにしてくれるのが、phpMyAdminです。
新しいテーブルを作ったり、カラムの中身を編集したりがExcel感覚で簡単にできるとっても便利なソフトです。
そう、もしこのデータベースが壊れたら、君が丸1年かけて書いてきたブログの全データなんかが消えてしまうって事でもあるから、データベースのバックアップはまめにしっかり取っておいた方がいいよ。Cronって機能を使って自動的にバックアップを取る事も可能だね。手動でやる方法は下の記事に書いてあるよ↓