一个概念问题

[复制链接]
查看11 | 回复9 | 2007-9-26 18:42:10 | 显示全部楼层 |阅读模式
上学的时候就一直没有弄清楚
PRIMARY KEY
FOREIGN KEY
有什么区别
哪个好心人说说


回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
前者是主键,唯一性
后者是外键,不独立存在
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
最初由 dinner1007 发布
[B]前者是主键,唯一性
后者是外键,不独立存在 [/B]

主键和NOT NULL约束一起才能唯一标识每一行
后者是外键我也清楚
但是什么是不独立存在?
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
最初由 dinner1007 发布
[B]前者是主键,唯一性
后者是外键,不独立存在 [/B]

主键和NOT NULL约束一起才能唯一标识每一行
后者是外键我也清楚
但是什么是不独立存在?


他和主键又是什么关系?
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
外键和主键没什么关系
之所以说它不独立存在,是因为它一定与另一表的某个字段的值相关联
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
外键是为了建立表间关系的.
我觉得在实际应用当中,外键的作用是为了实现关联表之间的数据完整性.
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
打个比方,就象父亲和儿子,没有父亲又何来儿子
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
我知道
这就又涉及到PARENT TABLE&&CHILD TABLE之间的关系了
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
主键:唯一标识表中的所有行的一个列或一组列。主键不允许空值。不能存在具有相同的主键值的两个行,因此主键值总是唯一标识单个行。表中可以有不止一个键唯一标识行,每个键都称作候选键。只有一个候选键可以选作表的主键,所有其它候选键称作备用键。尽管表不要求具有主键,但定义主键是很好的做法。 在规范化的表中,每行中的所有数据值都完全依赖于主键。
例如,在以 EmployeeID 作为主键的规范化的 employee 表中,所有列都应包含与某个特定职员相关的数据。该表不具有 DepartmentName 列,因为部门的名称依赖于部门 ID,而不是职员 ID。

外键:外键 (FK) 是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
外键是另一个表的主键
一个表上的一个字段好象也可以是自身表的外键
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行