• Trang Chủ
  • Lập Trình
    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Xu hướng phát triển thị trường bất động sản 

    Bán hàng qua app di động giúp ích gì cho việc kinh doanh của bạn? 

    Lập trình di động và tốc độ tải của thiết bị 3G

    Lập trình di động và tốc độ tải của thiết bị 3G

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Cách mua cổ phiếu cho người mới bắt đầu chơi chứng khoán

  • Công Nghệ
  • Tool
    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Xu hướng phát triển thị trường bất động sản 

    Bán hàng qua app di động giúp ích gì cho việc kinh doanh của bạn? 

    Lập trình di động và tốc độ tải của thiết bị 3G

    Lập trình di động và tốc độ tải của thiết bị 3G

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Cách mua cổ phiếu cho người mới bắt đầu chơi chứng khoán

  • Tài Liệu
  • Việc Làm
    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Xu hướng phát triển thị trường bất động sản 

    Bán hàng qua app di động giúp ích gì cho việc kinh doanh của bạn? 

    Lập trình di động và tốc độ tải của thiết bị 3G

    Lập trình di động và tốc độ tải của thiết bị 3G

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Cách mua cổ phiếu cho người mới bắt đầu chơi chứng khoán

  • Blog
  • Trang Chủ
  • Lập Trình
    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Xu hướng phát triển thị trường bất động sản 

    Bán hàng qua app di động giúp ích gì cho việc kinh doanh của bạn? 

    Lập trình di động và tốc độ tải của thiết bị 3G

    Lập trình di động và tốc độ tải của thiết bị 3G

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Cách mua cổ phiếu cho người mới bắt đầu chơi chứng khoán

  • Công Nghệ
  • Tool
    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Xu hướng phát triển thị trường bất động sản 

    Bán hàng qua app di động giúp ích gì cho việc kinh doanh của bạn? 

    Lập trình di động và tốc độ tải của thiết bị 3G

    Lập trình di động và tốc độ tải của thiết bị 3G

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Cách mua cổ phiếu cho người mới bắt đầu chơi chứng khoán

  • Tài Liệu
  • Việc Làm
    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Phân biệt giữa Public Cloud, Private Cloud và Hybrid Cloud

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Top 9 ứng dụng xem phim hoạt hình tốt nhất

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!Tìm hiểu về các loại hình tại dự án Richmond City, xem ngay!

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Căn hộ thương mại là gì? Có nên đầu tư vào loại hình bất động sản này không?

    Xu hướng phát triển thị trường bất động sản 

    Bán hàng qua app di động giúp ích gì cho việc kinh doanh của bạn? 

    Lập trình di động và tốc độ tải của thiết bị 3G

    Lập trình di động và tốc độ tải của thiết bị 3G

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Top 7 địa chỉ cung cấp rèm cửa sổ uy tín

    Cách mua cổ phiếu cho người mới bắt đầu chơi chứng khoán

  • Blog
Trang Chủ Tài Liệu

Khóa chính là gì? Khác biệt giữa khóa chính và khóa ngoại trong SQL

Cv.com.vn Bởi Cv.com.vn
31/12/2019
Trong Tài Liệu, Lập Trình
0
Images (10)
Mục lục

    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. Đây là những đối tượng cơ sở dữ liệu quan trọng. Vậy khoá chính và khoá ngoại trong SQL là gì? Sự khác biệt của chúng là gì? Chúng ta cùng tìm hiểu qua bài viết này nhé!

    1. Khóa chính là gì

    • Khóa chính (hay ràng buộc khóa chính) được sử dụng để định danh duy nhất mỗi record tại table của cơ sở dữ liệu.
    • Ngoài ra, nó còn sử dụng để thiết lập quan hệ 1-n (hay ràng buộc tham chiếu) giữa hai table tại cơ sở dữ liệu.
    • Dữ liệu (value) của field khóa chính nên có tính độc nhất. và không có các giá trị Null.
    • Mỗi table nên chỉ có một khóa chủ đạo, khóa chủ đạo có khả năng sản sinh ra từ nhiều field của table.

    2 Khóa ngoại là gì

    • Khóa ngoại của một table được coi là con trỏ trỏ tới khóa chủ đạo của table khác.
    • Nếu như trường MaSV của table DiemSV được sử dụng để tạo ràng buộc tham chiếu đến table HSSV, thông qua khóa chủ đạo là MaSV thì MaSV của table DiemSV được gọi là khóa ngoại của bảng này. Đây cũng chính là lý do mà ta nói, khóa ngoại được coi là con trỏ trởi tới khóa chính.
    • Để hiểu rõ hơn về ý nghĩa dùng của khóa chủ đạo, khóa ngoại chúng ta hãy xét chẳng hạn như sau: Giả sử cơ sở dữ liệu QLDiemSV có hai table: HSSV và DiemSV như sau:
    • Table HSSV gồm 6. field, trong số đó MaSV được chọn làm khóa chính của table này.

    • Table DiemSV gồm 6 field, trong đó STT là khóa chủ đạo , MaSV được chọn làm khóa ngoại của table này.

    • Như vậy, hai table HSSV , DiemSV quan hệ dữ liệu với nhau thông qua field MaSV của mỗi table (đây là quan hệ 1 – n). Hay nói cách khác, ràng buộc tham chiếu đã được tạo giữa hai table (từ table DiemSV đến table HSSV).
    • Với ràng buộc này thì, việc người tiêu dùng vô tình hay cố ý tàn phá các liên kết sẽ bị phòng ngừa. và, người tiêu dùng cũng không thể nhập vào cột khóa ngoại một giá trị mà giá trị đấy không hiện diện ở cột khóa chính mà khóa này trỏ tới (không thể nhập điểm cho một học viên, vào table DiemSV, mà mã của họ không xuất hiện ở cột MaSV ở table HSSV).
    • Xem thêm:  Business Intelligence là gì? Các thuật ngữ thông dụng mà doanh nghiệp đang dùng

    3 Thiết lập khóa chủ đạo

    • Để xây dựng khóa chủ đạo ngay trong thời gian xây dựng table ta có khả năng sử dụng câu lệnh SQL Create Table như sau:
      1
      2.
      3.
      4
      5
      6
      7
      8.
      9
      10
      11
      (
      MaSV varchar (8.) NOT NULL,
      Holot varchar(2), Ten varchar(8)và
      NgaySinh Datevà MaLop varchar(8) NOT NULL,
      Lienhe varchar(11) NOT NULL,
      PRIMARY KEY (MaSV)
      );
    • Câu lệnh này dùng để tạo table HSSV, đồng thời chỉ định field MaSV làm khóa chính cho nó.
    • Tại trường hợp khóa chủ đạo được ra đời từ nhiều field , ta cần đặt tên cho ràng buộc khóa này thì có khả năng sử dụng câu lệnh Create Table như sau:
      1
      2.
      3.
      4
      5.
      6
      7
      8
      9.
      10
      11
      (
      MaSV varchar (8.) NOT NULLvà
      Holot varchar(2.), Ten varchar(8),
      NgaySinh DATE, MaLop varchar(8) NOT NULLvà
      Lienhe varchar(11) NOT NULLvà
      CONSTRAINT Ma PRIMARY KEY (MaSV, MaLop)
      );
    • Vậy khóa chính table này được thành lập từ hai field: MaSV , MaLop và tên của ràng buộc này là Ma.

    3..1 Xây dựng khóa chủ đạo cho table đã tạo

    • sử dụng câu lệnh sau:ALTER TABLE HSSV ADD PRIMARY KEY (MaSV)
    • Hoặc:ALTER TABLE HSSV ADD CONSTRAINT Ma PRIMARY KEY (MaSV, MaLop)
    • rõ rệt, trong trường hợp này những field MaSV, MaLop phải đã được khai báo ràng buộc NOT NULL (trng khi xây dựng table).

    3..2 Xóa khóa chủ đạo

    • sử dụng câu lệnh sau:ALTER TABLE HSSV DROP PRIMARY KEY;
    • Hoặc:ALTER TABLE HSSV DROP CONSTRAINT Ma

    4 Thiết lập khóa ngoại

    • Để xây dựng khóa ngoại ngay trong khi xây dựng table ta có thể sử dụng câu lệnh SQL Create Table như sau:
      1
      2
      3.
      4.
      5.
      6
      7
      8.
      9
      (
      STT INT NOT NULL AUTO_INCREMENTvà
      MaSV varchar(8) NOT NULLvà
      MonHoc varchar(6) NOT NULLvà
      HKI, HKII, ĐTB_Nam INT,
      PRIMARY KEY (STT)và
      FOREIGN KEY (MaSV) REFERENCES HSSV(MaSV)
      )
    • Câu lệnh này: tạo table DiemSV gồm 6. field, trong đó khóa chính là field STT , field khóa ngoại là MaSV. Table này xây dựng ràng buộc tham chiếu đến table HSSV thông qua field MaSV.
    • Dạng khác:
      1
      2
      3
      4.
      5.
      6.
      7.
      8
      9.
      10
      11
      12
      (
      STT INT NOT NULL AUTO_INCREMENT,
      MaSV varchar(8.) NOT NULL,
      MonHoc varchar(6.) NOT NULL,
      HKI, HKIIvà ĐTB_Nam INT,
      PRIMARY KEY (STT),
      CONSTRAINT Ma FOREIGN KEY (MaSV) REFERENCES HSSV(MaSV)
      )
    • Khi cần đặt tên cho ràng buộc khóa ngoại , khóa ngoại được tạo ra từ nhiều field thì ta phải dùng câu lệnh Create Table theo dạng này.

    4..1 xây dựng khóa ngoại cho table đã tạo

    • Ví dụ:
      1
      2.
      3
      4
      5
      6.
      REFERENCES HSSV(MaSV)
    • Hoặc:
      1
      2
      3
      4
      5.
      6
      FOREIGN KEY (MaSV) REFERENCES HSSV(MaSV)
    • Câu lệnh này được sử dụng trong trường hợp cần đặt tên cho ràng buộc khóa ngoại và khóa ngoại được tạo ra từ nhiều field.

    4.2 Xóa khóa ngoại

    • Ví dụ:ALTER TABLE DiemSV DROP FOREIGN KEY Ma
    • Câu lệnh MySQL ALTER được sử dụng rất phổ biến trong những trường hợp thay đổi tên của table, tên của field hoặc thêm/xóa những field tại một table nào đó. vì thế, chúng ta sẽ quay lại câu lệnh này ở các bài sau.

    5 Bảng so sánh

    Khóa chínhKhóa ngoại
    Khóa chuẩn xác định độc nhất một bản ghi tại bảng.Khóa ngoại là một trường tại bảng , là khóa chủ đạo trong một bảng khác.
    Khóa chủ đạo không chấp thuận các giá trị rỗng.Khóa ngoại có thể chấp thuận nhiều giá trị rỗng.
    Theo mặc định, khoá chủ đạo là chỉ mục được nhóm , dữ liệu trong bảng cơ sở dữ liệu được tổ chức theo thứ tự của dãy chỉ mục nhóm.Khóa ngoại không tự động tạo ra một chỉ mục, group hoặc không group. Bạn có khả năng tự tạo một chỉ mục trên khoá ngoại.
    Chúng ta chỉ có thể có một khóa chủ đạo trong một bảng.Chúng ta có thể có nhiều khoá ngoại trong một bảng.

    6 Tóm lại

    • Chúng ta chỉ sử dụng các cách trên để xây dựng khóa chủ đạo trong MySQL , không những có ở MySQL mà ở SQL Server cũng có cú pháp tương tự vì chúng đều dùng ngôn ngữ T-SQL.
    • thông thường khi làm việc với những áp dụng web thì ta ít khi dùng khóa ngoại bởi vì sẽ rất chậm, vì vậy người ta sẽ cố gắng thiết kế CSDL làm thế nào tốt nhất để không hiện hữu khóa ngoại.
    • Có thể bạn quan tâm:  Các thuật toán sắp xếp phổ biến nhất hiện nay 2020

    Minh Nguyệt_ tổng hợp( tham khảo techtalk.vn/)

    Tags: cách xác định khóa chính trong cơ sở dữ liệu quan hệforeign key là gìkhóa chính là gì tin 12khóa chính là gì tin học 12primary key là gìset 2 khóa chính trong sqltạo khóa chính và khóa ngoại trong sqlthuộc tính khóa là gì
    Bài Viết Trước

    Back End là gì? Phân biệt giữa Front End, Back End và Full Stack mới nhất 2020

    Bài Viết Tiếp Theo

    Những ngôn ngữ lập trình trí tuệ nhân tạo c++ phổ biến nhất hiện nay

    Bài Viết Tiếp Theo
    Careerdrill Datastructure Algorithm Book6

    Những ngôn ngữ lập trình trí tuệ nhân tạo c++ phổ biến nhất hiện nay

    CODER

    Cần Hỗ Trợ

    Chuyên mục

    • Tool
    • Blog
    • Tài Liệu
    • Lập Trình
    • Việc Làm
    • Công Nghệ

    Phần mềm - Công cụ

    • Brands
    • Alosoft
    • Seeding
    • Top Việc
    • Tổng Hợp
    • Quản Trị Nhân Sự

    Liên kết

    • Top Vui
    • Xe Mô Tô
    • Quản Lý Kho
    • Blog Việc Làm
    • Giải Pháp Việc Làm
    • Phần Mềm Miễn Phí

    Coder.com.vn là blog cá nhân, mọi thông tin đều mang tính chất tham khảo. Do đó, chúng tôi không chịu bất cứ trách nhiệm nào đối với việc sử dụng các thông tin trên website.
    Xem thêm Miễn Trừ Trách Nhiệm

    • Trang Chủ
    • Lập Trình
    • Công Nghệ
    • Tool
    • Tài Liệu
    • Việc Làm
    • Blog

    © 2025 JNews - Premium WordPress news & magazine theme by Jegtheme.