mORMot 1.18 第10章 连接表
如果数据库包含连接表,那么数据库将变得更加有用。
假设读者已经知道何时以及为何需要单独的表,以及为何要将它们连接起来——许多关于数据库设计的书籍都详细介绍了这一点。我们不会在这里重复这些信息,甚至不会重复其中的任何子集。我们要介绍的是如何做到这一点。
当你定义一个连接结构时,例如:
- 使用
TSQLRecord.CreateJoined(aClient, aID)
来获取与所有数据连接的单条记录。 - 使用带有搜索条件的
TSQLRecord.CreateAndFillPrepareJoined(…)
,并通过While FillOne do
循环进行迭代。
mORMot在其连接方面有一些限制。存储复杂信息的首选方法是进行信息反规范化,即将所有必要的信息存储在每一个 TSQLRecord
中,并使用高级结构,如对象列表或 TDocVariant
,利用分片技术,这在本书后面会进行描述。