dbの製品のカテゴリ情報を保持する方法に関するいくつかの質問があります。例えば、私のアプリのデータソースは、一部の製品についての情報を含むXMLです:製品のカテゴリをdbで保持する方法
<product>
<productId>728737283</productId>
<productName>chocolate</product>
<productPrice>78</productPrice>
<productCategory>Sweets</productCategory>
</product>
<!------other products--------->
すべての製品が、その後の情報を解析された後に私のアプリは、各製品に関連した情報を解析し、DBに保存する必要があります各製品のdbに保存されます。いくつかの制約があります.xmlはStAXパーサーを使用して解析され、XMLを1回トラバースすることが許可されています。問題は、dbには2つのテーブルがあります.1つは製品用で、もう1つは関連する製品カテゴリです。カテゴリテーブルには、2つの列があります。
CategoryId(PK, AI),CategoryName(UNIQUE)
また、製品表には製品のカテゴリに関連する列があります。私の質問は、この場合です:製品テーブルのカテゴリに関連する列には、カテゴリまたはカテゴリIDの明示的な名前が含まれますか? CategoryテーブルのCategoryIdがProductテーブルの外部キーになるのは普通でしょうか?しかし、この場合、dbに新しい製品を挿入する際に問題が発生します.xmlにはカテゴリ名だけが含まれているため、カテゴリIDはわかりません。この場合、どのように進めるのが良いですか?この場合に使用される正しいDAO、適切なDTO、適切なデータモデルをどのように見えるかについても興味があります。