我对数据库设计还是个新手,我遇到了一些困难。
我有一个产品表,它有一个主类别和子类别属性,我很难为他们的数据库表和类图确定一个好的设计。
例如,橙子的 main_category 为“Fruit”,其子类别为“pulpy fruit”,另一种产品可能为 Broccoli,其 main_category 为“Vegetable”,其子类别为“Fibrous Vegetables”。所以我相信子类别也在 main_category 下,根据所选的 main_category,可以选择子类别列表。
我现在的设计是这样的:
======================= ======================= =====================
| PRODUCT | | SUBCATEGORY | | MAIN CATEGORY |
======================= ======================= =====================
| PK id | |PK id | |PK id |
| name | ---> | name | ---> | name |
| FK main_category_id | |FK main_category_id | =====================
| FK subcategory_id | ======================= ^
======================= --------------------------------------------------|
但我对我目前的设计有疑问,想问问你的意见,这个设计是否可以接受,或者有没有更好的设计方法。
另外,就 OOP 而言,这将是什么类型的关系?