アットウィキロゴ

データベースの定義を変更する

上記モデルをデータベースの定義に変換してみる。以下のようなSQLが考えられる。
CREATE TABLE categories (
   id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
   name VARCHAR(50),
   created DATETIME DEFAULT NULL,
   modified DATETIME DEFAULT NULL
);

CREATE TABLE posts (
   id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
   category_id INT UNSIGNED, ←①
   title VARCHAR(50),
   body TEXT,
   created DATETIME DEFAULT NULL,
   modified DATETIME DEFAULT NULL,
   KEY category_id (category_id) ←②
);

CREATE TABLE comments (
   id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
   post_id INT UNSIGNED, ←③
   name VARCHAR(50),
   comment TEXT,
   created DATETIME DEFAULT NULL,
   modified DATETIME DEFAULT NULL,
   KEY post_id (post_id) ←④
);

 このテーブルをphpMyAdminで登録してみる。blogデータベースにpostsテーブルを作成したときと同じ要領。ただし、postsテーブルにはcategory_idが追加されていて(①)、インデックス(②)になっているので注意。
 同様にcommentsテーブルにもpost_idとうインデックスを忘れずに作成する(③、④)。

※本来テーブルの結合は外部キーにして制約を設けたほうが良いが、ここでは省略。
最終更新:2007年05月15日 18:59