よくある質問テーブル内の ID フィールドは誤解されています。は主キーとして機能します。しかし、そうではありません。 ID フィールドは非リレーショナル概念であり、レコードの重複などの問題を引き起こす可能性があります。リレーショナル モデルでは、主キーはデータ自体から派生したものではなく、行の一意性を提供する一意の識別子です。
自動インクリメント機能をリレーショナル テーブルと統合するという考えは矛盾しています。リレーショナル テーブルには自動インクリメントの要件がなく、これを使用すると重複行が発生する可能性があります。
使用されるリレーショナル連想テーブルを検討してください。ユーザーとスポーツテーブルの間の関係を確立します。ユーザー テーブルの主キーはユーザー名で、スポーツ テーブルの主キーはスポーツ コードです。連想テーブル user_sport には、2 つの親テーブルの主キー (user_name、sport_code) を合成した主キーが必要です。これにより、行の一意性が保証され、ID フィールドが不要になります。
以上が自動インクリメントを使用せずにリレーショナル テーブルを設計し、データの整合性を維持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。