我正在努力使用'crows-foot'表示法来使用Navicat设计Sqlite数据库。在一本旨在让用户启动并运行该软件的书籍章节中,我遇到了以下示例,包括ER图和一些解释性文本:
类别表和任务表之间存在多对一关系。在我们的例子中,一个任务可以有一个与之关联的类别,但一个类别下可以有许多任务。因此,可以将任务分配给一个用户,但用户可以执行许多任务。
我很惊讶地读到这个,因为符号似乎与描述不一致。我阅读这些图表的方式(通过检查互联网上各种免费提供的示例得出)是从表格开始(比如任务),然后查看“附加”到相关表格的表示法(在这种情况下,“一个或多个”)并按如下方式构建关系:任务属于'一个或多个'类别。当然,这种关系是可能的,但它似乎与所需关系的口头描述不一致,即:'任务可以有一个与之相关的类别'。我误解了人群的符号吗?
答案 0 :(得分:3)
在ERD中(无论是使用Crow's foot还是Chen表示法),“many”端始终具有外键,Task表具有外键Category_id,因此位于“many”侧,而Category具有相关的主键名称ID因此在“一”方面。所以,你的解释实际上是正确的。