フィールドの入力エラーを制限しようとしています。私が構築しているサイトには、車に関するデータが含まれています。
車には、リストから複数の機器 (エアコン、ABS、レザー シートなど) を含めることができます。データ入力のエラーを防ぐか、少なくとも最小限に抑えたいと考えています。
エラーの最初のケースは、相互に排他的な 2 つ以上の機器に対してデータが入力された場合です。たとえば、車には手動空調と自動空調と自動空調のバイゾーンを装備することはできません。それらのうちの1つだけが車に存在できます。
エラーの 2 番目のケースは、前提条件なしで機器のデータが入力された場合です。たとえば、必要な ABS なしで緊急ブレーキ アシスト (BA) に入ります。車は BA なしで ABS を持つことができますが、BA は ABS のある車にのみ存在します。
データが入力されるテーブルは簡単です。各車 ( version_id ) には、複数の機器 (トリム) またはトリム ID があります。Version_id と trim_id は、それぞれテーブル バージョンとトリムの FK です。そのため、存在しない trim_id または version_id のエラーは、テーブル versiontrim で既に処理されています。
テーブル versiontrim (データ エラーを最小限に抑えたい場所)
version_id trim_id
テーブルのトリム:
trim_id trim trimtype
テーブルのバージョン
version_id model_id version active bodytype places motor_id etc...
助けていただければ幸いです。