如何将两个表合并为一个数据库模式
How to merge two tables into one DB schema
我是数据库逻辑的新手。我有 Owners
和 Borrowers
table 用于租赁系统。它们都具有相似的字段,例如 "email, username, password, etc.",但也彼此不同。
我的问题是:如何将这些相似的字段合并为一个table,因为我很确定我的实现是错误的。另一个问题是我无法正确确定 Items
和 Item_statuses
之间的关系
当您设计 table 时,您不会根据列标题之间的相似性来组织它们,而是根据它们之间的关系来组织它们。
您的设计有效,您可以删除 'item_statuses' table 并在 'items' table 中创建一个 'status' 列。
但是,让我们集思广益来改进设计并考虑更多的业务逻辑。我们应该问一些问题,例如:
- 房主成为借款人的频率如何?
- 我应该跟踪项目的所有状态吗?
如果一个人经常是借款人和所有者,我们将在我们的数据库中以重复记录结束,因此我们将只制作一个名为 'users' 的 table字段,并为用户引用 'items' table 中的外键。
如果您要跟踪项目的所有状态,请创建一个名为 'items_log' 的单独 table,其中包含 'Date' 之类的字段以及引用该项目的外键在 table.
项中
我还会跟踪该项目的所有借款人,因此,我可以制作一个 'item_borrowers' table 和 'borrower' 来引用用户,并且 'item' 引用具有 'Date'.
等字段的项目
另请记住,您应该将散列密码存储在数据库中,而不是 plain-text。
我是数据库逻辑的新手。我有 Owners
和 Borrowers
table 用于租赁系统。它们都具有相似的字段,例如 "email, username, password, etc.",但也彼此不同。
我的问题是:如何将这些相似的字段合并为一个table,因为我很确定我的实现是错误的。另一个问题是我无法正确确定 Items
和 Item_statuses
当您设计 table 时,您不会根据列标题之间的相似性来组织它们,而是根据它们之间的关系来组织它们。
您的设计有效,您可以删除 'item_statuses' table 并在 'items' table 中创建一个 'status' 列。
但是,让我们集思广益来改进设计并考虑更多的业务逻辑。我们应该问一些问题,例如:
- 房主成为借款人的频率如何?
- 我应该跟踪项目的所有状态吗?
如果一个人经常是借款人和所有者,我们将在我们的数据库中以重复记录结束,因此我们将只制作一个名为 'users' 的 table字段,并为用户引用 'items' table 中的外键。
如果您要跟踪项目的所有状态,请创建一个名为 'items_log' 的单独 table,其中包含 'Date' 之类的字段以及引用该项目的外键在 table.
项中我还会跟踪该项目的所有借款人,因此,我可以制作一个 'item_borrowers' table 和 'borrower' 来引用用户,并且 'item' 引用具有 'Date'.
等字段的项目另请记住,您应该将散列密码存储在数据库中,而不是 plain-text。