📜  MS SQL Server中的外键

📅  最后修改于: 2021-08-29 10:57:29             🧑  作者: Mango

先决条件– MS SQL Server中的主键
SQL Server具有用于不同目的的不同密钥。在本文中,将简要讨论外键。

外键的用途与主键相似,但外键用于两个表。在某些情况下,外键用于自引用单个表。

外键:
一个表的单个列或一组列(由另一个表的单个列或一组列唯一标识)称为外键。

句法 –

constraint fk_constraint-name foreign key(col1, col2) 
references parent_table-name(col1, col2)
                                        (OR)
foreign key(col1, col2) 
references parent_table-name(col1, col2)

外键有两个表–父表和子表。如果用户要在子表中插入一列,则该列必须是父表的一部分,否则,将显示错误。在语法中,约束项不是强制性使用。

当查询中提到外键时,该键会自动创建一个引用约束,这意味着一列只能在其父表的一部分中插入到子表中。

从大学数据库中考虑了两个名为student(父表)和marks(子表)的表。

表–学生

Name Rollno Age
Aisha 111 18
Maya 112 19
Fatima 113 18


表–标记

Name Rollno Marks
Aisha 111 9.5
Maya 112 8.7
Fatima 113 7.7

如果用户要插入新列,则查询为–

foreign key('rollno') 
references student('rollno')

insert into marks ('name', 'rollno', 'marks') 
values('Naina, '111', '7.5')

由于卷号已经被学生记录,因此会显示一个错误。 (外键约束)。外键不允许再次出现该值。为避免此类错误,既不能重复这些值,也不能考虑其他列。