標準SQLでセットを使用する必要があります。私は何かのセットからの選択のような列のタイプを記述する必要があります(Example Color=[Red, Green, Blue])
。チェック制約を使用するか、ツリーレコード(赤、緑、青)のルックアップテーブルを作成できます。各方法のプラスとマイナスは何ですか?私はこのソリューションを普遍的なものにして、可能な限り多くのSQLサーバーを使用する必要があります。制約をチェックすると適切なルックアップテーブル
0
A
答えて
2
ユニバーサルにする必要がある場合は、ルックアップテーブルを使用します。
チェック制約はMySQLで完全に実装されていません(構文は受け入れられますが、チェックされません)。
ルックアップテーブルのもう1つの利点は、関連するすべてのチェック制約を動的に書き換えることなく、新しいオプションを追加する管理機能を提供することが容易になることです。
チェック制約がルックアップ・テーブルに対して持つ利点は、オプティマイザが潜在的に矛盾の検出を使用できることです。 SQL Serverでは、WHERE Colour = 'Purple'
のクエリでは、SQL Serverがコンパイル時にチェック制約によって回避できないことがあるため、テーブルを読み取ることさえできません。
関連する問題
- 1. MySQLとチェック制約
- 2. 制約定義が適切オラクル
- 3. UIコントロールとハンドル制約を適切に表示/隠す方法
- 4. チェック制約
- 5. チェック制約
- 6. チェック制約
- 7. 制約のチェック
- 8. チェック制約
- 9. 制約とケースステートメントのチェック
- 10. 適切な機能をチェック
- 11. 不適切な制約を含むビューのサブビューをスクロール
- 12. 適切なアップデート方法をスウィフトUITableViewCellの制約
- 13. すぐに制約を適切にアクティブにする方法
- 14. 不適切に作成された制約を編集する
- 15. 遅延制約チェック
- 16. NHibernateのチェック制約
- 17. DB2 SQLチェック制約
- 18. Oracleが制約チェック
- 19. ConstraintLayoutで適切に制約されていない項目
- 20. 予約語のSQLスキーマをチェックし、適切な交換を見つける
- 21. テーブルビューのセル内でコレクションビューの制約を設定する適切な方法
- 22. 双方向キーの適切なデータ構造<-> valルックアップテーブル
- 23. MySQLの制約をチェックする
- 24. SQLの制約をチェックする
- 25. Postgres:INSERTのみをチェックする制約
- 26. DB制約なしの一意性チェック
- 27. のpostgres:制約チェックとnull値
- 28. SQLiteチェック制約とSQLite DBブラウザ
- 29. チェックSQLの制約が
- 30. SQL Server 2012 - チェック制約
"*完全に実装されていない*"は、控えめな記述です。 MySQLは単に実装されていません –