我正在尝试为多个类别设计数据库,下面是表格
用户
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模型,但我不擅长数据库设计,我试图理解它,但对我来说非常复杂。但是这个数据库设计看起来不太好,所以我想向堆栈溢出的人寻求一些帮助。
1条答案
按热度按时间92vpleto1#
你的模型很好,但我想提供一些改进:
最好有一个
Users
以及Peoples
表和使用User_ID
作为f.k.进入People
table。此策略有助于在项目中使用模块化身份验证。不能将所有类别表(author、developer、accountant、business man等)收集到一个表中。它们有不同的属性。但是,它们可能有共同的属性。所以你可以用
People_Categories
表以添加人员的所有类别。那你可以用People_Categories
的ID
作为f.k在所有类别表中(作者、开发者、会计师、业务员等)。另一方面,
users_category
表类似于没有用。为了以有用的方式保存数据Category
table的ID
可作为f.k inPeople_Categories
.最后请看下面我描述的er: