はてなブックマークのような「タグ」機能をつけたものを作りたいと思っています。
一つのレコードに対して、ユーザーが定義したキーワードのタグを複数割り当てることが出来るものです。
さらに、そのタグが削除されれば、全部のレコードからそのタグのみ削除されたり、
タグごとにいくつのレコードにそのタグが割り当てられているか集計出来たり、
タグによる絞り込みや、新規レコード登録の際にすでに定義されたタグ
(そのタグをもったレコードが存在するという事)を動的に読み出して、
入力の選択肢として再利用するような感じです。

どんなテーブル構成にしたらよいのか、このタグをいったいどういう風にDBに格納するべきか
・タグひとつにつき1フィールドで1か0のフラグ?
・1フィールドにタグを配列で?
なんだか漠然として全然考えがまとまりません。
なにかアドバイスがあったらおながいします。

環境はPHP4.3.1、MySQL 3.23.58です。(本番用のレンタル鯖)