他の値の集合を指し示す1つのテーブルに外部キーを入れたい。MYSQL:外部キーにコレクションが含まれていますか?
たとえば、親テーブルと子テーブルを作成します。それぞれの親は、すべての子供、そして各子供は親を含むべきです。
私はMySQLでこれを行うことができますか?はいの場合はどうしたらいいですか?それ以外は何ができますか?
他の値の集合を指し示す1つのテーブルに外部キーを入れたい。MYSQL:外部キーにコレクションが含まれていますか?
たとえば、親テーブルと子テーブルを作成します。それぞれの親は、すべての子供、そして各子供は親を含むべきです。
私はMySQLでこれを行うことができますか?はいの場合はどうしたらいいですか?それ以外は何ができますか?
私が正しく理解していれば、これは単に外部キー関係です:
create table children as (
childId int auto_increment primary key,
parentId int not null,
. . .
constraint fk_children_parent foreign key (parentId) references parents(parentId)
);
これはあなたの2 requiremens満たし:
あなたは親のための子供をしたい場合は、操作を行います。
select parentId, group_concat(childId) as children
from children
group by parentId;
外部キーは、2つのテーブル間の関係を強制するの列(または列の集合)を定義します。正確なデータを保証するために、この関係を強制するのはデータベースサーバーの責任です。外部キーのモデル定義は、子(外部)表で次に参照される固有のデータ・セットを含む親(1次)表で構成されます。完全な説明については
はこれを見て持っている:http://www.sparxsystems.com/enterprise_architect_user_guide/12.1/database_engineering/foreignkeys.html
リレーショナルDBMS(SQL)の任意の風味を使用している場合は、コレクション、親のためのあなたの必要性を再公式化する必要があり、エンティティと関係の言語で子供たち。 https://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model次に、あなたの関係を定義するためにあなたのエンティティとfksと一緒に行くためのテーブルを作るほうがはるかに簡単です。 –
質問を編集し、データを使用した例を提供してください。 –
こんにちは、ようこそ、StackOverflow、ykaner。あなたが扱っているデータを示すASCIIアートダイアグラムを描くことをお勧めしますか? –