gpt4 book ai didi

sql - 定义外键和表关系对写查询有影响吗?

转载 作者:太空宇宙 更新时间:2023-11-03 10:26:26 26 4
gpt4 key购买 nike

我在 Mysql workbench 中组合了一个表并定义了多对一关系以及哪些键是外键等,我知道它把它放在了实际的 Create 脚本中。所以我想知道,这只是为了确保数据模型从幕后的角度来看是合乎逻辑的,还是这些关系实际上可以用于查询?如果可以的话,有哪些操作会涉及到它们? (简短的示例代码会很棒)

我现在正在 sqlitemanager firefox 插件中构建一个 SQLite 数据库。它没有定义这些东西的选项,我想知道我是否应该关心。 (到目前为止,我只做了非常简单的查询)。

最佳答案

实际上,您可以在具有任意列的两个表之间创建连接。拥有主键和外键的全部原因是加强两个表之间的关系。换句话说,为了在子表中添加一行,您需要有父表的主键作为子表中的外键。否则,插入将失败。

使用外键的另一个原因是允许您的父表执行级联删除。这样,您不必先从子表中手动删除行,然后再从父表中删除....如果您正确设置了级联删除,则只需删除表行,所有子行都会也走了。

也就是说,如果您不想将该特定列显式定义为外键,您仍然可以毫无问题地执行查询,但这会使您的同事难以阅读 ER 图,因为 2 个表之间的关系没有明确定义。

关于sql - 定义外键和表关系对写查询有影响吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5036730/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com