首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库中的笔记系统

数据库中的笔记系统
EN

Stack Overflow用户
提问于 2014-09-23 10:22:54
回答 2查看 886关注 0票数 0

我目前正致力于在Access 2013年建立一个ERP/CRM数据库,以涵盖运营企业的所有非财务方面,如客户/供应商信息、联系人、订单和交货跟踪等。

我们生产制造量能细木工产品(窗、门等).我发现的一件事是,我需要有能力在数据库中的几乎每个表中记录记录。例如,我可能想在下面的表格上写笔记:

  • tblAccount保存了客户和供应商的信息。“这个顾客总是有特殊的玻璃”。
  • tblDelivery --“顾客要求司机停车在伦敦路的房子后面”。
  • tblQuote -“报价不包括钢的木材覆层-由他人供应”。

等等

因此,目前我有一个tblNote,它有以下字段:

  • NoteID - PK
  • AccountID - FK到tblAccount
  • DeliveryID - FK到tblDelivery
  • QuoteID - FK到tblQuote
  • 其他表中还有几个FKs,这些表包含了我可能需要记录的内容。
  • 将备注输入到系统的数据库用户的EnteredByUsedID - FK到tblUser
  • 输入了EntryDate -日期说明
  • NoteText -注文
  • CommTaskID -稍后解释-见下文

当输入新注释时,其他表的大部分FKs将为空白(除了说明实际上涉及的那些表)。注释将在一个子表单上查看,例如,当浏览客户帐户时,将有一个框显示关于该客户的注释。

在自己的表中有注释的原因是,数据库中的每条记录(例如,客户帐户)可能需要附加一个以上的注释。

我还想实现任务分配和跟踪,以及通信日志记录。例如,当我们接到潜在新客户的电话询问报价时,我们将记录该电话已经收到,以及客户的详细联系方式,请注意,他们已经要求报价以及关于他们想要的报价的次要细节,再加上标记,以供特定的数据库用户或没有指定的人所要求的操作。它也可能被创建为

考虑到这一点,我有了tblCommTaskLog,它有以下字段:

  • CommTaskID - PK
  • CommMethodID - FK到tblCommMethod,它持有Phone callFaxEmailIn Person之类的东西.
  • AccountID -联系人(客户/供应商)的帐户记录
  • 输入此记录的用户的EnteredByUserID FK。
  • EntryDate
  • IsActionRequired -布尔型
  • ActionRequiredByUser - FK到user表,以标记需要对该项采取行动的用户(如果任何人可以完成此操作,则可能为空)。
  • ActionCompletedDate -将操作标记为已完成的日期。
  • ActionCompletedByUser -为完成任务的用户提供另一个FK到user表。

如上所述,便笺表中有一个CommTaskID,它允许您创建便笺记录,其中包含有关通信或任务的任何相关注释。

基本上,我的问题是:是否有更好的方法来解决这个问题?我是不是遗漏了什么?这似乎是一个笨拙的方法,但我无法提出一个更好的方法,遵循DB规范化规则。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-23 14:57:09

你的想法对我来说是对的。我必须将备注集成到现有的DB中,您肯定只想要一个notes表,其中包含一个字段,该字段指定便笺所属的表以及该注释绑定到的表中的主键。

所以,我想也许你想要这个

  • NoteID - PK
  • TableID - FK到一个新表,它存储表的名称()。
  • TablePK - FK到TableID中引用的表中的主键
  • 其他表中还有几个FKs,这些表包含了我可能需要记录的内容。
  • 将备注输入到系统的数据库用户的EnteredByUsedID - FK到tblUser。
  • 输入了EntryDate -日期说明
  • NoteText -注文
  • CommTaskID -稍后解释-见下文

这样,您就可以知道它属于哪个表,以及它属于哪个表中的记录。

在查询中,您可以简单地将TablePK连接到表中的键,并根据要加入的表筛选TableID。

或者,如果您需要建立关系,您可以简单地向所有表中添加一个新字段,其中包含它们的TableID。

票数 1
EN

Stack Overflow用户

发布于 2014-09-23 11:42:32

只是一个想法,但是否更有意义的是,有一个笔记表,为每一张表,你想做笔记?

TblCustomer TblCustomerNotes

TblProduct TblProductNotes

等。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25992670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档