属性に従って項目を分類するための 4 つのレベルがあります。一部のアイテムはすべてのサブカテゴリ レベルを必要としない場合があり、一部のアイテムは同じサブカテゴリ値を共有する場合があります。
例:
Category1 Category2 Category3 Category4
--------- --------- --------- ---------
Jewelry Ring Wedding
Jewelry Bracelet Serpentine
Jewelry Necklace Serpentine
Equipment Tool Power Drill
Equipment Tool Hand Jigsaw
Accessory Battery AA
Accessory Movie DVD Action
Accessory Game PS3 Combat
ユーザーが最初のカテゴリのドロップダウン リストから値を選択すると、次のサブカテゴリの対応する値が自動的にドロップダウン (カスケード) されるように、ルックアップ テーブルに各項目に関連する値を含めたいと考えています。
ほとんどの一般的なアイテムに対して、削除不可、更新不可の値を事前に定義しますが、ユーザーが 2 番目のレベルから下に値を追加できるようにするために、考えられるすべてのアイテムを提供することはできません。
各アイテムを分類する目的は、アイテムを記述し、クエリが必要なすべてのアイテムを効果的に返すための統一された方法を提供することです。
質問:
ユーザーによって追加された新しい値が、親または子の値に適切にリンクされるようにするにはどうすればよいですか?
ユーザーが新しいカテゴリとサブカテゴリを追加できるようにする必要がありますか、それとも事前定義された値からのみ選択するように強制する必要がありますか?
私が定義した現在の方法は最良の方法ですか、それともより良い提案がありますか?
以下は、私が定義した現在のテーブルと関係です。
Columns MS-Access Informix Comments
-------------- ------------ -------- ----------------------------------------
Primary keys Autonumber SERIAL
Foreign keys Long Integer INTEGER
English Text VARCHAR Description in English language.
Spanish Text VARCHAR Description in Spanish language.
NonDelete Yes/No CHAR(1) Cant delete predefined value if TRUE.
NonUpdate Yes/No CHAR(1) Cant update predefined value if TRUE.
Deleted Yes/No CHAR(1) User-defined value cant be used anymore.
StockKeptUnit Yes/No CHAR(1) Non-serialized inventory item if TRUE.