Trong mẹo này, chúng ta sẽ xem xét cách tạo khóa ngoại SQL Server bằng cách sử dụng cả T-SQL và SSMS GUI.

Bạn đang xem : tạo khóa ngoại mssql

Bởi: | Cập nhật: 2017-04-04 | Nhận xét (7) | Liên quan: Thêm & gt; Ràng buộc

Vấn đề

Tôi cần tạo một
Khóa ngoại mối quan hệ giữa hai
Bảng SQL Server và tôi sẽ
muốn biết điều này được thực hiện như thế nào bằng cách sử dụng GUI SQL Server Management Studio (SSMS) cũng như sử dụng các tập lệnh T-SQL.
Tôi đã tạo các bảng, nhưng làm cách nào để tạo Khóa ngoại
mối quan hệ.

Giải pháp

Tạo mối quan hệ Khoá ngoại là một nhiệm vụ khá đơn giản,
nhưng hiểu cách sử dụng GUI để thực hiện việc này không đơn giản như bạn có thể
suy nghĩ.

Giả sử chúng ta có hai bảng này trong cơ sở dữ liệu của mình.

 TẠO BẢNG [dbo]. [Sản phẩm] (
   [ProductID] [int] IDENTITY (1,1) KHÔNG ĐẦY,
   [ProductCategoryID] [int] KHÔNG ĐẦY,
   [Sản phẩm] [varchar] (50) KHÔNG ĐỦ,
   CONSTRAINT [PK_Product] ĐƯỢC ĐIỀU CHỈNH TỪ KHÓA CHÍNH ([ProductID] ASC)
) BẬT [CHÍNH]

TẠO BẢNG [dbo]. [ProductCategory] (
   [ProductCategoryID] [int] KHÔNG ĐẦY,
   [Danh mục sản phẩm] [varchar] (50) KHÔNG ĐẦY,
   CONSTRAINT [PK_ProductCategory] ĐƯỢC ĐIỀU CHỈNH TỪ KHÓA CHÍNH ([ProductCategoryID] ASC)
 ) BẬT [CHÍNH]

Chúng tôi muốn tạo mối quan hệ Khoá ngoại giữa Product.ProductCategoryID
ProductCategory.ProductCategoryID để đảm bảo
ProductCategoryID là một tùy chọn hợp lệ cho bất kỳ mục nhập nào được nhập vào
Bảng sản phẩm
.

Để giúp hiểu các mối quan hệ, Danh mục sản phẩm
sẽ là bảng được tham chiếu Sản phẩm sẽ
là bảng tham chiếu .

Khi tạo Khóa ngoại, có một số tùy chọn để thực thi các quy tắc khi
các thay đổi được thực hiện đối với bảng được tham chiếu:

  • Quy tắc Xóa – điều này xác định điều gì sẽ xảy ra nếu
    bản ghi bị xóa trong bảng được tham chiếu.
  • Quy tắc cập nhật – điều này xác định điều gì sẽ xảy ra nếu hàng
    khóa được cập nhật trong bảng tham chiếu.

Các tùy chọn cho quy tắc Xóa và Cập nhật là:

  • KHÔNG HÀNH ĐỘNG – nếu thay đổi phá vỡ tham chiếu
    tính toàn vẹn, thay đổi được hoàn nguyên.
  • CASCADE – thay đổi cũng sẽ xảy ra trên
    bảng tham chiếu. Nếu đó là để XÓA, các hàng tham chiếu sẽ là
    cũng bị xóa. Nếu điều này nếu để CẬP NHẬT các giá trị hàng của bảng tham chiếu
    sẽ được cập nhật để phù hợp với giá trị mới.
  • SET NULL – giá trị trong bảng tham chiếu phải là
    được đặt thành NULL miễn là giá trị NULL được phép trên cột đó trong
    bảng tham chiếu. Nếu không,
    thay đổi được khôi phục.
  • ĐẶT ĐỊNH NGHĨA – giá trị trong bảng tham chiếu sẽ
    được đặt thành giá trị mặc định. Giá trị này cũng cần phải tồn tại trong
    bảng tham chiếu. Nếu giá trị không tồn tại trong bảng được tham chiếu,
    thay đổi sẽ được khôi phục.
Xem Thêm  Cách thêm hai danh sách trong Python - python thêm hai danh sách

Tạo khóa ngoại bằng T-SQL

Để tạo Khóa ngoại bằng T-SQL, câu lệnh sẽ được viết dưới dạng
theo sau. Điều này cho thấy rằng chúng tôi muốn CASCADE các thay đổi cho cả hai
XÓA và CẬP NHẬT.

 BẢNG ALTER [dbo]. [Sản phẩm]
ADD CONSTRAINT FK_Product_ProductCategoryID FOREIGN KEY (ProductCategoryID)
    TÀI LIỆU THAM KHẢO [dbo]. [ProductCategory] (ProductCategoryID)
    TRÊN XÓA CASCADE
    TRÊN CẬP NHẬT CASCADE

Đây là mô tả cho từng dòng ở trên:

  1. Vì bảng Sản phẩm đã tồn tại, chúng tôi đang sử dụng lệnh ALTER TABLE
    trên dbo. bảng sản phẩm.
  2. Khóa ngoại là các ràng buộc, vì vậy chúng tôi đang thêm một loại Ràng buộc
    Khóa ngoại
    được đặt tên là FK_Product_ProductCategoryID bằng cách sử dụng cột ProductCategoryID
  3. Bảng tham chiếu Khoá ngoại dbo.ProductCategory sử dụng
    Cột ProductCategoryID
  4. Đối với quy tắc XÓA, chúng tôi đang sử dụng CASCADE
  5. Đối với quy tắc CẬP NHẬT, chúng tôi đang sử dụng CASCADE

Đó là tất cả những gì cần làm.

Tạo khóa ngoại bằng SSMS GUI

Để tạo Khoá ngoại bằng SSMS GUI, sử dụng Trình khám phá đối tượng, hãy chọn
tham chiếu bảng dbo. Sản phẩm, đi tới Phím, nhấp chuột phải vào Phím và chọn Mới
Khóa ngoại …:

Trình thiết kế bảng sẽ mở ra cũng như một cửa sổ mới như bên dưới. Nhấp chuột
trên hình elip (…) bên cạnh Đặc điểm kỹ thuật bảng và cột .

Một cửa sổ khác sẽ mở ra như bên dưới.

Chúng tôi có thể thay đổi Tên mối quan hệ (Tên khóa nước ngoài) và cũng cần chọn
các bảng và cột thích hợp. Vì vậy, ở bên trái, chúng tôi chọn
bảng ProductCategory và bên dưới chúng tôi chọn cột ProductCategoryID . Trên
đúng, bảng tham chiếu Sản phẩm đã được chọn, nhưng bên dưới chúng tôi
cần chọn cột ProductCategoryID . Sau khi thực hiện các thay đổi,
bấm OK.

Tại thời điểm này, chúng tôi quay lại màn hình Khóa ngoại đầu tiên mà chúng tôi thấy.
Nếu cuộn xuống khung bên phải, chúng ta có thể thấy quy tắc Xóa và Cập nhật
như thể hiện trong hình ảnh bên dưới. Chọn các giá trị thích hợp từ menu thả xuống
danh sách.

Xem Thêm  Tham chiếu phần tử HTML - HTML: Ngôn ngữ đánh dấu siêu văn bản - phần tử html là gì

Bạn có thể thấy bên dưới có hai tùy chọn khác trong GUI như được hiển thị bên dưới:

  • Thực thi để nhân rộng – nếu bạn đang sử dụng nhân rộng
    và không muốn các khóa ngoại được thực thi ở người đăng ký cho
    dữ liệu sao chép mà bạn sẽ chọn Không.
  • Thực thi Ràng buộc Khoá Ngoại – nếu bạn không muốn
    khóa ngoại được kiểm tra, bạn sẽ chọn Không. Đặt cái này thành Không
    đánh bại mục đích của việc thiết lập khóa ngoại.

Bây giờ hãy nhấp vào Đóng để chấp nhận các thay đổi Khoá Ngoại.

Để thực sự lưu các thay đổi vào cơ sở dữ liệu, bạn có thể nhấp vào nút Lưu trong SSMS,
nhấn Ctrl-S hoặc sử dụng menu SSMS và chọn
Tệp & gt; Lưu sản phẩm (sẽ là tên bảng bạn đang thay đổi để lưu ràng buộc Khóa ngoại.

Xem xét Khóa ngoại mới

Sau khi khóa ngoại đã được tạo, chúng ta có thể thấy nó trong Object Explorer dưới dạng
hiển thị bên dưới. Bạn có thể nhấp chuột phải vào Khoá ngoại và tạo một
script, sửa đổi nó, xóa nó hoặc đổi tên nó.

Các bước tiếp theo
  • Lần tới khi bạn tạo Khóa ngoại, hãy tham khảo mẹo đơn giản này.

  • Tham khảo danh mục này để biết thêm mẹo về Phím nước ngoài

Giới thiệu về tác giả

Bài viết được cập nhật lần cuối: 2017-04-04


Xem thêm những thông tin liên quan đến chủ đề tạo khóa ngoại mssql

07. Foreign Key – Khóa ngoại trong SQL

  • Tác giả: DaoDucDev
  • Ngày đăng: 2020-06-04
  • Đánh giá: 4 ⭐ ( 4190 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong video này, thầy sẽ hướng dẫn các em làm việc với Foreign Key hay còn gọi là Khóa ngoại trong SQL.

    Nội dung video:
    ✍️ Khái niệm Foreign Key
    ✍️ Tại sao cần có Foreign Key
    ✍️ Cách tạo Foreign Key trong bảng.

Tạo Khóa Ngoại Trong Sql Server, Khóa Ngoại Foreign Key Trong Sql Server

  • Tác giả: saobiennhatrang.com
  • Đánh giá: 4 ⭐ ( 8898 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Dẫn nhậpTrong bài trước, chúng ta đã tìm hiểu về KHÓA CHÍNHvà cách tạo, xóa, đặt tên cho khóa chính trong một Table, Ngoài ra, Kteam cũng đã đề cập đến một thành phần khác có khả năng tham chiếu đến Table thông qua Khóa chính đó làKHÓA NGOẠI

Khóa ngoại trong SQL Server

  • Tác giả: howkteam.vn
  • Đánh giá: 4 ⭐ ( 3081 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Khóa ngoại trong SQL Server

Cách Tạo Khóa Ngoại Trong Sql Server, Khác Biệt Giữa Khóa Chính Và Khóa Ngoại Trong Sql

  • Tác giả: vantaiduongviet.vn
  • Đánh giá: 3 ⭐ ( 5381 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Các khoá chính và khóa ngoại là hai loại ràng buộc có thể được sử dụng để thực thi toàn vẹn dữ liệu trong các bảng SQL Server và đây là những đối tượng cơ sở dữ liệu quan trọng, Trong SQL Server, có hai khóa – khóa chính và khoá ngoại dường như giống nhau, nhưng thực tế cả hai đều khác nhau về các tính năng và hành vi

Tạo Khóa Ngoại Trong Sql Server : Foreign Key (Khoá Ngoại), Khóa Ngoại Foreign Key Trong Sql

  • Tác giả: remonster.vn
  • Đánh giá: 3 ⭐ ( 5930 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài này bạn sẽ được học cách tạo khóa ngoại Foreign Key bằng câu lệnh SQL thể hiện qua các hệ quản trị CSDL như SQL Server, Oracle, MySQL, Khóa ngoại là những column đặc biệc dùng để thể hiện mối liên kết giữa hai bảng

Tạo 2 Khóa Chính Trong Sql Server, Khóa Chính Primary Key Trong Sql Server

  • Tác giả: hieuvecon.vn
  • Đánh giá: 3 ⭐ ( 8189 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Các khoá chính và khóa ngoại là hai loại ràng buộc có thể được sử dụng để thực thi toàn vẹn dữ liệu trong các bảng SQL Server và đây là những đối tượng cơ sở dữ liệu quan trọng, Bạn đang xem: Tạo 2 khóa chính trong sqlTrong SQL Server, có hai khóa – khóa chính và khoá ngoại dường như giống nhau, nhưng thực tế cả hai đều khác nhau về các tính năng và hành vi

Tìm Hiểu Khái Niệm Và Cách Tạo Khóa Ngoại Trong Sql Server, Sql Foreign Key

  • Tác giả: sentory.vn
  • Đánh giá: 3 ⭐ ( 9239 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Các khoá chính và khóa ngoại là hai loại ràng buộc có thể được sử dụng để thực thi toàn vẹn dữ liệu trong các bảng SQL Server và đây là những đối tượng cơ sở

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Android Developers - android string

By ads_php