Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 多用户数据库设计_Database_Database Design_Multiple Users - Fatal编程技术网

Database 多用户数据库设计

Database 多用户数据库设计,database,database-design,multiple-users,Database,Database Design,Multiple Users,我正在创建一个数据库模式,其中包含可以有多个用户的用户 我想注册不同的公司来使用web服务 例如: 用户A或B(etc)可以注册并创建公司帐户 用户A可以使用其他用户的类型创建多个帐户,类似于用户B 如果用户A或B创建不同的帐户,我如何知道该特定用户属于用户A或B公司?我认为用户表本身有多对多的关系(比如基本的友谊设计) 请推荐最好的设计 前 用户3,4属于用户A 用户5,6属于用户B一般来说,我建议从识别您试图持久化的所有实体开始。听起来你的问题中有两个截然不同的实体。一个是“用户”,代表

我正在创建一个数据库模式,其中包含可以有多个用户的用户

我想注册不同的公司来使用web服务

例如:

  • 用户A或B(etc)可以注册并创建公司帐户
  • 用户A可以使用其他用户的类型创建多个帐户,类似于用户B
如果用户A或B创建不同的帐户,我如何知道该特定用户属于用户A或B公司?我认为用户表本身有多对多的关系(比如基本的友谊设计)

请推荐最好的设计

用户3,4属于用户A


用户5,6属于用户B

一般来说,我建议从识别您试图持久化的所有实体开始。听起来你的问题中有两个截然不同的实体。一个是“用户”,代表一个人。第二个实体是“公司”,“用户”可以属于公司

数据库设计的一个例子是为用户提供一个表,为公司提供一个表。在“users”表中,您希望有一个外键列引用用户所属公司的主键(唯一id)。如果每个用户只能属于一家公司,这将成为一种简单的一对多关系


简言之,我强烈建议将公司帐户与用户帐户分开处理,因为它们是根本不同的实体

一般来说,我建议您首先确定要持久化的所有实体。听起来你的问题中有两个截然不同的实体。一个是“用户”,代表一个人。第二个实体是“公司”,“用户”可以属于公司

数据库设计的一个例子是为用户提供一个表,为公司提供一个表。在“users”表中,您希望有一个外键列引用用户所属公司的主键(唯一id)。如果每个用户只能属于一家公司,这将成为一种简单的一对多关系


简言之,我强烈建议将公司帐户与用户帐户分开处理,因为它们是根本不同的实体

是的,你是对的,你管理着与自身的多对多关系是的,你是对的,你管理着与自身的多对多关系。。