如何添加数据库外键? (数据库外键添加)

在数据库中,外键是一种非常重要的关系型数据维护机制。它提供了一种简单易理解的方式,以确保数据库中的数据完整性和一致性。本文将向您介绍一个简单易懂的教程,教您如何向数据库添加外键。

一、什么是外键?

我们需要了解什么是外键。 外键是一种约束,它创建在一个表上,引用了另一个表的主键,以确保数据的一致性。在许多关系型数据库中,外键在设计期间是非常重要的,因为它定义了表之间的关系,以及如何在查询和维护数据时保持一致性。

二、为什么需要使用外键?

使用外键是确保数据库的完整性和一致性的关键之一。外键定义了两个表之间的关系,它允许设置了引用关系的表中的列的值,不能超出被引用表中定义的列的值,从而保持数据的一致性。

使用外键可以帮助您实现以下目的:

1.确保数据的一致性,防止数据不一致和错误的数据输入。

2.在删除表中的记录时,防止误删除其他表中的相关数据。

3.是查询和维护数据更加方便和高效。

三、如何添加外键?

以下是添加外键的步骤:

步骤一:选择约束表

在SQL Server Management Studio中,右键单击您的数据库,选择“新查询”。

通过查询窗口中添加以下代码来创建一个新表:

CREATE TABLE [dbo].[Students]

(

[StudentNumber] int NOT NULL,

[FirstName] nvarchar(50) NOT NULL,

[LastName] nvarchar(50) NOT NULL,

[Gender] bit NOT NULL,

[DateOfBirth] date NOT NULL,

CONSTRNT [PK_Students] PRIMARY KEY CLUSTERED

(

[StudentNumber] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]

) ON [PRIMARY];

创建第二张表:

CREATE TABLE [dbo].[Courses]

(

[CourseCode] nvarchar(50) NOT NULL,

[CourseName] nvarchar(50) NOT NULL,

[InstructorName] nvarchar(50) NOT NULL,

CONSTRNT [PK_Courses] PRIMARY KEY CLUSTERED

(

[CourseCode] ASC,

[InstructorName] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]

) ON [PRIMARY];

添加一个外键约束

下面是将创建的第三张表中的外键约束来链接到前面所创建的两张表。

CREATE TABLE [dbo].[Enrollments]

(

[StudentNumber] int NOT NULL,

[CourseCode] nvarchar(50) NOT NULL,

[Grade] decimal(18, 2) NULL,

CONSTRNT [PK_Enrollments] PRIMARY KEY CLUSTERED

(

[StudentNumber] ASC,

[CourseCode] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]

) ON [PRIMARY];

ALTER TABLE [dbo].[Enrollments] WITH CHECK ADD CONSTRNT [FK_Enrollments_Courses] FOREIGN KEY([CourseCode], [InstructorName])

REFERENCES [dbo].[Courses] ([CourseCode], [InstructorName]);

ALTER TABLE [dbo].[Enrollments] CHECK CONSTRNT [FK_Enrollments_Courses];

四、

在本文中,我们学习了外键的基本概念以及在SQL Server Management Studio中添加数据库外键的步骤。添加外键可以保持数据库中数据的一致性和可维护性。尽管在每个使用情况中都具有不同特点,但是实现外键过程的核心原理仍然是相同的。希望本文可以帮助您掌握SQL Server中外键的概念和使用方法,使您能够更好地管理和维护数据库。

相关问题拓展阅读:

如何通过sqlyog对数据库表设置外键

三种方法:如空

  1.直接写sql语句.

  2.用SQLyog 选择外键表 ,点击右键 选择关联/外键,然后再选镇饥择主表,外键.

  3.在表 vet_specialties 上点击右键 ,然后渣旅瞎找到Relationships/ForeignKeys中,然后选择相应的列。

  或者直接写命令:

  ALTER TABLE vet_specialties ADD FOREIGN KEY FK_SPECIALTY_ID(specialty_id) REFERENCES specialties (id)

  ALTER TABLE vet_specialties ADD FOREIGN KEY FK_VET_ID(vet_id) REFERENCES vets (id)

要求:建立了两个表一个attence(记作A表),一个leave(记作敏坦察L表)桥茄。

A表中有用户的用户名,密码,id(自增作为主键)。

L表中是一个请假的表,L表中需要标识哪一个用户请的假。

这里需要设置外信芹键:

步骤:

1、

在此右键L表

2、寻找并点击“关联/外键”或者摁“F10”。

弹出此对话框。

3、新建

4、a.在主键表下拉菜单中找到A表

b.在Source Column中找到userid  

c.在Target Column 中找到id

d.点击创建

就完成了外键的设置。

关于数据库外键添加的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 如何添加数据库外键? (数据库外键添加)