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に表示できるはずだ。