www.gsyw.net > SQL sErvEr 问题,什么是外键,什么是主键?一个表的外键可以是另一个表的主键吗?

SQL sErvEr 问题,什么是外键,什么是主键?一个表的外键可以是另一个表的主键吗?

主键就是唯一能标识表中数据行的列,一个表中只能有一个 外键简单说就是另一个表的主键/候选键,是两表之间存在关联的键,外键的键值必须是另一个表的主键/候选键的键值 一个表的外键可以是另一个表的主键

外键(Foreign Key) 如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键.由此可见,外键表示了两个关系之间的联系.以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表.外键又称作外关键字.换而言之,如果关系模式R中的某属性集不是R的主键,而是另一个关系R1的主键则该属性集是关系模式R的外键,通常在数据库设计中缩写为FK.在SQL SERVER中,主键是一个表中的约束.这个约束,一张表只能有一个,一般作为ID使用,这个约束一般给别人外键引用.这个约束的功能就是,不可重复,保证了唯一性,正是这种特性,使得大多数人都把他作为表中ID的字段使用.一个表的外键可以是另一个表的主键

一般来说引用的都是主键,主要是由主键的性质决定的,主键是一些唯一非空的元素的集合,那么才有引用的意义.之所以限制主键,主要是建立外键的表一般都是基础属性表,这种键值如果重复那么后果比较严重,所以一般都用主键进行限制.

建立外键的前提: 本表的列必须与外键类型相同(外键必须是外表主键).

要修改主键和外键的话需要先指定主键和外键的名称,以后修改时要用到.这是的主键和外键为:修改的sql语句:--修改主键的名称PK_myTest为PK_myTest22 alter table myTest drop constraint PK_myTest alter table myTest add constraint PK_

看建表语句啊 primary key foreign key 看主键 外键字段 一般外键在两张表中都有 画图的话 外键是有连线的 主键没有

1. 一个表的外键必须是另外一个表的主键2. 每一个表不是必须得有一个自增主键id的,比如学生表,可以设置学号为主键,这样在选课表中可以设置学号为外键,引用学生表中的学号.

关联两个users就可以了select c.u_name rt_u_name,b.u_namefrom Reply ajoin users b on a.u_id = b.u_idjoin users c on a.rt_u_id = c.u_id

一般建议每个表都有主键.两张依赖关系的表,假设b依赖a,a表里有主键字段id,b表就需要有个外键p_id依赖a表的id.同时,b表可以设置自己的主键 .

外键必须是外表主键, 定义就是这样的你那个用学号比id好很多吧,id在你表里面实在有点画蛇添足的意思

相关搜索:

网站地图

All rights reserved Powered by www.gsyw.net

copyright ©right 2010-2021。
www.gsyw.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com