在您引用的视频中,这有点愚蠢,因为不需要多对多的关系。作者可以简单地在流派表中添加一个电影 ID 字段(因此多个流派记录可以指向每个电影记录)。
我有一个复杂的多对多联系人结构,我正在将其从 MS Access 移植到 LibreOffice。它有 4 个主要数据表:组、地址、电话和人员。并且有 6 个链接表来连接这些主表:GroupAddress、GroupPhone、GroupPerson;地址电话,地址人;最后是PhonePerson。与您上面引用的只有 2 个字段的视频不同,在我的链接表中有 3 个字段。例如,GroupAddress 具有 GroupAddressID(链接表本身的唯一 ID)、GroupID(指向 Groups 表)和 AddressID(指向地址表)。这允许每个组有任意数量的地址,同时每个地址可以有任意数量的组。
所以整个事情具有最大的数据灵活性:例如,它允许每组无限数量的人,每个人可以拥有无限数量的电话或地址,每个地址无限数量的人,等等。
在 LO 中实现它:因为在 LO 中您不能编辑基于多个表的查询(您可以查看它,但不能编辑它),就像在 Access 中一样,(因此您也不能构建表单使用可以编辑基于多个表的查询的表),在 LO 中,这不像在 Access 中那样干净。
在 Access 中,它运行良好,并且链接表可以自行管理!在 LO 中,您必须在单独的表中手动编辑链接表。我开始考虑如何使用一些宏来改进这一点,但目前它只是简单的骨头。
为了让您更好地了解,编辑组的第一个表单,它还编辑组的地址、人员和电话(不仅是这些表,还包括这些表的链接),如下所示:
Group lookup pulldown (used to find a group record)
(this is a drop down box with custom code that helps me find group records)
Group editing fields, e.g. Group name, category, url, etc
然后在下面
Group-Person links table
然后在那个右边
Persons table (plural) - to create new person, then..
在此之下
Person table (singular)
[pointed to by Group-Person link]
to view person pointed to.
组地址链接 || (类似于上面的结构)
(例如,当一个企业有两个或多个地址时)
集团电话链接 || (类似于上面的结构)
(这是针对该组直接拥有的电话号码,而不是该组成员的个人电话,而不是与特定地址绑定的电话)。
----------
然后还有其他3种类似的形式,
一个用于带人员、组和电话链接的地址;
一个用于带有组、地址和人员链接的电话;
一个用于带有组、地址和电话链接的人员;
这是 4 个编辑表单中的第一个的屏幕截图,用于编辑组和与组关联的链接:
希望这可以帮助。我很想看看你的发展。谢谢。