数据库需要不需要建外键

数据库需要不需要建外键,第1张

要你数据库设计合理,使用合法,可以不需要外键

1

外键是将b表的某列和a表的主键连接起来。

a的主键是id,那么就是它了。

2

select

a.username,a.userpwd,b.gold

from

a,b

where

a.id=b.gold

3

同时更新或者 *** 作两个表(比如通过a的值来检索b的值)?

通过a的值来检索b的值

就如上面所说一个sql语句就可以了。

同时更新的话你可以用触发器。也可以用存储过程。

在存储过程中直接对两个表进行 *** 作就能达到你的目的。

你的问题还很笼统。如果不明白最好就一个具体问题来提问。

不必须,可以了解一下外键的作用

外键的设计初衷是为了在数据库端保证对逻辑上相关联的表数据在 *** 作上的一致性与完整性。

优点:

精简关联数据,减少数据冗余

避免后期对大量冗余处理的额外运维 *** 作。

降低应用代码复杂性,减少了额外的异常处理

相关数据管理全由数据库端处理。

增加文档的可读性

特别是在表设计开始,绘制 ER 图的时候,逻辑简单明了,可读性非常强。

缺点:

性能压力

外键一般会存在级联功能,级联更新,级联删除等等。在海量数据场景,造成很大的性能压力。比如插入一条新记录,如果插入记录的表有 10 个外键,那势必要对关联的 10 张表逐一检查插入的记录是否合理,延误了正常插入的记录时间。并且父表的更新会连带子表加上相关的锁。

其他功能的灵活性不佳

比如,表结构的更新等。

1、外键的概念:外键是关系数据库三个完整性的五个约束条件之一,是表与表之间建立的一种关系。在Oracle数据库的scott/tiger用户中,表Dept和Emp通过外键进行了关联。在这里Dept表叫主表,Emp表叫从表,外键是字段Deptno。\x0d\x0a2、加入外键的条件:a、两个表有相同属性字段,取值范围相同;\x0d\x0a b、外键在主表中是主键或者是唯一字段;\x0d\x0a c、外键可以是多个字段的组合。\x0d\x0a 记住一句话:从表的外键是主表的主键或唯一字段。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6785903.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存