A T Asked: 2011-09-15 17:42:27 +0800 CST2011-09-15 17:42:27 +0800 CST 2011-09-15 17:42:27 +0800 CST 如何从自然语言文本生成实体关系图和 SQL DDL 语句? 772 我正在使用 LaTeX 或其他文本宏工具/库。我如何 (1) 使用自然语言文本来描述关系,然后 (2) 生成实体关系图并 (3) 生成 SQL DDL 以从中创建数据库模式? database-design erd 4 个回答 Voted Best Answer Jonathan Van Matre 2011-12-20T06:18:04+08:002011-12-20T06:18:04+08:00 有很多方法可以做到这一点,但最重要的是要知道你想做的事情有一个名称:对象角色建模。这是一个使用自然语言语义创建概念模型的过程。 这是对该过程的一个很好的(如果旧的)概述。 ORM的Wikipedia 页面有一个非常完整的可用工具列表,其中许多是免费的。 最新的解决方案是NORMA,因为它由ORM Foundation积极维护,但这是一个需要 Visual Studio 的插件。 如果您没有 Visual Studio,Infagon看起来仍在积极开发中,可能是您最好的选择。 CaseTalk也值得一看。对学生和教育工作者免费,否则为商业用途。 A T 2011-09-20T03:33:14+08:002011-09-20T03:33:14+08:00 我想我会手工编写 SQL,并使用 SchemaSpy 生成图表。 除非你能想得更快;更有效的方法? ConcernedOfTunbridgeWells 2011-11-20T02:34:18+08:002011-11-20T02:34:18+08:00 我曾经使用自己编写的文档解析器工具做过类似的事情。它将从 DDL 语句中去除特殊格式的注释并生成数据字典。这是用 LaTeX 渲染的。但是,我仍然必须将数据库逆向工程到 Visio 以制作 ER 图。 对于解析创建表语句所需的有限 SQL 子集,编写解析器并不难。我让它在几个周末工作。 Abhishek Sakhaparia 2011-10-20T22:01:31+08:002011-10-20T22:01:31+08:00 嘿,如果有任何帮助,我已经使用 visio 创建了我的 ERD 并使用它的逆向工程工具将其工程到 DB,该工具为 ms access、ms sql server 提供逆向工程支持......
有很多方法可以做到这一点,但最重要的是要知道你想做的事情有一个名称:对象角色建模。这是一个使用自然语言语义创建概念模型的过程。
这是对该过程的一个很好的(如果旧的)概述。
ORM的Wikipedia 页面有一个非常完整的可用工具列表,其中许多是免费的。
最新的解决方案是NORMA,因为它由ORM Foundation积极维护,但这是一个需要 Visual Studio 的插件。
如果您没有 Visual Studio,Infagon看起来仍在积极开发中,可能是您最好的选择。
CaseTalk也值得一看。对学生和教育工作者免费,否则为商业用途。
我想我会手工编写 SQL,并使用 SchemaSpy 生成图表。
除非你能想得更快;更有效的方法?
我曾经使用自己编写的文档解析器工具做过类似的事情。它将从 DDL 语句中去除特殊格式的注释并生成数据字典。这是用 LaTeX 渲染的。但是,我仍然必须将数据库逆向工程到 Visio 以制作 ER 图。
对于解析创建表语句所需的有限 SQL 子集,编写解析器并不难。我让它在几个周末工作。
嘿,如果有任何帮助,我已经使用 visio 创建了我的 ERD 并使用它的逆向工程工具将其工程到 DB,该工具为 ms access、ms sql server 提供逆向工程支持......