mysql多类别数据库设计

oxf4rvwz  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(335)

我正在尝试为多个类别设计数据库,下面是表格
用户

id | first_name | last_name | password | profile_image

类别

id | category_name 
1 | Author
2| Politician
3 | Developer

用户类别

id | user_id | category_id

作者

id | user_id | author_detail | author_started_book |

作者与书籍

id | author_id | book_name |

开发商

id | user_id | developer_programing_skill

开发者网站

id | developer_id | website_name |website_link

类似于为其他类别创建表的方式
我也听说过eav模型,但我不擅长数据库设计,我试图理解它,但对我来说非常复杂。但是这个数据库设计看起来不太好,所以我想向堆栈溢出的人寻求一些帮助。

92vpleto

92vpleto1#

你的模型很好,但我想提供一些改进:
最好有一个 Users 以及 Peoples 表和使用 User_ID 作为f.k.进入 People table。此策略有助于在项目中使用模块化身份验证。
不能将所有类别表(author、developer、accountant、business man等)收集到一个表中。它们有不同的属性。但是,它们可能有共同的属性。所以你可以用 People_Categories 表以添加人员的所有类别。那你可以用 People_CategoriesID 作为f.k在所有类别表中(作者、开发者、会计师、业务员等)。
另一方面, users_category 表类似于没有用。为了以有用的方式保存数据 Category table的 ID 可作为f.k in People_Categories .
最后请看下面我描述的er:

相关问题