ユーザーがTo-Doタスクを(多かれ少なかれ)CRUDできるようにするアプリ用にこのデータベースを設計する最良の(最も論理的な)方法を見つけようとしていますが、それらはハードコードされたカテゴリに編成されています.
たとえば、お気に入りのデパートに行こうとしているとします。女性のフロアに行き、ガールフレンドが注文した靴とそれに合うドレスを受け取る必要があります (店の完全に反対側にありますが、同じフロアにあります)。弟のために売り場に行って、ショーツを 2 組、パンツを 1 組、新しい靴を 1 組選びます。
レディース フロアとボーイズ デパートは、ショッピング リストのアイテムが分類されるカテゴリの 2 つの例です。
したがって、次のようになります。
* Women's Floor
1 Pair Shoes
1 Dress
* Boy's Department
2 Shorts
1 Pant
1 Pair Shoes
したがって、私のデータベース設計は次のようになります...
Categories: id, title
ListIndex: id, user_id
ShoppingList: id, listindex_id, category_id, item_id, order, active
Items: id, name, category_id
カテゴリは、男の子の部門、女性のフロアなどです。ユーザーは新しいカテゴリを作成できませんが、代わりに、カテゴリを事前に定義します。
ListIndex は、ショッピング リスト全体に対するマスター リレーションを提供します。
ShoppingList は実際のショッピング リストになります (active は 0/1 になるため、ユーザーは商品を購入したことを思い出させたり、カートに入れたりすることができます)。
アイテムには、To Do タスクに入れることができるアイテムのリストがあります。バックエンドでこれらを自分たちで分類します。
これは正しい方法ですか?