我是数据库逻辑的新手。我有一个用于出租系统的Owners
和Borrowers
表。他们两个都共享类似的字段,例如“电子邮件,用户名,密码等”。而且它们彼此不同。
我的问题是:我如何将这些相似的字段合并到一个表中,因为我非常确定自己的实现是错误的。另一个问题是我无法正确确定Items
和Item_statuses
答案 0 :(得分:1)
设计表时,您不是根据列标题之间的相似性来组织表,而是根据它们之间的关系来组织表。
您的设计正在运行,您可以删除“ item_statuses”表并在“ items”表中创建“ status”列。
但是,让我们集思广益,以改进设计并考虑更多的业务逻辑。我们应该问一些问题,例如:
如果一个人经常成为借款人和所有者,我们将在数据库中以重复的记录结尾,因此,我们将仅使用所需字段制作一个称为“用户”的表,并在其中引用外键用户的“项目”表。
如果您应该跟踪项目的所有状态,请创建一个单独的表,称为“ items_log”,其中包含“日期”等字段,并使用引用项目表中该项目的外键。
我还将跟踪该项目的所有借用者,因此,我可以创建一个“ item_borrowers”表,其中“ borrower”引用用户,而“ item”则使用诸如“ Date”之类的字段引用该项目'。
还请记住,您应将哈希密码存储在数据库中,而不是纯文本。