データべース入門(実践)

前の記事ではphpMyAdminの基本的な操作を記述しました。

この記事では実際にテーマを決めてデータベースを作っていきます。

データべース入門(概要)
古くから当たり前に使われてるデータベース。最近はビッグデータであったりで、今までのRDB以外にもAWSのRedshiftみたいな大容量向けのものが出てきたり、RDBに比べて機能は劣るものの高いパフォーマンスが出るNoSQL等々DBにまつわる...

テーマ

この記事を書く少し前に実際に作ったので、毎日の血圧の管理をDBでする、というテーマで行きたいと思います。

設計

まずはデータベースに何を保存するのかを決めます。

保存するもの

  • 血圧の最高と最低
  • 脈拍
  • 測定した日時

保存するものの型

特に考えることもなくそのままです。

  • 血圧
    • 整数値 → INT
  • 脈拍
    • 整数値 → INT
  • 測定した日時
    • 日時 → DATETIME

データベースを作る

では以前の記事も参考にしつつデータベースを作ります。

左側のNewを選択して、データベース名に「health」としておきましょう。

参照順序は「utf8_general_ci」です。

テーブルを作る

では、血圧を保存するテーブルを作ります。

左からhealthを選択し、テーブル作成画面を表示します。

カラムの数は、血圧の上と下、脈拍、日時の4つと行管理用のSERIALを足して5つにしておきましょう。

名前は「blood_pressures」にしましょう。

カラム

phpmyadmin-createtable3

上で書いた通りです。timingにはデフォルト値でCURRENT_TIMESTAMPを設定してもよかったかもしれません。

これで実行でテーブル完成です。

データを入力する

データ(行)を入力します。

blood_pressuresテーブルを選択し、計測した値を入力します。

2016/5/28の9時に計ってみたところ最高が110、最低が90、脈拍が80だったとするとそれをそのまま入れます。

phpmyadmin-insertrow2

これで28日9時の文が保存されました。

同様に別の日も計ったという体で値を入れていきます。

phpmyadmin-insertedrow2

3件入力してみました。

データを検索する

保存するだけでは使ってる感がないのでこの中から条件に合致するものを検索するようにします。

phpmyadmin-find

上の検索タブを選択すると、検索フォームが表示されます。ここに検索したい値を入力します。

検索に使わないカラムは空白で大丈夫です。

とりあえず、脈拍が100を超えているものを検索したいと思います。

phpmyadmin-find2

実行すると

phpmyadmin-find3

表示されました。3件入力したうちの条件を満たした行だけ表示されました。

体重も管理する

血圧だけでなく体重も保存できるようにしたいと思います。

この際にカラムを増やすのではなく、テーブルを増やします。以前の記事で書きましたが、1テーブルには1要素です。

一緒にしてしまうと、例えば体重だけ測った日、血圧だけ測った日の取り扱いがとても難しくなってしまいます。

テーブルの構造を決める

簡単です。

  • 測った日時
    • 日付 → DATETIME
  • 体重
    • 小数 → DECIMAl

テーブルを作る

左のhealthデータベースを選択します。

テーブルの一覧が表示されるので、下にあるテーブルの作成から作りましょう。

phpmyadmin-createtable4

あ、整数にしちゃってた…けど、撮りなおすのめんどくさい…

テーブル名は「weights」、カラム数は「3」です。

こんな感じでしょう。

これも血圧と同様に日々のデータを保存していきましょう。phpmyadmin-insertedrow3

適当に2日分入力しました。こちらも血圧同様検索して必要なデータを抜き出したり、と言った事できます。

SQLを使わなければいけないので、phpMyAdmin上から簡単にできるわけではありませんが、例えば血圧と体重両方測った日のデータをまとめて表示するといった複数のテーブルにまたがった検索も可能です。

phpmyadmin-find4

これはいずれ記事にするかもしれません。

まとめ

だいぶざっくりしてますが、実際データベースでする事は、このデータを保存すると入力されたデータから必要なものを探すの2点だけです。

なので、この2点がそれなりにでもできればデータベースを利用したツールも作っていけます。

 

次の記事ではSQLと呼ばれるDBを操作するプログラム的なものに少し触れます。

データベース入門(SQL文)
以前の記事ではMySQLをphpMyAdminで操作する基本を解説しました。 しかし、実際これだけでは困ったことも多いです。例えば1つ前の血圧管理すると言っても、他の人のも管理するようになると都度その人にphpMyAdminを開いても...
タイトルとURLをコピーしました