うまくいけば、うまくいけばうまくいきますように。私はライブラリのためのDBを持っています。それらは何度も使用することができ、単なる名前より多くのデータを含んでいるので、私は著者の表を持っています。それから本のためのテーブルがあります。 Author_idという列を使ってAuthors to Booksをリンクするのに問題はありません。列内にXMLとして格納されたリストのidを持つテーブルをリンクするには
私がしようとしているのは、本に複数のIDを持つことができるので、IDのリストを含むAuthor_IDsという列があります。 Author_IDs列に私は:
<id>3478</id>
<id>6456</id>
MySQLではEXTRACTVALUE関数を使用し、私が使用して、1つまたは他のIDでテーブルをリンクすることができる: Author.id = EXTRACTVALUE(Book.Author_IDsを、 "/ ID [2 ] ")// 2番目のIDを取得します。
私の質問は、本の著者全員を自動的に表示できるようにしたいのですが、ループすることなく複数回リンクする方法がわかりません。私はすべての著者を私に見せるためにどのように結果を得ることができますか?
(または、これを実現するためのより良い方法はありますか?)
一部のようにそれを行っているだろう私がXMLを使用している理由は、別々のフィールドとしては実行されない複数の項目を含むフィールドが存在するということです。有名人の声明と表紙裏のレビューを取ってください。私はそれらを別々にしたいが、同じ分野では、しかし、それのためのテーブルの全体をしたくない、それぞれが一度しか使用されていないので。つまり、これはまともなやり方だと思いますので、author_idのbook_idのリストを含む3番目のテーブルがありますか? – Tanoshimi
幸いにも、まだ設計段階にあり、データはまだ追加されていません。しかし、私は、ほとんどすべてのコラムで複数のエントリーが必要だと感じています。そうであれば、アイテムごとに別々のテーブルを作成し、それらのテーブルをすべて接続するためのテーブルを作成する必要がありますか?著者とは別に、ジャンルを取る。この場合、書籍は複数のカテゴリに分類されます。キーワードカンマ区切りのリストとして扱うことができます。それは終わった時点でたくさんのテーブルのように思えます。 – Tanoshimi
明確にするために、書籍エントリに著者にリンクするものは何もありません。唯一のリンクはbooks_authorsテーブルの追加によって行われますか? – Tanoshimi