Sql server 2008 r2 在同一个表中建立一对多关系是否安全且值得推荐?

Sql server 2008 r2 在同一个表中建立一对多关系是否安全且值得推荐?,sql-server-2008-r2,one-to-many,Sql Server 2008 R2,One To Many,我正在使用SQLServer2008R2和VisualStudio.NET4C# 我有著名用户表。考虑其设计: UserID Username Password UsertypeID -- this is a foreign key, linked to 'UserTypes' table to distinguish between super admins, admins, and dummy users 我想向名为“CreatorID”的用户添加一个新字段。原因是每个“虚拟用户”都是由

我正在使用SQLServer2008R2和VisualStudio.NET4C#

我有著名用户表。考虑其设计:

UserID
Username
Password
UsertypeID  -- this is a foreign key, linked to 'UserTypes' table to distinguish between super admins, admins, and dummy users
我想向名为“CreatorID”的用户添加一个新字段。原因是每个“虚拟用户”都是由管理员创建的,我想知道这个管理员。然后,用户表设计将如下所示:

UserID
Username
Password
UsertypeID  -- this is a foreign key, linked to 'UserTypes' table to distinguish between super admins, admins, and dummy users
CreatorID
所以,我的目的是在同一个用户表中(使用SQL SERVER 2008)在“CreatorID”和“UserID”之间建立一对多关系,但我有点担心(因为这是我第一次做这样的事情)。这样做有什么缺点吗?SQL SERVER 2008在这种关系方面会有任何问题吗?这是实现我的需要的最合适的方式吗

我感谢你对这一目的的阐述。
谢谢,

我认为你的建议很好。唯一的问题可能是如果管理员离开你,你就不能(而且可能无论如何都不会)删除或归档他们的记录。我会在需要删除无效管理员时设法删除他们,以避免你提到的问题。另外,完全删除用户不是一个好主意,让我们保留他们的记录吧。谢谢你的建议:)很普通的设计。一个次要问题是第一个用户。他们是他们自己的创建者还是他们的创建者为空?我打算让第一个用户的创建者为空,我不想卷入无限循环的风险中。