私は2つのテーブルを持っています:foosとbars、そしてそれらの間には多対1の関係があります:それぞれfooが多くを持つことができますbars。foobarsこれらの2つのテーブルを結合するビューもあります(そのクエリはのようなものですselect foo.*, bar.id from foos, bars where bar.foo_id=foo.id)。
foo編集: sとsの間に多対多の関係があると言ったとしても、間違いではありませんbar。ただし、 Abarは単なるタグであり(実際にはサイズです)、その名前だけで構成されています。このテーブルbarsには、リンクテーブルと同じ役割があります。
foobars「foo」の部分がfoos新しい行として挿入され、コンマで区切られた2つのbar-idで構成される「bar」の部分が分割され、そのような部分ごとにリンクが挿入されるように挿入するルールがあります。それと適切なものの間にfoo作成されます(私はそれを行うための手順を使用します)。
これはインサートに最適です。しかし、全体を更新することになると、私には問題があります。ルールのfoo一部は簡単です。barしかし、複数の部分の扱い方がわかりません。ルールのようなことをしようとするとDELETE FROM bars WHERE foo_id=new.foo_id、テーブルからすべてを削除しなくなりますbars。
私は何が間違っているのですか?必要なことを達成する方法はありますか?最後に、全体に対する私のアプローチは賢明ですか?
(取得するデータは「<code> fooとそのすべて」の形式であるため、ビューを使用してこの非常に複雑なことを行いますbarが、ユーザーは表示する必要がありますfoobars。)