同じテーブルからの外部キーになる可能性のあるテーブルに 2 つの列があっても問題ありませんか?
例えば:
列を持つ「住所」テーブルがあります:
id、street、city_id、state、country(またはid、street、city_id、state_id、state_id)
州と国を保持する「州」テーブルがあります:ID、名前、レベル
では、states_id を住所テーブルの州と国に入れることはできますか (上の括弧のように)?
同じテーブルからの外部キーになる可能性のあるテーブルに 2 つの列があっても問題ありませんか?
例えば:
列を持つ「住所」テーブルがあります:
id、street、city_id、state、country(またはid、street、city_id、state_id、state_id)
州と国を保持する「州」テーブルがあります:ID、名前、レベル
では、states_id を住所テーブルの州と国に入れることはできますか (上の括弧のように)?
はい、まったく問題ありません。
Ed Gibbs の言うとおりです。州が国を意味する場合は、そうしないでください。
State
あなたの例では、わかりやすくするためにテーブルをとのように 2 つの異なるテーブルに分割する方がよいかもしれませんCountry
が、一般的な観点からは、この方法に問題はありません。
このケース (両方とも別のテーブルを参照するテーブル内の 2 つの FK) は、たとえばmessages
テーブル内で asender
と areceiver
があり、どちらも同じusers
テーブルを参照する場合によく発生します。