多个类别的数据库设计

时间:2018-01-03 16:35:53

标签: mysql sql database sqlite database-design

我正在尝试为多个类别设计数据库 以下是表格

用户

id | first_name | last_name | password | profile_image

类别

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

users_category

id | user_id | category_id

作者

id | user_id | author_detail | author_started_book |

authors_books

id | author_id | book_name |

显影剂

id | user_id | developer_programing_skill

developer_websites

id | developer_id | website_name |website_link

就像表格将为其他类别

创建一样

我也听说过EAV模型,但我不擅长数据库设计,我试图理解它,但对我来说非常复杂。 但是这个数据库设计看起来并不好。所以我想从堆栈溢出的人那里寻求一些帮助。

1 个答案:

答案 0 :(得分:2)

你的模型足够好,但我想提供一些改进:

  1. 最好有一个UsersPeoples表,并使用User_ID作为F.K进入People表。此策略有助于在项目中实现模块化身份验证

  2. 您无法在一个表格中收集所有类别表格(作者,开发人员,会计师,商人等)。它们具有不同的属性。 ,他们可能有共同属性。因此,您可以使用People_Categories表来添加所有类别的人员。然后,您可以在所有类别表(作者,开发人员,会计师,商人等)中使用People_Categories的{​​{1}}作为F.K。

  3. 另一方面,ID表类似于没用。要以有用的方式保存数据,users_category表的Category可以在ID中用作F.K。

  4. 最后看到我描述的ER:

    enter image description here