Khóa DBMS: Các loại khóa ứng viên, cao cấp, chính, ngoại có kèm theo ví dụ – khóa ngoại với ví dụ trong dbms

Phím là gì? Khóa DBMS là một thuộc tính hoặc tập hợp một thuộc tính giúp bạn xác định một hàng (tuple) trong một quan hệ (bảng). Chúng cho phép bạn tìm mối quan hệ giữa hai bảng. Các phím giúp bạn gỡ bỏ

Bạn đang xem: khóa ngoại với ví dụ trong dbms

Các khóa trong DBMS là gì?

KEYS trong DBMS là một thuộc tính hoặc tập hợp các thuộc tính giúp bạn xác định một hàng (tuple) trong một mối quan hệ (bảng). Chúng cho phép bạn tìm mối quan hệ giữa hai bảng. Các phím giúp bạn xác định duy nhất một hàng trong bảng bằng sự kết hợp của một hoặc nhiều cột trong bảng đó. Khóa cũng hữu ích để tìm bản ghi hoặc hàng duy nhất từ ​​bảng. Khóa cơ sở dữ liệu cũng hữu ích để tìm bản ghi hoặc hàng duy nhất từ ​​bảng.

Ví dụ:

Mã hiệu công nhân
Họ
Họ

11
Andrew
Johnson

22
Tom
Gỗ

33
Alex
mạnh khỏe

Trong ví dụ đã cho ở trên, ID nhân viên là khóa chính vì nó xác định duy nhất một hồ sơ nhân viên. Trong bảng này, không nhân viên nào khác có thể có cùng ID nhân viên.

Trong hướng dẫn này, bạn sẽ học:

Tại sao chúng ta cần Khóa?

Dưới đây là một số lý do để sử dụng khóa sql trong hệ thống DBMS.

  • Các phím giúp bạn xác định bất kỳ hàng dữ liệu nào trong bảng. Trong một ứng dụng thế giới thực, một bảng có thể chứa hàng nghìn bản ghi. Hơn nữa, các bản ghi có thể được sao chép. Các khóa trong RDBMS đảm bảo rằng bạn có thể xác định duy nhất một bản ghi bảng bất chấp những thách thức này.
  • Cho phép bạn thiết lập mối quan hệ giữa và xác định mối quan hệ giữa các bảng
  • Giúp bạn thực thi danh tính và tính toàn vẹn trong mối quan hệ.

Các loại khóa trong DBMS (Hệ thống quản lý cơ sở dữ liệu)

Chủ yếu có tám loại Khóa khác nhau trong DBMS và mỗi khóa có chức năng khác nhau:

  1. Super Key
  2. Khóa chính
  3. Khoá Ứng viên
  4. Khóa thay thế
  5. Khoá ngoại
  6. Khóa ghép
  7. Khóa tổng hợp
  8. Khóa đại diện

Hãy xem xét từng khóa trong DBMS với ví dụ:

  • Siêu khóa – Siêu khóa là một nhóm các khóa đơn hoặc nhiều khóa xác định các hàng trong bảng.
  • Khóa chính – là một cột hoặc nhóm cột trong bảng xác định duy nhất mọi hàng trong bảng đó.
  • Khoá Ứng viên – là một tập hợp các thuộc tính xác định duy nhất các bộ giá trị trong một bảng. Khóa ứng viên là siêu khóa không có thuộc tính lặp lại.
  • Khóa thay thế – là một cột hoặc nhóm cột trong bảng xác định duy nhất mọi hàng trong bảng đó.
  • Khóa ngoại – là cột tạo mối quan hệ giữa hai bảng. Mục đích của Khóa ngoài là duy trì tính toàn vẹn của dữ liệu và cho phép điều hướng giữa hai phiên bản khác nhau của một thực thể.
  • Khóa tổng hợp – có hai hoặc nhiều thuộc tính cho phép bạn nhận dạng duy nhất một bản ghi cụ thể. Có thể mỗi cột có thể không phải là duy nhất trong cơ sở dữ liệu.
  • Khóa tổng hợp – là sự kết hợp của hai hoặc nhiều cột xác định duy nhất các hàng trong bảng. Sự kết hợp của các cột đảm bảo tính duy nhất, mặc dù không đảm bảo tính duy nhất của từng cột.
  • Khóa đại diện – Khóa nhân tạo nhằm mục đích xác định duy nhất từng bản ghi được gọi là khóa thay thế. Loại khóa này là duy nhất vì chúng được tạo khi bạn không có bất kỳ khóa chính tự nhiên nào.

Siêu khóa là gì?

Siêu khóa là một nhóm các khóa đơn hoặc nhiều khóa xác định các hàng trong bảng. Siêu khóa có thể có các thuộc tính bổ sung không cần thiết để nhận dạng duy nhất.

Xem Thêm  129 sắc thái của màu hồng với tên, mã Hex, RGB, CMYK - mã hex màu hồng

Ví dụ:

EmpSSN
EmpNum
Empname

9812345098
AB05
Cho xem

9876512345
AB06
Roslyn

199937890
AB07
James

Trong ví dụ đã cho ở trên, tên EmpSSN và EmpNum là siêu khóa.

Khóa chính là gì?

TỪ KHÓA CHÍNH trong DBMS là một cột hoặc nhóm cột trong bảng xác định duy nhất mọi hàng trong bảng đó. Khóa chính không được trùng lặp có nghĩa là cùng một giá trị không được xuất hiện nhiều lần trong bảng. Một bảng không được có nhiều hơn một khóa chính.

Quy tắc xác định khóa chính:

  • Hai hàng không được có cùng giá trị khóa chính
  • Mỗi hàng phải có một giá trị khóa chính.
  • Trường khóa chính không được để trống.
  • Không bao giờ có thể sửa đổi hoặc cập nhật giá trị trong cột khóa chính nếu bất kỳ khóa ngoại nào đề cập đến khóa chính đó.

Ví dụ:

Trong ví dụ sau, & lt; code & gt; StudID & lt; / code & gt; là Khóa chính.

StudID
Cuộn không
Họ
Họ
E-mail

1
11
Tom
Giá bán
abc@gmail.com

2
12
Nick
Được rồi
xyz@gmail.com

3
13
Dana
Natan
mno@yahoo.com

Khóa thay thế là gì?

KHÓA THAY THẾ là một cột hoặc nhóm cột trong bảng xác định duy nhất mọi hàng trong bảng đó. Một bảng có thể có nhiều lựa chọn cho một khóa chính nhưng chỉ có một lựa chọn có thể được đặt làm khóa chính. Tất cả các khóa không phải là khóa chính được gọi là Khóa thay thế.

Ví dụ:

Trong bảng này, StudID, Roll No, Email đủ điều kiện để trở thành khóa chính. Nhưng vì StudID là khóa chính nên Roll No, Email trở thành khóa thay thế.

StudID
Cuộn không
Họ
Họ
E-mail

1
11
Tom
Giá bán
abc@gmail.com

2
12
Nick
Được rồi
xyz@gmail.com

3
13
Dana
Natan
mno@yahoo.com

Khóa ứng viên là gì?

KHÓA KÝ SINH trong SQL là một tập hợp các thuộc tính xác định duy nhất các bộ giá trị trong một bảng. Khóa ứng viên là siêu khóa không có thuộc tính lặp lại. Khóa chính phải được chọn từ các khóa ứng viên. Mỗi bảng phải có ít nhất một khóa ứng viên. Một bảng có thể có nhiều khóa ứng viên nhưng chỉ có một khóa chính duy nhất.

Thuộc tính của khóa Ứng viên:

  • Nó phải chứa các giá trị duy nhất
  • Khóa ứng viên trong SQL có thể có nhiều thuộc tính
  • Không được chứa các giá trị rỗng
  • Nó phải chứa các trường tối thiểu để đảm bảo tính duy nhất
  • Xác định duy nhất từng bản ghi trong bảng

Khóa ứng viên Ví dụ: Trong bảng đã cho Stud ID, Roll No và email là các khóa ứng viên giúp chúng tôi xác định duy nhất hồ sơ học sinh trong bảng.

StudID
Cuộn không
Họ
Họ
E-mail

1
11
Tom
Giá bán
abc@gmail.com

2
12
Nick
Được rồi
xyz@gmail.com

3
13
Dana
Natan
mno@yahoo.com

Khóa ứng viên trong DBMS

Khóa ứng viên trong DBMS

Khóa ngoại là gì?

NGOẠI KHÓA là cột tạo mối quan hệ giữa hai bảng. Mục đích của Khóa ngoại là duy trì tính toàn vẹn của dữ liệu và cho phép điều hướng giữa hai trường hợp khác nhau của một thực thể. Nó hoạt động như một tham chiếu chéo giữa hai bảng vì nó tham chiếu đến khóa chính của một bảng khác.

Ví dụ:

DeptCode
DeptName

001
Khoa học

002
Tiếng Anh

005
Máy tính

ID giáo viên
Họ tên
Tên

B002
David
Warner

B017
Sara
Joseph

B009
Mike
Brunton

Trong khóa này trong ví dụ dbms, chúng ta có hai bảng, giảng dạy và khoa trong một trường học. Tuy nhiên, không có cách nào để xem tìm kiếm nào hoạt động ở bộ phận nào.

Trong bảng này, thêm khóa ngoại trong Mã số vào tên Giáo viên, chúng ta có thể tạo mối quan hệ giữa hai bảng.

Xem Thêm  Các lớp và đối tượng C ++ - c ++ khai báo một lớp

ID giáo viên
DeptCode
Họ tên
Tên

B002
002
David
Warner

B017
002
Sara
Joseph

B009
001
Mike
Brunton

Khái niệm này còn được gọi là Tính toàn vẹn tham chiếu.

Khóa ghép là gì?

KEY COMPOUND có hai hoặc nhiều thuộc tính cho phép bạn nhận dạng duy nhất một bản ghi cụ thể. Có thể mỗi cột có thể không phải là duy nhất trong cơ sở dữ liệu. Tuy nhiên, khi kết hợp với cột hoặc cột khác, sự kết hợp của các phím tổng hợp sẽ trở thành duy nhất. Mục đích của khóa ghép trong cơ sở dữ liệu là xác định duy nhất từng bản ghi trong bảng.

Ví dụ:

OrderNo
PorductID
tên sản phẩm
Số lượng

B005
JAP102459
Con chuột
5

B005
DKT321573
USB
10

B005
OMG446789
Màn hình LCD
20

B004
DKT321573
USB
15

B002
OMG446789
Máy in laser
3

Trong ví dụ này, OrderNo và ProductID không thể là khóa chính vì nó không xác định duy nhất một bản ghi. Tuy nhiên, có thể sử dụng khóa ghép của ID đơn đặt hàng và ID sản phẩm vì nó nhận dạng duy nhất từng bản ghi.

Khóa tổng hợp là gì?

KEY COMPOSITE là sự kết hợp của hai hoặc nhiều cột xác định duy nhất các hàng trong bảng. Sự kết hợp của các cột đảm bảo tính duy nhất, mặc dù tính duy nhất riêng lẻ không được đảm bảo. Do đó, chúng được kết hợp để xác định duy nhất các bản ghi trong bảng.

Sự khác biệt giữa khóa ghép và khóa tổng hợp là bất kỳ phần nào của khóa ghép đều có thể là khóa ngoại, nhưng khóa tổng hợp có thể hoặc có thể không phải là một phần của khóa ngoại.

Khóa đại diện là gì?

CÁC KHÓA KHẢO SÁT là một khóa nhân tạo nhằm mục đích xác định duy nhất mỗi bản ghi được gọi là khóa thay thế. Loại khóa một phần này trong dbms là duy nhất vì nó được tạo khi bạn không có bất kỳ khóa chính tự nhiên nào. Chúng không cho biết bất kỳ ý nghĩa nào đối với dữ liệu trong bảng. Khóa thay thế trong DBMS thường là một số nguyên. Khóa thay thế là giá trị được tạo ngay trước khi bản ghi được chèn vào bảng.

Họ tên
Họ
Thời gian bắt đầu
Thời gian kết thúc

Anne
thợ rèn
09:00
18:00

Jack
Francis
08:00
17:00

Anna
McLean
11:00
20:00

Cho xem
Willam
14:00
23:00

Ở trên, ví dụ cụ thể, đã hiển thị thời gian thay đổi của các nhân viên khác nhau. Trong ví dụ này, cần có khóa thay thế để nhận dạng duy nhất từng nhân viên.

Các khóa thay thế bằng sql được phép khi

  • Không có thuộc tính nào có tham số của khóa chính.
  • Trong bảng khi khóa chính quá lớn hoặc phức tạp.

Sự khác biệt giữa Khóa chính & amp; Khóa ngoại

Sau đây là điểm khác biệt chính giữa khóa chính và khóa ngoại:

Khóa chính
Khóa ngoại

Giúp bạn xác định duy nhất một bản ghi trong bảng.
Nó là một trường trong bảng là khóa chính của một bảng khác.

Khóa chính không bao giờ chấp nhận giá trị rỗng.
Một khóa ngoại có thể chấp nhận nhiều giá trị rỗng.

Khóa chính là một chỉ mục được phân nhóm và dữ liệu trong bảng DBMS được tổ chức vật lý theo trình tự của chỉ mục được phân nhóm.
Khóa ngoại không thể tự động tạo chỉ mục, được phân cụm hoặc không được phân cụm. Tuy nhiên, bạn có thể tạo chỉ mục trên khóa ngoại theo cách thủ công.

Bạn có thể có một khóa chính trong một bảng.
Bạn có thể có nhiều khóa ngoại trong một bảng.

Xem Thêm  Phương thức khóa từ điển Python () - phương pháp khóa từ điển python

Tóm tắt

  • Khóa trong DBMS là gì: Khóa trong DBMS là một thuộc tính hoặc một tập hợp các thuộc tính giúp bạn xác định một hàng (tuple) trong một quan hệ (bảng)
  • Các khóa trong RDBMS cho phép bạn thiết lập mối quan hệ giữa và xác định mối quan hệ giữa các bảng
  • Tám loại khóa trong DBMS là Khóa siêu, Chính, Ứng viên, Thay thế, Ngoại, Hợp chất, Tổ hợp và Khóa thay thế.
  • Siêu khóa là một nhóm các khóa đơn hoặc nhiều khóa xác định các hàng trong bảng.
  • Một cột hoặc nhóm cột trong bảng giúp chúng tôi xác định duy nhất mọi hàng trong bảng đó được gọi là khóa chính
  • Tất cả các khóa khác nhau trong DBMS không phải là khóa chính được gọi là khóa thay thế
  • Một siêu khóa không có thuộc tính lặp lại được gọi là khóa ứng viên
  • Khóa ghép là một khóa có nhiều trường cho phép bạn nhận dạng duy nhất một bản ghi cụ thể
  • Một khóa có nhiều thuộc tính để xác định duy nhất các hàng trong bảng được gọi là khóa tổng hợp
  • Một khóa nhân tạo nhằm mục đích xác định duy nhất mỗi bản ghi được gọi là khóa thay thế
  • Khóa chính không bao giờ chấp nhận giá trị rỗng trong khi khóa ngoại có thể chấp nhận nhiều giá trị rỗng.


Xem thêm những thông tin liên quan đến chủ đề khóa ngoại với ví dụ trong dbms

Concept of Keys in DBMS – Super, Primary, Candidate, Foreign Key, etc

alt

  • Tác giả: Studytonight
  • Ngày đăng: 2019-11-01
  • Đánh giá: 4 ⭐ ( 6047 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: For complete DBMS tutorial: http://www.studytonight.com/dbms/

    This video covers the different types of DBMS Keys like Super Key, Candidate Key, Primary Key, Foreign Key, Alternate Key, Composite & Compound Key and Surrogate Key with complete explanation and example.

    Introduction to Normalization: https://youtu.be/xoTyrdT9SZI

    First Normal Form: https://youtu.be/mUtAPbb1ECM

    Second Normal Form: https://youtu.be/R7UblSu4744

    Third Normal Form: https://youtu.be/aAx_JoEDXQA

    BCNF: https://youtu.be/NNjUhvvwOrk

    Fourth Normal Form: https://youtu.be/OTCuykFHBeA

    Fifth Normal Form: https://youtu.be/mbj3HSK28Kk

    If you LIKE this video, give it a thumbs up and do SUBSCRIBE to our channel.

    Our website: https://www.studytonight.com
    Facebook: https://facebook.com/Studytonight
    Twitter: https://twitter.com/studytonight

Chuyển đổi biểu đồ ER thành ví dụ về bảng quan hệ

  • Tác giả: vi.tutorialcup.com
  • Đánh giá: 3 ⭐ ( 9960 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Chuyển đổi biểu đồ ER sang ví dụ bảng quan hệ – Biểu đồ ER cung cấp kiến ​​thức về yêu cầu & ánh xạ các thực thể để dễ dàng chuyển đổi sang bảng

Khóa ngoại trong SQL Server

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

Bài 7: Khóa ngoại trong SQL Server

  • Tác giả: newnet.vn
  • Đánh giá: 5 ⭐ ( 8121 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Mô hình hóa dữ liệu quan hệ với khóa ngoại trong cơ sở dữ liệu SQL phân tán

  • Tác giả: helpex.vn
  • Đánh giá: 4 ⭐ ( 7911 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Các ràng buộc khóa chính và khóa ngoại cũng cần thiết đối với cơ sở dữ liệu quan hệ cũng như các bảng và cột – nếu không có chúng, bạn không thể triển khai thiết kế phù hợp với mô hình quan…

Khóa ngoại (Foreign Key) trong MySQL

  • Tác giả: freetuts.net
  • Đánh giá: 5 ⭐ ( 8977 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tìm hiểu Khóa ngoại (Foreign Key) trong MySQL, một số cách tạo khóa ngoại (foreign key) và xóa khóa ngoại với lệnh drop trong mysql

Khóa ngoại Foreign Key trong SQL Server

  • Tác giả: quantrimang.com
  • Đánh giá: 4 ⭐ ( 8702 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài hướng dẫn giới thiệu cách dùng khóa ngoại Foreign Key trong SQL Server cùng cú pháp và các ví dụ.

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