Ruby on Railsの特徴の一つとして、データベースのテーブルと、WEBアプリケーションのクラス構造が、自動的にマッピングされます。そのおかけで、アプリケーションを開発する際に、DBアクセスのためのModelメソッドをほとんど記述する必要がありません。

MVCフレームワーク内で、ORM（ Object/Relational Mapping ）を実現しているのですが、その恩恵を受けるためには、Railsの作法に則ったDBの使い方をすることがコツのようです。その辺りを、Rails 解説書をもとにメモ。

Railsでの、基本的なMySQLの設定と、Railsプロジェクトの作成は以下の記事を参照。

Ruby on Rails の MySQL設定 Mac OSX

データベースの作成

まずは、データベースのTable作成から。ホーム以下に、Railsというディレクトリを作成しているので以下の場所（tagsはRailsのプロジェクト名）。DBのテーブルを作成するSQL文は、こちらに置いておきます。

Rails/tags/db/create.sql

create.sqlの中身は、こんな感じのSQL文がテーブルの数だけあります。ここでのポイントは、二つあります。

最初は、テーブルの名前のつけかた。アプリケーション内で利用したいクラス・オブジェクト名の複数形をテーブルの名前にします。例えば、WEBアプリケーションで「tag」というクラス・オブジェクトを使いたい場合は、DBのテーブル名を「tags」にしておきます。英語ネイティブの人には直感的なのでしょうが、我々日本人はよく複数形を忘れるので（w。

二つ目は、PRIMARY KEYになるカラムを「id」という名前で作成しておくこと。「tag_id」とかにしてしまうと、Railsアプリケーションで、このテーブルをうまく扱うことができなくなります。とりあえず、アプリケーションから検索したいテーブルのPRIMARY KEYになるカラムは、「id」にしておくのが無難。

Drop table if exists tags; CREATE TABLE tags ( id MEDIUMINT unsigned NOT NULL AUTO_INCREMENT, name varchar(100) NOT NULL, PRIMARY KEY(id), UNIQUE (name), );

$ mysql tags_development <db/create.sql

テーブルを作成するには、ファイルからSQLを実行

テスト（tags_test）や、本番用（tags_production）のデータベースも忘れずにcreateしておきます。