新聞中心
在數(shù)據(jù)庫(kù)中,外鍵是一種非常重要的關(guān)系型數(shù)據(jù)維護(hù)機(jī)制。它提供了一種簡(jiǎn)單易理解的方式,以確保數(shù)據(jù)庫(kù)中的數(shù)據(jù)完整性和一致性。本文將向您介紹一個(gè)簡(jiǎn)單易懂的教程,教您如何向數(shù)據(jù)庫(kù)添加外鍵。

一、什么是外鍵?
我們需要了解什么是外鍵。 外鍵是一種約束,它創(chuàng)建在一個(gè)表上,引用了另一個(gè)表的主鍵,以確保數(shù)據(jù)的一致性。在許多關(guān)系型數(shù)據(jù)庫(kù)中,外鍵在設(shè)計(jì)期間是非常重要的,因?yàn)樗x了表之間的關(guān)系,以及如何在查詢和維護(hù)數(shù)據(jù)時(shí)保持一致性。
二、為什么需要使用外鍵?
使用外鍵是確保數(shù)據(jù)庫(kù)的完整性和一致性的關(guān)鍵之一。外鍵定義了兩個(gè)表之間的關(guān)系,它允許設(shè)置了引用關(guān)系的表中的列的值,不能超出被引用表中定義的列的值,從而保持?jǐn)?shù)據(jù)的一致性。
使用外鍵可以幫助您實(shí)現(xiàn)以下目的:
1.確保數(shù)據(jù)的一致性,防止數(shù)據(jù)不一致和錯(cuò)誤的數(shù)據(jù)輸入。
2.在刪除表中的記錄時(shí),防止誤刪除其他表中的相關(guān)數(shù)據(jù)。
3.是查詢和維護(hù)數(shù)據(jù)更加方便和高效。
三、如何添加外鍵?
以下是添加外鍵的步驟:
步驟一:選擇約束表
在SQL Server Management Studio中,右鍵單擊您的數(shù)據(jù)庫(kù),選擇“新查詢”。
通過(guò)查詢窗口中添加以下代碼來(lái)創(chuàng)建一個(gè)新表:
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];
創(chuàng)建第二張表:
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];
添加一個(gè)外鍵約束
下面是將創(chuàng)建的第三張表中的外鍵約束來(lái)鏈接到前面所創(chuàng)建的兩張表。
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];
四、
在本文中,我們學(xué)習(xí)了外鍵的基本概念以及在SQL Server Management Studio中添加數(shù)據(jù)庫(kù)外鍵的步驟。添加外鍵可以保持?jǐn)?shù)據(jù)庫(kù)中數(shù)據(jù)的一致性和可維護(hù)性。盡管在每個(gè)使用情況中都具有不同特點(diǎn),但是實(shí)現(xiàn)外鍵過(guò)程的核心原理仍然是相同的。希望本文可以幫助您掌握SQL Server中外鍵的概念和使用方法,使您能夠更好地管理和維護(hù)數(shù)據(jù)庫(kù)。
相關(guān)問(wèn)題拓展閱讀:
- 如何通過(guò)sqlyog對(duì)數(shù)據(jù)庫(kù)表設(shè)置外鍵
如何通過(guò)sqlyog對(duì)數(shù)據(jù)庫(kù)表設(shè)置外鍵
三種方法:如空
1.直接寫(xiě)sql語(yǔ)句.
2.用SQLyog 選擇外鍵表 ,點(diǎn)擊右鍵 選擇關(guān)聯(lián)/外鍵,然后再選鎮(zhèn)饑擇主表,外鍵.
3.在表 vet_specialties 上點(diǎn)擊右鍵 ,然后渣旅瞎找到Relationships/ForeignKeys中,然后選擇相應(yīng)的列。
或者直接寫(xiě)命令:
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)
要求:建立了兩個(gè)表一個(gè)attence(記作A表),一個(gè)leave(記作敏坦察L表)橋茄。
A表中有用戶的用戶名,密碼,id(自增作為主鍵)。
L表中是一個(gè)請(qǐng)假的表,L表中需要標(biāo)識(shí)哪一個(gè)用戶請(qǐng)的假。
這里需要設(shè)置外信芹鍵:
步驟:
1、
在此右鍵L表
2、尋找并點(diǎn)擊“關(guān)聯(lián)/外鍵”或者摁“F10”。
彈出此對(duì)話框。
3、新建
4、a.在主鍵表下拉菜單中找到A表
b.在Source Column中找到userid
c.在Target Column 中找到id
d.點(diǎn)擊創(chuàng)建
就完成了外鍵的設(shè)置。
關(guān)于數(shù)據(jù)庫(kù)外鍵添加的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)站標(biāo)題:如何添加數(shù)據(jù)庫(kù)外鍵?(數(shù)據(jù)庫(kù)外鍵添加)
本文URL:http://fisionsoft.com.cn/article/ccsdsoi.html


咨詢
建站咨詢
