データベースは
データがたくさん入れられてから
構造を変更すると破壊されたりするので
極力後から構造変えたりしないように。
一番最初の段階で構造はきれいにつくる。
もしどうしても変更が必要なら、
・必ずバックアップを取ってから
・別にテーブルを作って
・データ部分だけ移し替える
ネーミングも英語でつけましょう。
日本語アウトですよ
名前もあとからたくさん使うから、打ち込みやすい分かりやすいテーブル、カラム名で。
最初の構造が一番大事。
家を建てるときの柱の立て方が大事なのと一緒。
柱の位置に集中するのが大事らしいが、熟練するにはたくさんそういうものをつくってたくさん困った目にあうのがいいらしいよ
テーブルには静的テーブルと動的テーブルがある
静的テーブル:
いわゆる別表
曜日のデータとかカテゴリのデータとか。
動かないもの
固定的でそれ以上増えない
static table ともいう
動的テーブル:
サービスを続ければ続けるほどデータが増える性質のもの
ダイナミックテーブルともいう
"そのシステムの中心的なテーブルはどこか"
が勘所らしい
食べログなら評価が中核
小売店のシステムなら売上テーブルが中心
中心的テーブルはたいてい「動的テーブル」だし、そのサービスが「なんのためにあるか」の部分に一致する
ひとつのIDがきまるとそれに連動して決定するすべての情報は同じテーブルにあるべきらしい
関数従属関係という
従属関係があるものが別の表にする
売上テーブルがあり、商品IDがあったら、
同じテーブルに商品名や商品の色なんかの情報はいらない。それは別表にしてくださいと。そういうのを正規化というらしい
テーブルの数だけ登録画面も必要になってくる
テーブルが多くなれば画面数がふえるのも計算のうえで、システムを作りましょう
PDOのおはなし
PDOは新しいクラス
PHPにビルドインされていて常にロードされている
ODBC
というものから呼び出される
またはODBCドライバともいったりするらしい
オープンデータベースコネクティビティ
アプリケーションとデータベースは独立している
それをつなぐのがODBCというソフトウェア
たとえばエクセルからmySQLをつないだりする
ACCEESとつなぐのはもっとよくやるらしい
windowsアイコン
→ウィンドウズ管理ツール
→ODBCデータソース(2つある/32bitと64bit)
ウエブサービスとデータベースをつなぐのが
PDO
newするとPDOのオブジェクトが作られる
$pdo = new PDO();
たとえばクエリーを実行するメソッドがいきなり使えたりするらしい
$pdo->query("SELECT hoge FROM foo");
これをクエリーメソッドという
括弧内に記述されたSQL文が実行されるらしい
$pdo->queryの「->」は
いわゆるほかの言語(オブジェクト指向)でのドットに相当するらしい
シングルアローという
(ダブルアローというのもあるらしい
=>
連想配列の時にインデックスと値の関係を定義するときに使う独特の記号)
データベースの値をとってきて反映するというのは
また大変らしい
ミカン箱のようなものを受け取る
複数行複数列にまたがったりしている