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语句就可以了。
同时更新的话你可以用触发器。也可以用存储过程。
在存储过程中直接对两个表进行 *** 作就能达到你的目的。
你的问题还很笼统。如果不明白最好就一个具体问题来提问。
不建议建立,使用外键有利于维持数据完整性和一致性,但是对于开发来说是非常不利的。
每次做DELETE 或者UPDATE都必须考虑外键约束,会导致开发的时候很痛苦,而且需要更为复杂的错误捕获机制。
做数据处理时会受到很多的束缚,有些地方本来就可以允许有部分冗余,但是由于设计了外键约束,只能放弃。
出现BUG的时候追踪很麻烦。
数据库的三个层次:
物理数据层是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令 *** 作处理的位串、字符和字组成。
概念数据层是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。
用户数据层是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。
当然有用了.有两个表.
表1:(存放的是用户资料)
包含3列:id,姓名,性别
表2:(存放的是的成绩)
包含3列:userid,课程,成绩.
外键关系:
表2.userid==表1.id
当你在表2中插入成绩时,数据库会自动检查用户是否在表1中存在.
如果外键有级联删除时删除表1的用户时,会同时自动删除表2的相关数据.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)