gpt4 book ai didi

sql - 容纳一对多和一对多(或一对*)关系的最佳实践是什么?

转载 作者:搜寻专家 更新时间:2023-10-30 22:22:36 25 4
gpt4 key购买 nike

只是好奇解决以下问题的最佳实践是什么。我有机构、账户和用户表。机构和账户是一对多的关系。机构和用户是一对多的关系。用户和帐户具有多对多关系,或者他们可以具有多对多(或 *)帐户。这意味着,可以将一个用户指定给所有帐户,以及添加到该机构的任何新帐户,该用户无需明确添加关系即可访问。

最佳答案

我会这样做:

Institutions
InstitutionID INT IDENTITY(1,1) NOT NULL PRIMARY KEY
Name VARCHAR(255)

Users
UserID INT IDENTITY(1,1) NOT NULL PRIMARY KEY
Username VARCHAR(255) NOT NULL
InstitutionID INT NOT NULL

Accounts
AccountID INT IDENTITY(1,1) NOT NULL PRIMARY KEY
Account VARCHAR(255) NOT NULL
InstitutionID INT NOT NULL

Users_Accounts
Users_AccountsID INT IDENTITY(1,1) NOT NULL PRIMARY KEY
UserID INT NOT NULL
AccountID INT NULL

Users_Accounts 表中拥有一个带 NULL 条目的用户 ID 具有全局 (*) 访问权限。这样,您可以确定任何帐户和/或用户的机构及其权限。

编辑:不同表中具有相同名称的列表示外键。如果您不做重负荷,请使用它们。

关于sql - 容纳一对多和一对多(或一对*)关系的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1094687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com