基于多个数据库和 tables 的 ER 图从其他 table 的列值派生名称
ER Diagram based on multiple databases & tables which derive names from column values from other table
所以我有一个学习管理系统。共有5个数据库。
lms_data_db
lms_course_db
lms_test_db
..n two more
现在,每当在 lms_data_db.course_data
下添加一行时,比如 course_id=200
,就会在 lms_course_db
下创建一个名为 course_200
的 table。
同样,当在 lms_course_db.course_100
下添加一行 chapter_id=100
时,会在 lms_test_db
.
下创建一个名为 chapter_200_100
的 table
我的问题是如何真正将所有这些放入 ERD 中!?
从现有实现中派生 ERD 实际上是逆向工程。您可以查找该术语以进行更多阅读。如果你同意你所做的是逆向工程,那么你应该注意@pala_提供的关于原始数据库设计的评论。
我建议采用一种基于正向工程的完全不同的方法。从主题开始。将主题分解为实体和实体之间的关系。通过数据值发现描述这些实体和关系的属性。这些数据值是您的数据库要存储的内容。
上述过程产生了描述主题的 ER 模型和 ERD,而不是建议的解决方案。
然后,您可以继续设计一个数据库,根据您使用的工具和数据的预期用途,以合理的方式存储这些数据值。
所以我有一个学习管理系统。共有5个数据库。
lms_data_db
lms_course_db
lms_test_db
..n two more
现在,每当在 lms_data_db.course_data
下添加一行时,比如 course_id=200
,就会在 lms_course_db
下创建一个名为 course_200
的 table。
同样,当在 lms_course_db.course_100
下添加一行 chapter_id=100
时,会在 lms_test_db
.
chapter_200_100
的 table
我的问题是如何真正将所有这些放入 ERD 中!?
从现有实现中派生 ERD 实际上是逆向工程。您可以查找该术语以进行更多阅读。如果你同意你所做的是逆向工程,那么你应该注意@pala_提供的关于原始数据库设计的评论。
我建议采用一种基于正向工程的完全不同的方法。从主题开始。将主题分解为实体和实体之间的关系。通过数据值发现描述这些实体和关系的属性。这些数据值是您的数据库要存储的内容。
上述过程产生了描述主题的 ER 模型和 ERD,而不是建议的解决方案。
然后,您可以继续设计一个数据库,根据您使用的工具和数据的预期用途,以合理的方式存储这些数据值。