SQL 表格设计布局
SQL tables design layout
我正在尝试使用非常基本的表来设计我的数据库,但我对正确的方法感到困惑。
我附上了主要信息的图片,但我不太确定如何 link 它们。意思是什么应该是外键,或者这些表中的一些应该包括其他表的 LIST<>。
表格更新
取决于您是希望拥有规范化数据库还是其他类型的设计范例。我建议阅读一些有关数据库规范化和参照完整性概念的文章。
我会做的是将 table 具有一对一关系的 account/manager 变成单个 table(除非你能想到一个很好的理由不到)。将 Clientid 作为外键添加到 Account。将 AccountID 作为外键添加到 TradeDetail。您基本上将所有内容设置为 1 到许多关系,其中具有 1 个 id 记录的 table 将字段作为主键,而 table 具有许多字段作为外键。
根据您的要求,您对联想的看法是正确的table
-
客户可以有多个账户一个账户可以有多个客户
然后,许多(客户)到许多(帐户)
所以,首先创建一个关联 table 来打破多对多关系。那就这样加入吧
- 账户只能有一个管理员
这意味着一个(经理)到多个(帐户)
因此,在 Accounts 中添加一个名为 ManagerID 的属性
- 账户可以有多个traedetail
这意味着一个(账户)到多个(交易详情)
因此,在 TradeDetails 中添加一个名为 AccountID 的属性
我正在尝试使用非常基本的表来设计我的数据库,但我对正确的方法感到困惑。
我附上了主要信息的图片,但我不太确定如何 link 它们。意思是什么应该是外键,或者这些表中的一些应该包括其他表的 LIST<>。
表格更新
取决于您是希望拥有规范化数据库还是其他类型的设计范例。我建议阅读一些有关数据库规范化和参照完整性概念的文章。
我会做的是将 table 具有一对一关系的 account/manager 变成单个 table(除非你能想到一个很好的理由不到)。将 Clientid 作为外键添加到 Account。将 AccountID 作为外键添加到 TradeDetail。您基本上将所有内容设置为 1 到许多关系,其中具有 1 个 id 记录的 table 将字段作为主键,而 table 具有许多字段作为外键。
根据您的要求,您对联想的看法是正确的table
-
客户可以有多个账户一个账户可以有多个客户
然后,许多(客户)到许多(帐户)
所以,首先创建一个关联 table 来打破多对多关系。那就这样加入吧
- 账户只能有一个管理员
这意味着一个(经理)到多个(帐户)
因此,在 Accounts 中添加一个名为 ManagerID 的属性 - 账户可以有多个traedetail
这意味着一个(账户)到多个(交易详情)
因此,在 TradeDetails 中添加一个名为 AccountID 的属性