Sự khác biệt cơ bản giữa khóa chính và khóa duy nhất là khóa chính không chấp nhận giá trị NULL trong khi giá trị NULL được cho phép trong các ràng buộc khóa duy nhất.
Biểu đồ so sánh
Cơ sở để so sánhKhóa chínhKhóa duy nhấtCăn bảnNó được sử dụng để phục vụ như một định danh duy nhất cho mỗi hàng trong một bảng.Nó cũng xác định duy nhất một hàng, không được xác định là khóa chính.Chấp nhận giá trị NULLKhóa chính sẽ không chấp nhận giá trị NULL.Unique sẽ chấp nhận giá trị NULL.Số lượng khóa có thể được xác định trong bảngChỉ có một khóa chínhNhiều hơn mộtMục lụcTạo chỉ mục cụmTạo chỉ mục không phân cụmĐịnh nghĩa khóa chính
Một cột có thể được gọi là khóa chính của bảng nếu nó xác định duy nhất mỗi bộ [hàng] trong bảng đó. Nó thi hành các ràng buộc toàn vẹn cho bảng. Chỉ có một khóa chính được cho phép trong một bảng. Khóa chính không chấp nhận các giá trị trùng lặp và NULL. Khóa chính được chọn một cách cẩn thận trong đó các thay đổi có thể xảy ra theo cách hiếm khi, có nghĩa là khóa chính trong bảng thay đổi rất hiếm khi.
Hãy hiểu khái niệm về khóa chính với sự trợ giúp của bảng. Ở đây chúng tôi đang tạo một bảng có tên là bảng Sinh viên, có các thuộc tính như Roll_number, Name, Batch, Phone_number, Citizen_ID.
Một khóa chính có thể được tham chiếu bởi khóa ngoại. Nó tạo ra một chỉ mục cụm duy nhất trên bảng. Trong một chỉ mục được nhóm, các hàng dữ liệu được sắp xếp và lưu trữ trong một bảng hoặc các khung nhìn trên cơ sở các giá trị chính của nó. Chỉ có thể có một chỉ mục được nhóm trong một bảng, lý do đằng sau điều này là một hàng dữ liệu trong bảng có thể được sắp xếp theo một thứ tự.
Định nghĩa khóa duy nhất
Tương tự như khóa chính, các ràng buộc khóa duy nhất cũng xác định một bộ dữ liệu riêng lẻ trong một mối quan hệ. Nhưng, có một số khác biệt nhất định giữa chúng. Một bảng có thể có nhiều hơn một khóa duy nhất. Các ràng buộc khóa duy nhất chỉ có thể chấp nhận một giá trị NULL cho một cột.
Chúng ta hãy hiểu điều này với ví dụ tương tự, nơi chúng ta có một bảng Sinh viên với các thuộc tính Roll_number, Name, Batch, Phone_number và Citizen_ID. Thuộc tính số cuộn được gán với khóa chính.
Các ràng buộc duy nhất cũng được tham chiếu bởi khóa ngoại. Nó có thể được sử dụng khi ai đó muốn thực thi các ràng buộc trên một cột và một nhóm các cột không phải là khóa chính. Không giống như khóa chính, nó tạo ra chỉ mục không được nhóm . Các chỉ mục không phân cụm có cấu trúc riêng biệt từ các hàng dữ liệu. Mỗi mục nhập giá trị khóa trong nó trỏ đến hàng dữ liệu chứa giá trị khóa do đó nó sử dụng các con trỏ.
Sự khác biệt chính giữa Khóa chính và Khóa duy nhất
- Khi một thuộc tính được khai báo là khóa chính, nó sẽ không chấp nhận các giá trị NULL. Mặt khác, khi một thuộc tính được khai báo là Unique, nó có thể chấp nhận một giá trị NULL.
- Một bảng chỉ có thể có khóa chính trong khi có thể có nhiều ràng buộc duy nhất trên một bảng.
- Một chỉ mục Clustered tự động được tạo khi khóa chính được xác định. Ngược lại, khóa Unique tạo chỉ mục không phân cụm.
Phần kết luận
Khóa chính và Khóa duy nhất đều phục vụ mục đích của một mã định danh duy nhất cho các hàng của bảng có các giá trị duy nhất trong một cột hoặc nhóm cột. Các ràng buộc khóa này được phân biệt đáng kể trong đó mỗi bảng có thể có nhiều nhất một khóa chính trong khi một bảng có thể có nhiều khóa duy nhất không phải là khóa chính.
– Mô hình tài liệu là một tập hợp những khái niệm, dùng để miêu tả CTDL, những thao tác dữ liệu, những ràng buộc tài liệu của một CSDL- Các loại quy mô tài liệu :Mô hình logic: [mô hình dữ liệu bậc cao] cho mô tả CSDL ở mức khái niệm và mức khung nhìn.
Bạn đang xem:
Môhình vật lí: [mô hình dữ liệu bậc thấp] cho biết dữ liệu được lưu trữ thế nào.
b. Mô hình dữ liệu quan hệ
: [ quy mô tài liệu bậc cao ] cho diễn đạt CSDL ở mức khái niệm và mức khung nhìn. Bạn đang xem : Khóa là gì : [ quy mô tài liệu bậc thấp ] cho biết tài liệu được tàng trữ thế nào .
– Mô hình dữ liệu quan hệ được E.F.Codd đề xuất năm 1970. Trong khoảng 20 năm trở lại đây các hệ CSDL theo mô hình quan hệ được dùng rất phổ biến.
Bạn đang đọc: Khái Niệm Về Khóa Là Gì ? Phân Biệt Khóa Chính Và Khóa Ngoại Trong Sql
– Trong quy mô quan hệ :Về mặt cấu trúc: Dữ liệu được thể hiện trong các bảng [hàng, cột].Về mặt thao tác trên dữ liệu: Có thể cập nhật dữ liệu : Thêm, xoá, sửa.Về mặt ràng buộc dữ liệu: Dữ liệu trong một bảng phải thoả mãn một số ràng buộc.
2. Cơ sở dữ liệu quan hệ
a. Khái niệm
Về mặt cấu trúc : Dữ liệu được biểu lộ trong những bảng [ hàng, cột ]. Về mặt thao tác trên tài liệu : Có thể update tài liệu : Thêm, xoá, sửa. Về mặt ràng buộc tài liệu : Dữ liệu trong một bảng phải thoả mãn một số ít ràng buộc .- CSDL quan hệ : CSDL được thiết kế xây dựng trên quy mô tài liệu quan hệ .
– Hệ QTCSDL quan hệ : Hệ QTCSDL quan hệ dùng để tạo lập, cập nhật và khai thác CSDL quan hệ.
Xem thêm: Vừa Bằng Một Thước Mà Bước Không Qua Là Gì, Đố Vui Dân Gian [Phần 4]
– Những đặc trưng của CSDL quan hệ :Mỗi quan hệ có một tên phân biệt với tên các quan hệ khác.Các bộ là phân biệt và thứ tự các bộ là không quan trọng.Mỗi thuộc tính có một tên phân biệt và thứ tự các thuộc tính là không quan trọng.Quan hệ không có thuộc tính đa trị hay phức hợp.
b. Ví dụ
Mỗi quan hệ có một tên phân biệt với tên các quan hệ khác.Các bộ là phân biệt và thứ tự các bộ là không quan trọng.Mỗi thuộc tính có một tên phân biệt và thứ tự các thuộc tính là không quan trọng.Quan hệ không có thuộc tính đa trị hay phức hợp.
Xem thêm: BỘT ĂN DẶM NESTLE SỮA GẠO TÁO CHO BÉ TỪ 4 THÁNG CỦA NGA
– Để quản trị học sinhmượn sách ở một trường học, thông thườngquản lí những thông tin sau :Thông tin người mượn sáchThông tin sáchThông tin mượn sách [ai mượn sách, mượn sách gì, thời gian mượn/ trả]tin tức người mượn sáchThông tin sáchThông tin mượn sách [ ai mượn sách, mượn sách gì, thời hạn mượn / trả ]
c. Khóa và liên kết giữa các bảng
– Khóa: Khóa của một bảng là một tập gồm một hay một số thuộc tính của bảng phân biệt được các cá thể.
– Khoá chính:
Một bảng có thể có nhiều khóa. Trong các khóa của một bảng người ta thường chọn [chỉ định] một khóa làm khóa chính.Khi nhập dữ liệu cho một bảng, giá trị của mọi bộ tại khóa chính không được để trống.
Một bảng có thể có nhiều khóa. Trong các khóa của một bảng người ta thường chọn [chỉ định] một khóa làm khóa chính.Khi nhập dữ liệu cho một bảng, giá trị của mọi bộ tại khóa chính không được để trống.
Xem thêm: Bột ăn dặm Nestle vị kiều mạch
* Chú ý:
Mỗi bảng có ít nhất một khóa. Việc xác định khóa phụ thuộc vào quan hệ lôgic của các dữ liệu chứ không phụ thuộc vào giá trị của các dữ liệu.Nên chọn khóa chính là khóa có ít thuộc tính nhất.
Xem thêm:
Mỗi bảng có tối thiểu một khóa. Việc xác lập khóa nhờ vào vào quan hệ lôgic của những tài liệu chứ không phụ thuộc vào vào giá trị của những tài liệu. Nên chọn khóa chính là khóa có ít thuộc tính nhất. Xem thêm : Sự Khác Biệt Giữa Rdp Là Gì ? Tìm Hiểu Khái Niệm Remote Desktop
– Liên kết: Thực chất sự liên kết giữa các bảng là dựa trên thuộc tính khóa. Chẳng hạn thuộc tính số thẻ là khóa của bảng người mượn xuất hiện lại ở bảng mượn sách đó tạo nên liên kết giữa 2 bảng này.