外键(FK)是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。
当创建或更改表时可通过定义FOREIGNKEY约束来创建外键。
例如,数据库pubs中的titles表与publishers表有链接,因为在书名和出版商之间存在逻辑联系。
titles表中的pub_id列与publishers表中的主键列相对应。titles表中的pub_id列是到publishers表的外键。
扩展资料:
保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。使两张表形成关联,外键只能引用外表中的列的值或使用空值。
学号在成绩表(表2)中是主键,在学生表(表1)中是外键。如果不使用外键,表1的学号字段插了一个值(比如20140999999),但是这个值在表2中并没有,这个时候,数据库允许插入,并不会对插入的数据做关系检查。
然而在设置外键的情况下,插入表1学号字段的值必须要求在表1的学号字段能找到。同时,如果要删除表2的某个学号字段,必须保证表2中没有引用该字段值的列,否则就没法删除。
这就是所谓的保持数据的一致性和完整性。如右图,如果表1还引用表2的某个学号,却把表1中的这个学号删了,表2就不知道这个学号对应的学生是哪个学生。
参考资料:
要你数据库设计合理,使用合法,可以不需要外键
1
外键是将b表的某列和a表的主键连接起来。
a的主键是id,那么就是它了。
2
select
ausername,auserpwd,bgold
from
a,b
where
aid=bgold;
3
同时更新或者 *** 作两个表(比如通过a的值来检索b的值)?
通过a的值来检索b的值
就如上面所说一个sql语句就可以了。
同时更新的话你可以用触发器。也可以用存储过程。
在存储过程中直接对两个表进行 *** 作就能达到你的目的。
你的问题还很笼统。如果不明白最好就一个具体问题来提问。
ER图的属性一般只把主要的标出来,一般主键和外键都要标出来。在具体实现物理模型时,就需要把所有能用到的属性都设置好。
ER图中规定: 用矩形表示实体(等同于表) 用椭圆形表示实体的属性(等同于表中字段) 用菱形表示实体关系(等同于外键),还要将有关系的实体用线连接上,线上画菱形。 这是数据库ER图的规定,没有什么原因,平行四边形ER中没有。
在ER图中有如下四个成分:
矩形框:表示实体,在框中记入实体名。
菱形框:表示联系,在框中记入联系名。
椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下划一下划线。
连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上标注联系的类型。(对于一对一联系,要在两个实体连线方向各写1; 对于一对多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体连线方向各写N,M。)
百度百科-ER图
打开erwin 从主菜单中选择"Tools”---"Reserse Engineer" d出反向工程对话框,按照自己的要求设置 点击NEXT ,连接数据库 就能导出一整个数据库的ER图来。
这是我的 e-r 地图,你可以参考一下,我还没有写完,比如单位,供应商,员工,工程和很多属性,像设备,外面有很多属性,自己写吧。 顺便说一句: 主键有下划线吗? 这里是关系模式: 斜体表示外键,下面似乎添加了一条波浪线,我不记得了,你查一下。 希望能有所帮助。 :)
概念数据模型是按用户的观点对数据和信息建模,是现实世界到信息世界的第一层抽象,最常用的概念数据模型就是er图,也就是说他们是包含关系。
概念模型把现实世界的关系抽象到信息世界,er图的画法选择就是对数据库在进行设计,然后依据er图进行逻辑结构设计,物理结构设计,这些就是实现了从信息世界到计算机世界的抽象,即数据的结构、储存方式等等。最后是数据库的创建与维护。答得还行吧,把分给我呗
以上就是关于数据库中的外键是什么意思全部的内容,包括:数据库中的外键是什么意思、数据库该不该用外键、ER图需要把所有属性都画出来吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)