2

使用什么数据库结构来存储 GEDCOM 信息?

4

2 回答 2

1

如果您使用 GEDCOM 解析器将 GEDCOM 数据加载到程序中的数据结构中,您应该设计一个数据库结构,以便轻松地将您的内部数据表示映射到关系数据库表示。

例如,如果您使用的是 java,则可以使用 gedcom4j 将数据加载/写入到 java 对象图中,以便在需要导入/导出功能时使用。该数据在内部存储在 java 对象图中,然后可以使用 JPA 或 Hibernate 或 JDO 将其持久化到您选择的数据库中......数据库方案与对象图越接近,这将更容易,但您可以配置如果你想要一个不同的结构......只是让映射更复杂一些。

当然,如果您只想将 GEDCOM 数据保存在数据库中而不对其进行解释,那么将整个文件保存在一个大对象中的大文本结构对我来说很有意义……假设您有多个文件并且只想保留它作为内容。

于 2013-02-02T14:24:16.923 回答
0

将 GEDCOM 行单独存储在数据库中似乎毫无意义,您不会获得使用数据库的任何优势。Māris 是正确的,但是 255 就足够了,因为根据 GEDCOM 规范,255 是对线路长度的硬性限制。(草案 5.5.1 规范的第 11 页)。

正确的方法是使用现有的 GEDCOM 解析器(例如 gedcom.net)或创建您自己的解析器(这并不像许多示例所说的那么简单),然后将其插入数据库。看看http://sqlitetoolsforrootsmagic4.wikispaces.com/ 包含 RootsMagic 使用的模式的信息。

于 2010-12-05T15:24:13.913 回答