0

我有这些信息来绘制 ER 图。

一个企业生成文档,这些文档是和员工相关的,但是文档的种类很多。我只是无法得到这个 er 图的正确答案。

我的解决方案是:

Enterprise 1-M Document 文档 M-1 文档类型

如何根据文档类型更改 Document 表的属性?您认为解决此问题的最佳方法是什么?

我是否必须将所有文档属性放在文档类型表上?如果我们谈论的是document1,那么document 2的属性将为null?

我认为的另一个解决方案是:一个文档可以是具有不同属性的表格文档 1 或具有其他一些属性的表格文档 2 或具有其他一些属性的表格文档 3,等等,但我只是不知道如何显示这个在 ER - 图上。

我想以最好的方式解决它。

顺便说一句,我正在使用 Doctrine 和 Symfony2。

4

2 回答 2

0

我看到(和理解)你的情况的方式:

“一个企业生成文档,这些文档是和员工相关的,但是文档的种类很多。”

企业编号、名称

员工ID、名字、姓氏、企业 ID(FK 到 Enterprise.id)

文档类型 ID、名称

文档id、内容、document_type_id(FK 到 DocumentType.id)

SpecificDocument id (FK to document.id), specificfield1, specificfield2

SpecificDocument2 id (FK to document.id), specificfield3, specificfield4

EmployeeDocument employee_id(FK 到 Employee.id)、document_id(FK 到 Document.id)

您应该能够使用此信息生成您的 ER 图。

编辑 :

但最好的方法是不使用 ER DB,而是使用 Document DB(例如:MongoDB)。

于 2012-09-02T15:59:53.197 回答
0

听起来文档类型是一种专业化的情况。如果你在做 ER 建模,你可以使用 Extended ER 的一个特性来直接表达专业化。加载以下 PDF 并向下导航到“专业化”以了解图表专业化的方式。

http://www.sis.pitt.edu/~valeriab/1022-spring08/Chapter6.pdf

如果你正在设计一个关系数据库来实现你的 ER 模型,你需要学习一些技术,即类表继承和共享主键。这些技术中的每一种在 SO 中都有一个标签,以及许多有用的答案。

于 2012-09-16T12:09:09.933 回答