数据库自然连接和重命名

Database natural join and renaming

我正在尝试学习关系代数和数据库查询。在下面的问题和模型答案中,如果我们将Q1中的每个属性都重命名为答案中的,是否仍然可以进行自然连接?我认为这两种关系需要至少有一个同名的共同属性。你能帮忙解释一下这里发生了什么吗?非常感谢!

属性名称不必相同,但不同时可能会造成混淆。但是,通过提及例如[sid] < SUPPLIERS[sid] 你说清楚了实际关系。

您可以重命名,例如Suppliers.sid 到 Suppliers.supplierId,然后明确表示 Catalog.sid 与 Suppliers.supplierId 相关,这一切都在那里。

在实践中,我设计的表的主键我总是称为Id,在其他表中作为FK使用时,我称为[表名]Id,例如SupplierId.