ER 图表源自 ER 建模。ER 模型旨在保持应用程序中立,以便 ER 建模可以应用于给定情况,无论最终实现是使用关系数据库还是其他一些技术,例如(当时的)分层数据库或 CODASYL 样式网络数据库。从那时起,分层数据库和网络数据库几乎被关系数据库所掩盖,至少就新工作而言是这样。与此同时,各种后关系数据方案已经出现,用于将数据管理适应面向对象的框架或非结构化环境。
ER 图最初是 ER 模型的描述。最终,这种图表模式变得如此广泛,以至于它也开始用于在关系模型下设计的图表模式。ERD 实际上以这种方式运作得很好。唯一会造成混乱的是,当一个人构建了一个关系模型,并期望从中获得与 ER 模型相同的好处时,反之亦然。
关系模型和 ER 模型在一些重要细节上有所不同。外键和连接表的使用是关系模型特有的,不会出现在 ER 模型中。尽管如此,它们确实出现在您今天看到的大多数 ER 图中。这是最好的线索,表明您真正看到的是关系模式的 ERD 图。
多年来,我一直将 ER 模型视为“精简版关系”。事实证明,这是一个误解。这两个模型实际上是从不同的抽象层次来看待现实。每个模型都有其优点和缺点。
就好的参考资料而言,我会从维基百科开始。其中有关于 ER 模型、关系模型、SQL 以及一些主要 DBMS 产品(如 Oracle、SQL Server 等)的好文章。
一旦您了解了模型及其用途,您就可以很好地处理图表惯例。