Web制作、Web開発の歩き方

5章:データベースとつながろう

(最終更新日:2022.10.30)

「SQLはまかせろ!」

MySQL Workbenchを使って、データベース作成、テーブル設計(データ型等の)、テーブル作成、データ操作、 一通りのことはできるようになったと思う。また、SQLの絵本で、データベースの基本的な機能、働きも理解できたと思う。 (SQLの絵本にあるトランザクションやデータのロックの部分は大事なので是非、見ておいて欲しい)

業務系のアプリケーションはRDBMSで作られてることが多いので、仕事でもし触れる機会があるならば、 是非SQLを入力して必要なデータを取り出してみよう。欲しい形でデータを手に入れることができるはずだ。

加えて、絵本では取り上げられていない正規化というテーブルの整理方法がある。 参考サイトとしては、ここを見て欲しい。 要は、ある程度役割ごとにTableを分解しておくと、データの重複が少なくなり、スマートに整理できるという話じゃ。 そして、JOINの機能があるから、後で自由につなげることができる。 ただし、現実問題、実務で正規化を徹底的にやるということは少ない。ある程度に留めることが多い。 (検索スピードが劇的に落ちるため。JOINを何回もやると、データ数の掛け算で計算量が増える)

正規化はデータを効率的に使うのに便利だが、スピードとトレードオフになるところが注意である。
(他にも購買履歴等、ログを残す関係上、正規化を取らずそのままで保存することもある)

最後に簡単ではあるが、正規化やRDBMS自体のメリットや活用方法も示しておく。メリットは以下の3点である。

①各担当に割り振れる。独立、分担して整理できる。
②後から、新しいTableを追加できる。
③データ間のつながり、意味合いを分析できる。(グラフを自動で出すようにすると更に良い)

図 データベーステーブルとその活用方法(横スライドで切り替わります)

さて、本題である。今まで覚えたデータベースとWebページをどうつながればいいのか。 簡単にいうと、サーバーサイドでプログラム(PHPやRuby、Python)を動かして、APIを通してデータベースと接続する。 そしてSQLを送り、データベースからの返答をサーバーサイドのプログラムで受け取り、それをHTMLとして出す。 おそらく、今の段階では言葉で聞いても「何のことやら?」となると思う。

なので、実際このサイトを参考にやってみよう。 ここではPHPの例を示す。その際、PDO (PHP Data Object) を有効にする必要がある。設定は下図に示す通り、XAMPPのApache,configボタンを押し、 php.iniファイルの「extension=php_pdo_mysql.dll」のセミコロンを消すことで有効化できる。(最初から有効な場合もある) ファイルを上書きしたら、XAMPPを再起動して設定を有効化しよう。 サイトの通り書けば、PHPからデータを呼び出し、HTMLに表示できるはずだ。

xamppでのPHP.iniの設定 図 Xampp上でのPDOの設定