Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.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
Sql 表';关系_Sql_Sql Server_Tsql - Fatal编程技术网

Sql 表';关系

Sql 表';关系,sql,sql-server,tsql,Sql,Sql Server,Tsql,我开发了简单的数据库,但我混淆了下一个问题:我为'Employe'、'Author'和'Manager'分离了实体(表)。在“Employe”表中,我有一列“Appointment”,它可以包含一些职业,特别是“Author”和“Manager”(但它也可以包含另一个职业,例如“Seller”,“版权人”等)。如何在数据库中实现它?我使用什么关系? < P>我认为你应该考虑把你的职业抽象成角色表。按以下结构排序: RoleID | RoleName 1 | Author 2

我开发了简单的数据库,但我混淆了下一个问题:我为
'Employe'
'Author'
'Manager'
分离了实体(表)。在“Employe”表中,我有一列“Appointment”,它可以包含一些职业,特别是
“Author”和
“Manager”
(但它也可以包含另一个职业,例如
“Seller”
“版权人”
等)。如何在数据库中实现它?我使用什么关系?

< P>我认为你应该考虑把你的职业抽象成<代码>角色<代码>表。按以下结构排序:

RoleID | RoleName
   1   |  Author
   2   |  Manager  
   3   |  Copyrighter
etc...

然后,您的
Employee
表的
Appointment
列将包含此
角色
表的外键(
RoleID
):

是否可以在单个表中组合作者和经理实体?@voo我以后如何区分它们?在新角色表中创建Id字段RoleID和RoleName,并将它们作为一个键分配到您的单个表中?这看起来不错,但它只是对“如何填写员工表的约会栏”这一问题的回答。在我的例子中,我已经将与“合同”实体相关的“经理”和“作者”的表以及一些额外的表分开。是否没有必要在“经理”、“作者”和“角色”表(您添加的)之间创建一些额外的关系?