个人可以绑定/解绑一个企业,数据库如何设计?
发布于 3 小时前 作者 xuxu7 182 次浏览 来自 问答

个人和企业都可以发布文章,绑定企业后就以企业身份发布;解绑后就以个人身份发布。但只能用个人账户登录,请问账户表和文章表怎么设计?

我的方案,person 表保存个人信息和用户名、密码信息:

CREATE TABLE `person` (
  `person_id` int unsigned NOT NULL AUTO_INCREMENT,
  `company_id` int unsigned DEFAULT NULL COMMENT '企业认证id',
  `username` varchar(255) NOT NULL
  `password` varchar(255) NOT NULL
  PRIMARY KEY (`person_id`),
) 

CREATE TABLE `company` (
  `company_id` int unsigned NOT NULL AUTO_INCREMENT  COMMENT '企业认证id',
  PRIMARY KEY (`company_id`),
) 

CREATE TABLE `article` (
  `article_id` int unsigned NOT NULL AUTO_INCREMENT,
  `user_id` int unsigned NOT NULL AUTO_INCREMENT COMMENT 'person_id 或者 company_id',
  `user_type` varchar(20) NOT NULL COMMENT 'person 或者 company'
  PRIMARY KEY (`article_id`),
)  

但问题是:如果按如上方式设计 person、company 表的话,类似 article 的很多表就需要保存 user_type,比较麻烦,有更好的设计吗?

回到顶部