作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
如果我们可以在没有主外键关系的情况下从两个表中获取数据,那么为什么我们需要这个规则?你能用合适的例子清楚地解释我吗?这是一个测试数据库,不要介意糟糕的结构。
表的结构:
**
table - 'test1'
columns - id,lname,fname,dob
no primary and foreign key and also not unique(without any constraints)
**
**table - 'test2'
columns- id,native_city
again, no relations and no constraints**
我仍然可以使用相同的“id”列连接这些表,那么如果没有主外键,那它有什么用呢?
最佳答案
使用主键和外键的主要原因是为了保证数据的一致性。
主键强制一个或多个列值的唯一性的一致性。如果 ID 列具有主键,则不可能有两行具有相同的 ID 值。如果没有该主键,许多行可能具有相同的 ID 值,您将无法仅根据 ID 值来区分它们。
外键强制指向别处的数据的一致性。它确保指向的数据实际存在。在典型的父子关系中,外键确保每个子项始终指向父项并且父项实际存在。如果没有外键,您可能会有指向不存在的父项的“孤立”子项。
关于sql - 当我们可以在没有它的情况下加入时,为什么需要主-外键关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5771190/
我是一名优秀的程序员,十分优秀!