我应该关联两个表还是使用一个?
Should I relate two tables or use one?
所以我目前正在学习数据库和数据库设计,并且我坚持这个概念。
我有一个拥有所有者 table 和用户 table 的数据库。我想创建一个 API,允许用户注册,接收 api 令牌,然后根据他们的 permissions/roles.
访问特定的路由
虽然我对如何处理这些关系有点困惑。所有者可以是用户,但不一定是。无论他们是否创建了帐户,他们都会在数据库中。
如果用户的电子邮件地址与所有者的电子邮件地址匹配,最好的方法是同时使用所有者和用户 table 吗?然后我会显示所有者 table 为该用户(谁是所有者)提供的所有信息?
如果解释有点乱,请见谅。
你可以同时使用这两个 tables,从所有者 table 到用户的外键(这将使它足够灵活,你可以添加其他类型的用户)。
这样就可以很容易地完成您在这里的要求。
数据库 table 经常不必要地变得极度分散。这是一个经验法则,如果 owners table 不是一对多关系,详细信息最好存储在 Users table 中,并且只包含一个表示角色的列。然后你可以用一个简单的查询过滤掉用户:
SELECT * FROM dbo.users WHERE role != 'owner'
所以我目前正在学习数据库和数据库设计,并且我坚持这个概念。
我有一个拥有所有者 table 和用户 table 的数据库。我想创建一个 API,允许用户注册,接收 api 令牌,然后根据他们的 permissions/roles.
访问特定的路由虽然我对如何处理这些关系有点困惑。所有者可以是用户,但不一定是。无论他们是否创建了帐户,他们都会在数据库中。
如果用户的电子邮件地址与所有者的电子邮件地址匹配,最好的方法是同时使用所有者和用户 table 吗?然后我会显示所有者 table 为该用户(谁是所有者)提供的所有信息?
如果解释有点乱,请见谅。
你可以同时使用这两个 tables,从所有者 table 到用户的外键(这将使它足够灵活,你可以添加其他类型的用户)。 这样就可以很容易地完成您在这里的要求。
数据库 table 经常不必要地变得极度分散。这是一个经验法则,如果 owners table 不是一对多关系,详细信息最好存储在 Users table 中,并且只包含一个表示角色的列。然后你可以用一个简单的查询过滤掉用户:
SELECT * FROM dbo.users WHERE role != 'owner'