Home > CakePHP修行を追う > 「CakePHP修行」を追う #3

「CakePHP修行」を追う #3

  • Posted at 2009/04/04 17:44
  • Categories: CakePHP修行を追う
  • Tags:
  • hatena button
  • hatena count

cakelogo

さて、ではでは続きを始めましょ。

なお、この記事の前後はこちらのカテゴリーでごらんになれます。

今回追うのは、こちら。

これまでのはオールリセット・・・・・あぅ(^^;)

フォルダ構成・パーミッション等は以前設定したものでよし、と。

新しくテーブル設定をやり直すみたいですね。

以下のようにデータベースのテーブルを設定します。

Users

DROP TABLE IF EXISTS users;
CREATE TABLE users (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50),
    email VARCHAR(255),
    pwd VARCHAR(255),
    profile TEXT,
    created DATETIME DEFAULT NULL,
    modified DATETIME DEFAULT NULL
);

Posts

DROP TABLE IF EXISTS posts;
CREATE TABLE posts (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    user_id INT UNSIGNED,
    title TEXT,
    body TEXT,
    created DATETIME DEFAULT NULL,
    modified DATETIME DEFAULT NULL
);

Friends

DROP TABLE IF EXISTS friends;
CREATE TABLE friends (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    user_id INT UNSIGNED,
    friend_user_id INT UNSIGNED,
    status INT UNSIGNED,
    created DATETIME DEFAULT NULL,
    modified DATETIME DEFAULT NULL
);

ふむふむ。。なるほど。

続いてこちら。

本家がかかれている時点ではあまり日本語の書籍がなかったように思いますが、現在では結構出てますよね。

CakePHPによる実践Webアプリケーション開発
CakePHPによる実践Webアプリケーション開発

CakePHP ポケットリファレンス (Pocket Reference)
CakePHP ポケットリファレンス (Pocket Reference)

CakePHPガイドブック
CakePHPガイドブック

オープンソース徹底活用 CakePHPによるWebアプリケーション開発
オープンソース徹底活用 CakePHPによるWebアプリケーション開発

などなど。

で、DBに関してですが、本家の前回の記事に、こちらのツッコミが入ってました。

う〜ん、、すごい。

ということで、データベースのテーブル設計を変更!

Users

DROP TABLE IF EXISTS users;
CREATE TABLE users (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50),
    email VARCHAR(255) BINARY NOT NULL UNIQUE,
    pwd VARCHAR(255),
    profile TEXT,
    created DATETIME DEFAULT NULL,
    modified DATETIME DEFAULT NULL
);

お〜〜、emailはBINARYを使うのか〜、しかもUNIQEインデックスを付けると!
なるほど〜〜!!

Posts

DROP TABLE IF EXISTS posts;
CREATE TABLE posts (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    user_id INT UNSIGNED,
    title TEXT,
    body TEXT,
    created DATETIME DEFAULT NULL,
    modified DATETIME DEFAULT NULL,
    KEY user_id_created (user_id, created)
);

このuser_id_createdというインデックスは、複数インデックスというのか。。。知らなかった(^^;)

いや〜〜、勉強になるな〜。

Friends

DROP TABLE IF EXISTS friends;
CREATE TABLE friends (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    user_id INT UNSIGNED,
    friend_user_id INT UNSIGNED,
    status INT UNSIGNED,
    created DATETIME DEFAULT NULL,
    modified DATETIME DEFAULT NULL,
    UNIQUE KEY user_id_friend_user_id (user_id, friend_user_id),
    KEY user_id_status_modified (user_id, status, modified)
);

こちらも複数インデックスが追加になってます。
なるほどなるほど。。。

ちなみに私自身複数インデックスという技を知りませんでした(^^;)

調べたところ、以下のようなサイトを見つけました。

なるほどね〜〜。。。

というか、僕、CakePHPの前に、MySQLを勉強した方がいいんじゃない?的な感じです(^^;)

いや〜、ホント、勉強になるな〜〜(^^;)

感謝、感激!!

こちらの記事もあわせてどうぞ!

関連書籍

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://www.multiburst.net/ElectricBrain/2009/04/chase-of-training-the-cakephp-3/trackback
Listed below are links to weblogs that reference
「CakePHP修行」を追う #3 from ElectricBrain Standard

Home > CakePHP修行を追う > 「CakePHP修行」を追う #3

2010年カレンダー















Sponsored Link
今読んでいる本
RSS はてブ人気エントリー
楽天AD
楽ワード
Hatena Bookmark

この日記のはてなブックマーク数

feedburner

あわせて読みたい
Blogpolis
feedmeter

フィードメーター - ElectronicBrain is eating BreakFast

Trackword
Trackfeed

track feed ElectricBrain Standard

Return to page top