分享
 
 
 

FOREIGNKEY约束

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

外键(外键 (FK):列或列的组合,其值与同一个表或另一个表中的主键 (PK) 或唯一键相匹配。也称作参照键。)约束与主键约束(主键 (PK):唯一标识表中的所有行的一个列或一组列。主键不允许空值。不能存在具有相同的主键值的两个行,因此主键值总是唯一标识单个行。表中可以有不止一个键唯一标识行,每个键都称作候选键。只有一个候选键可以选作表的主键,所有其它候选键称作备用键。尽管表不要求具有主键,但定义主键是很好的做法。 在规范化的表中,每行中的所有数据值都完全依赖于主键。例如,在以 EmployeeID 作为主键的规范化的 employee 表中,所有列都应包含与某个特定职员相关的数据。该表不具有 DepartmentName 列,因为部门的名称依赖于部门 ID,而不是职员 ID。)或唯一约束(UNIQUE 约束:强制非主键上的实体完整性的约束。UNIQUE 约束确保未输入重复值,并创建一个索引以增强性能。)一起在指定表中强制引用完整性。例如,可以在 publishers 表的 title_id 列中放置一个外键约束,以保证这一列中的输入值与 titles 表 title_id 列中的现有值匹配。

在数据库关系图中,当创建从一个附加了主键约束或唯一约束的表到另一个表之间的关系时,外键约束将自动添加到指定的列上。

1、查看外键特性

当要查看在关系中作为外键方的列时,查看关系的外键特性。如果外键列与主键相关,那么数据库图关系图中的主键列由行选择器中的主键符号

标识。

查看关系的外键特性

I、在数据库关系图中,右击对应于外键的关系线,然后从快捷菜单中选择"属性"命令。

-或-

为包含要修改的外键的表打开表设计器,在表设计器中右击,然后从快捷式菜单中选择"属性"命令。

II、选择"关系"选项卡。

III、确保在"选定的关系"列表中选定关系。

IV、"外键表"列显示在关系中作为外键方的每一列的名称。

2、修改外键

当要更改与主键表中的列相关的列时,修改关系的外键方。

修改外键

I、在数据库关系图中右击与要修改的外键对应的关系,然后从快捷菜单中选择"属性"命令。

-或-

为包含要修改的外键的表打开表设计器,在表设计器中右击,然后从快捷式菜单中选择"属性"命令。

II、选择"关系"选项卡。

III、从"选定的关系"列表中选择关系。

IV、在"外键表"列中,展开第一行中的列表。

V、从列表中选择不同的表列。外键列必须与主键列的数据类型及大小相匹配,下面3种情况除外:

char 列或 sysname 列可以与 varchar 列相关。

binary 列可以与 varbinary 列相关。

用户定义数据类型可以与其基本类型相关。

只要一移出属性页的网格,对关系属性所做的任何更改即生效。当保存表或关系图时,约束即在数据库内被更新。

注意

在数据库关系图中修改关系时,相关的两个表均被标记为已修改。因此,每个表在任何其它包含该表的关系图中也被标记为已修改。

3、创建 CHECK 约束时检查现有数据

当创建关系时,如果需要对现有数据以及新数据应用外键约束,则选择该选项以检查现有数据。

创建 CHECK 约束时检查现有数据

I、在数据库关系图中选择附加了外键约束的表。

II、右击表并选择"属性"命令。

III、选择"关系"选项卡。

IV、从"选定的关系"列表中选择关系。

V、选择"创建中检查现存数据"复选框。

保存表或关系图时将应用外键约束。如果在保存过程中遇到任何违反约束的行为,则不能保存表。

4、对 INSERT 和 UPDATE 语句禁用外键约束

如果知道新数据将违反约束或约束仅应用于数据库中的现有数据,则选择该选项以在 INSERT 和 UPDATE 事务期间禁用外键约束。

对 INSERT 和 UPDATE 语句禁用外键约束

I、在数据库关系图中,右击包含外键的表,然后从快捷菜单中选择"属性"命令。

-或-

为包含要修改的外键的表打开表设计器,在表设计器中右击,然后从快捷式菜单中选择"属性"命令。

II、选择"关系"选项卡。

III、从"选定的关系"列表中选择关系。

IV、清除"对 INSERT 和 UPDATE 强制关系"复选框。

添加或修改数据后,若要确保约束能应用到后续的数据修改中,应该选择该选项。

注意

如果打算使用触发器执行数据库操作,则必须禁用外键约束才能使触发器运行。

5、对复制禁用外键约束

SQL Server 支持复制。如果约束针对源数据库,并且可能会不必要地阻止新数据输入到目的数据库中,则选择该选项以在复制期间禁用外键约束。

对复制禁用外键约束

I、在数据库关系图中,右击包含外键的表,然后从快捷菜单中选择"属性"命令。

-或-

为包含要修改的外键的表打开表设计器,在表设计器中右击,然后从快捷式菜单中选择"属性"命令。

II、选择"关系"选项卡。

III、从"选定的关系"列表中选择关系。

IV、清除"对复制启用关系"复选框。

6、删除外键约束

当要删除强制引用完整性要求时,删除外键。

删除外键约束

在数据库关系图中,删除代表要删除的外键约束的关系线。

注意

从数据库关系图中删除关系时,相关表在所有包含它的关系图中将被标记为已修改。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有