【问题标题】:Crows-foot notation in an Sqlite database modelSqlite 数据库模型中的乌鸦脚符号
【发布时间】:2013-04-11 17:03:00
【问题描述】:

我开始掌握使用“crows-foot”符号来设计使用 Navicat 的 Sqlite 数据库。在旨在让用户启动和运行该软件的书籍章节中,我遇到了以下示例,其中包含 ER 图和一些解释性文本:

类别表和任务表之间存在多对一的关系。在我们的例子中,一个任务可以有一个与之关联的类别,但一个类别下可以有许多任务。因此,一个任务可以分配给一个用户,但一个用户可以有很多任务。

我很惊讶地读到这个,因为符号似乎与描述不一致。我阅读这些图表的方式(通过检查互联网上各种免费提供的示例得出)是从表格开始(比如 Task),然后查看“附加”到相关表格的符号(在本例中为“一个或多个”)并构建如下关系:任务属于“一个或多个类别。这种关系当然是可能的,但它似乎与对所需关系的口头描述不一致,即:'一项任务可以有一个与之相关的类别'。我误解了鱼尾纹符号吗?

【问题讨论】:

    标签: sqlite database-design entity-relationship


    【解决方案1】:

    在 ERD(无论是使用 Crow's foot 还是 Chen 表示法)中,“many”端始终具有外键,Task 表具有外键 Category_id,因此位于“many”端,而 Category 具有名为的相关主键ID,因此在“一”侧。所以,实际上你的解释是对的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多