Khóa dự tuyển là gì

Khóa quan hệ giúp cho chúng ta xác định được duy nhất một bộ trong một quan hệ dựa vào các giá trị của các thuộc tính của quan hệ này.

Khóa quan hệ

Các khái niệm khóa

Siêu khóa (super key) của một quan hệ là một thuộc tính hoặc một tập các thuộc tính dùng để xác định duy nhất một bộ của quan hệ này.

Một siêu khóa có thể chứa thêm một các thuộc tính mà chúng không cần thiết để xác định duy nhất một bộ. Một siêu khóa hiển nhiên của quan hệ là tập tất cả các thuộc tính của quan hệ này.

Khóa dự tuyển (candidate key) của một quan hệ là một siêu khóa $K$ mà không có một tập con thực sự bất kỳ $K’ \subset K$ lại là một siêu khóa. Khóa dự tuyển $K$ của quan hệ $r$ có hai đặc điểm sau:

  • Tính duy nhất (uniqueness): các giá trị của $K$ trong các bộ của $r$ là duy nhất (không trùng nhau)
  • Tính tối giản (irreducibility): không có một tập con thực sự bất kỳ $K’ \subset K$ lại có tính duy nhất

Một quan hệ bất kỳ phải có ít nhất một khóa dự tuyển và có thể có nhiều khóa dự tuyển. Nếu không có tập con các thuộc tính nào là khóa dự tuyển thì tập tất cả các thuộc tính của quan hệ này phải là khóa dự tuyển, bởi vì quan hệ không thể có các bộ trùng nhau.

Thuộc tính khóa (key attribute, prime attribute) là một thuộc tính tham gia vào khóa dự tuyển, tên của thuộc tính khóa được gạch dưới.

Thuộc tính không khóa (non-key attribute) là một thuộc tính không tham gia vào khóa dự tuyển. Tên của thuộc tính không khóa không được gạch dưới.

Khóa phức hợp (composite key) là một khóa có nhiều hơn một thuộc tính.

Khóa chính (primary key) là một khóa dự tuyển được chọn để xác định duy nhất một bộ của quan hệ. Khóa chính có thể chỉ có một hoặc có nhiều thuộc tính. Một quan hệ chỉ có duy nhất 1 khóa chính, các khóa dự tuyển còn lại được gọi là các khóa khác (alternate key). Các thuộc tính của khóa chính có tên được gạch dưới nét liền.

Khóa ngoại (foreign key) là một thuộc tính hoặc một tập thuộc tính của một quan hệ tương ứng với (tham chiếu đến) khóa dự tuyển của một quan hệ khác hoặc cùng quan hệ đang xét. Nếu một thuộc tính xuất hiện trong nhiều hơn 1 quan hệ, thì thông thường thuộc tính này biểu diễn mối liên kết giữa các bộ của nhiều quan hệ. Các thuộc tính của khóa ngoại có tên được gạch dưới nét đứt.

Khóa mượn (borrowed key) là một khóa dự tuyển có chứa khóa ngoại.

Khóa (key) của lược đồ quan hệ R có tập thuộc tính $U = \{A_1, A_2, …, A_m\}$ là một tập con $K = \{A_{j1}, A_{j2},…,A_{jn}\}$ với $j_1, j_2,…, j_n$ là các số nguyên phân biệt và nằm trong khoảng từ 1 đến $m$, phải thỏa mãn đồng thời 2 điều kiện sau:

  1. $\forall r(R), \forall t_1, t_2 \in r, \text{nếu } t_1 \neq t_2 \text{thì } t_1[K] \neq t_2[K]$
  2. Không tồn tại $K’ \subset K$ sao cho $K’$ thỏa mãn điều kiện (1)

Ví dụ các loại khóa

Xét các lược đồ quan hệ sau:

  • Employee (Emp_ID, Name, Dept_Name, Salary)
  • Training (Emp_ID, Course, Date_Completed)
  • Department (Dept_Name, Location, Fax)

Trong đó:

  • Emp_ID là khóa chính của lược đồ quan hệ Employee.
  • Dept_Name là khóa chính của lược đồ quan hệ Department.
  • Emp_ID và Course là một khóa phức hợp và cũng là khóa mượn.
  • Course là thuộc tính khóa của lược đồ quan hệ Training.
  • Location, Fax là các thuộc tính không khóa.
  • Dept_Name trong lược đồ quan hệ Employee là khóa ngoại, khóa này tham chiếu vào khóa chính của lược đồ quan hệ Department.

Xác định khóa

Để xác định khóa của một lược đồ quan hệ, chúng ta dựa vào thông tin ngữ ngữa (semantic information) của các thuộc tính của lược đồ quan hệ này và các mối quan hệ giữa các thuộc tính trong thế giới thực. Từ đó chúng ta xác định việc trùng lặp dữ liệu có thể xảy ra hay không. Mối quan hệ giữa các thuộc tính được thể hiện bằng một khái niệm được gọi là phụ thuộc hàm. Chúng ta có thể xác định tất cả các khóa của một lược đồ quan hệ từ tập các phụ thuộc hàm này.

Nếu một tập $K \subseteq U$ thỏa mãn điều kiện (1) thì $K$ là một siêu khóa của lược đồ quan hệ $R$, cho dù $K$ có thỏa mãn điều kiện (2) hay không. Một siêu khóa hiển nhiên của $R$ là $U$.

Các đặc tính của quan hệ

Một quan hệ có các đặc tính sau đây:

  1. Mỗi quan hệ phải có tên phân biệt nghĩa là 2 quan hệ khác nhau phải có tên khác nhau.
  2. Mỗi thành phần của một bộ chỉ chứa một giá trị nguyên tố (atomic value), hoặc giá trị đơn (single value). Thuộc tính của quan hệ là thuộc tính đơn trị (single-valued attribute) mà không được là thuộc tính đa trị (multivalued attribute) và thuộc tính phức hợp (composite attribute).
  3. Mỗi thuộc tính phải có tên phân biệt nghĩa là 2 thuộc tính của một quan hệ phải có tên khác nhau.
  4. Các giá trị của một thuộc tính phải thuộc cùng một miền trị.
  5. Thứ tự các thuộc tính là không quan trọng. Thay đổi thứ tự các thuộc tính không làm thay đổi ngữ ngữ nghĩa của quan hệ.
  6. Mỗi bộ phải phân biệt nghĩa là không tồn tại 2 bộ trùng nhau (giống nhau hoàn toàn).
  7. Thứ tự các bộ là không quan trọng (về mặt lý thuyết – trong thực tế nó có thể ảnh hưởng đến hiệu năng truy xuất).

Việc đặt tên (quan hệ, thuộc tính) nên theo quy tắc gợi nhớ, các từ trong tên được ngăn cách bởi dấu gạch dưới (underscore) và viết hoa ký tự đầu tiên.

Khóa chính là gì? Thông tin khóa chính dành cho người mới tiếp xúc máy tính

Khóa chính là gì? Những thao tác cơ bản của khóa chính trong cơ sở dữ liệu SQL là gì? Phân biệt khóa chính và khóa ngoại trong SQL như thế nào? Hãy cùng 123job.vn đi giải đáp thắc mắc này nhé.

Đối với tin học văn phòng và các bạn làm về công nghệ thông tin thì đã quá quen thuộc với cụm từ khóa chính trong cơ sở dữ liệu máy tính. Nhưng đa số chúng ta vẫn chưa hiểu hết được về cụm từ này cũng như chức năng của nólà gì? Vậy khóa chính là gì? Những thao tác cơ bản của nólà gì? Phân biệt khóa chính và khóa ngoại trong SQL Server như thế nào? Hãy cùng 123job.vn đi giải đáp thắc mắc này nhé.

I. Khóa chính - yếu tố thiết yếu đối với cơ sở dữ liệu

1. Khái niệm

Khóa chính là gì?

Khái niệm về khóa chính luôn là điều mà mọi người quan tâm và đặt ra rất nhiều câu hỏi xoay quanh nó. Những ai mới tiếp xúc với cơ sở dữ liệu SQL Server và mới làm quen với việc xử lý cơ sở dữ liệu SQL Serverdatabase thì chắc chưa nắm rõ được về khóa chính. Khóa chính được hiểu là khái niệm được sử dụng trong các lĩnh vực liên quan đến ngành công nghệ thông tin, toán tin, khoa học dữ liệu thuộc cơ sở dữ liệu SQL Server. Trong tiếng anh nócó tên gọi là Primary Key với ký hiệu một chiếc chìa khóa đi kèm. Qua tìm hiểu cơ bản này chúng ta có thể hiểu khóa chính theo cách như sau:

- Khóa chính hay với tên gọi khác là khóa ràng buộc chính thường được dùng để định danh mỗi một record trong bảng table duy nhất của cơ sở dữ liệu SQLServer

- Ngoài ra nó còn có thể thể hiện các giá trị trong bảng với nhau trong cơ sở dữ liệu SQL Server.

Tuy nhiên, khi sử dụng khóa chính trong cơ sở dữ liệu SQLServer thì người dùng cũng cần chú ý đến một và điều như sau:
- Mỗi một table chỉ nên sử dụng một khóa chính, thiết lập một Primary Key duy nhất, không được phép chứa các giá trị Null
- Trong cơ sử dữ liệu SQLServer thì nókhông được là các miền field rỗng, không chứa các cơ sở dữ liệu SQL Server gì hết.
- Các khóa chính trong cơ sở dữ liệu SQL Server thường được thiết lập trong mối quan hệ định dạng giống nhau về một số đặc điểm của cơ sở dữ liệu SQLServer như dữ liệu, kích thước field
- Khóa chính sẽ do người thiết lập cơ sở dữ liệu SQLServer quy định

2. Chức năng của khóa chính

Chức năng là gì?

Khóa chính cũng như khóa ngoại rất quan trọng đối với cơ sở dữ liệu SQLServer và dưới đây chính là những chức năng chính của nó:

- Khóa chính sẽ là nơi chứa các giá trị duy nhất hay cơ sở dữ liệu SQL Server duy nhất được lưu thông xuyên suốt ở nhiều table với nhau. Mỗi table sẽ ghi mỗi giá trị khác nhau và người thiết lập khóa chính sẽ sử dụng các giá trị trong các table đó vì chúng được thiết lập ở cùng một định dạng với nhau.

- Nóchỉ được thiết lập duy nhất trên mỗi table và có nhiều table chứa duy nhất một khóa chính. Khi thiết lập khóa chính thì có nhiều ứng dụng yêu cầu người dùng thiết lập khóa chính nhưng Access lại chủ động tạo khóa chính cho người dùng.

3. Phạm vi áp dụng chủ yếutrong đời sống

Phạm vi chủ yếu để áp dụng khóa chính chính là đời sống hiện tại như tin học mà đặc biệt là trong lĩnh vực tin học văn phòng. Sử dụng khóa chính sẽ giúp cho việc xử lý các giá trị trong cơ sở dữ liệu SQLServer nhanh hơn và thuận tiện hơn.

Nhưng việc sử dụng khóa chính lại rất khó, không hề đơn giản như chúng ta nghĩ, những người mới làm quen sẽ cần thời gian để học tập và học cách vận dụngtrong lĩnh vực tin học và ứng dụng điều đó vào trong cuộc sống hàng ngày.

4. Cách thiết lập khóa chính cho người mới dùng

Cách thiết lập Primary Key cho người mới dùng

Những người mới làm quen với việc sử dụng khóa chính thì cần thời gian làm quen với việc thiết lập. Dưới đây là các bước thiết lậptrong cơ sở dữ liệu SQLServer cho người mới bắt đầu chi tiết nhất:
- Dùng các câu lệnh để tạo khóa chính trong cơ sở dữ liệu SQLServer Create table như: (MaSV varchar (8) NOT NULL, Holot varchar (20), Ten varchar (8), NgaySinh Date, MaLop varchar (8) NOT NULL, Lienhe varchar (11) NOT NULL, PRIMARY KEY (MaSV)
- Nếu phải thiết lập Primary Keytrong cơ sở dữ liệu SQLServer từ nhiều miền khác nhau thì người dùng cần tạo mối quan hệ ràng buộc giữa các từ khóa chính với câu lệnh như:
(MaSV varchar (8) NOT NULL, Holot varchar (20), Ten varchar (8), NgaySinh Date, MaLop varchar (8) NOT NULL, Lienhe varchar (11) NOT NULL, …)

II. Một số thao tác thác về khoá chính

1. Cách tạo primary key

Cách tạo primary key

1.1. Tạo Primary Key bằng lệnh CREATE TABLE

CREATE TABLE ten_bang
(cot1 kieu_du_lieu [ NULL | NOT NULL ] [ PRIMARY KEY ] ,cot2 kieu_du_lieu [ NULL | NOT NULL ] ,…);

1.2. Tạo Primary Keybằng lệnh ALTER TABLE

ALTER TABLE ten_bang
ADD CONSTRAINT ten_rang_buoc PRIMARY KEY ( cot1, cot2, … cot_n)

2. Xóa Primary Key trong cơ sở dữ liệu SQL Server

Nếu trong trường lập thiết lập sai hoặc nhầm khóa chính trong cơ sở dữ liệu SQLServer thì cần xóa khóa chính bằng lệnh ALTER TABLE

ALTER TABLE ten_bang
DROP CONSTRAINT ten_rang_buoc ;

3. Vô hiệu hóa Primary Key trong cơ sở dữ liệu SQL Server

Vô hiệu hóatrong cơ sở dữ liệu SQL Server

Cú pháp để vô hiệu hóa trong cơ sở dữ liệu bằng lệnh ALTER INDEX như sau:

ALTER INDEX ten_rang_buoc ON ten_bang
DISABLE ;

4. Kích hoạt khóa chính trong cơ sở dữ liệu SQL Server

Muốn kích hoạtPrimary Key thì chúng ta sử dụng lệnh ALTER INDEX:

ALTER INDEX ten_rang_buoc ON ten_bang
REBUILD;

III. Phân biệt khóa chính và khóa ngoại trong cơ sở dữ liệu SQLServer

1. Giới thiệu chung về khóa ngoại

Khóa ngoại là gì?

Trong lĩnh vực tin học văn phòng thì ngoàiPrimary Key trong cơ sở dữ liệu SQLServer thì còn có khóa ngoại. Vậy khóa ngoại là gì? Khóa ngoại cũng được hiểu nghĩa tương đương với khóa chính với những đặc điểm như sau:

- Khóa ngoại của table là con trỏ chỉ tới các khóa chính ở các bảng khác
- Muốn xóa khóa ngoại trong cơ sở dữ liệu SQLServer thì người dùng cần sử dụng câu lệnh như sau:
ALTER TABLE DiemSV DROP FOREIGN KEY Ma

2. Phân biệt khóa chính với khóa ngoại chính xác nhất

Phân biệt khóa chính với khóa ngoại

Hiện nay, có nhiều người dùng thường bị nhầm khóa chính với khóa ngoại trong cơ sở dữ liệu SQL Server. Để có thể phân biệt được khóa chính với khóa ngoại thì người dùng cần phân biệt trên 4 phương diện như sau:

- Khóa chính được thiết lập duy nhất tại mỗi bảng còn khóa ngoại chỉ là một tập hợp trong bảng và là khóa chính của một bảng khác.
-Primary Key không nhận các giá trị dữ liệu rỗng còn khóa ngoại có chấp nhận các cơ sở dữ liệu rỗng
-Primary Key được thiết lập trong bảng cơ sở dữ liệu SQL Servertheo thứ tự dãy chỉ nhóm; khóa ngoại không thiết lập cho mục đích này
-Primary Key chỉ có duy nhất một trong bảng còn khóa ngoại thì có thể có nhiều trong bảng cơ sở dữ liệu SQLServer

IV. Một số loại khóa khác trong cơ sở dữ liệu SQL Server

Một số loại khóa khác trong cơ sở dữ liệu SQL Server

1. Super key (Siêu khóa)

Super Key hay được hiểu là siêu khóa là một tập hợp của một hoặc nhiều hơn một khóa có thể được sử dụng trong việc xác định một bảng duy nhất trong một bảng như Primary Key, Unique Key, Alternate Key là các tập hợp con của Super Key

2. Candidate key (Khóa dự tuyển)

Candidate key - khóa dự tuyển là một tập hợp của một hoặc nhiều trường cột có thể xác định một bản ghi duy nhất trong table và Candidate có thể có nhiều khóa dự tuyển trong bảng. Mỗi khóa dự tuyển có thể làm việc độc lập như một Primary Key - khóa chính.

3. Alternate Key (Khóa thay thế)

Alternate Key là một khóa thay thế có thể làm việc như một khóa chính. Theo như cơ sở dữ liệu SQL Server thì khóa thay thế có bản chất là một khóa dự tuyển chứ không phải là một khóa chính

4. Composite / Compound Key

Composite/Compound Key là tổng hợp khóa, là sự kết hợp của nhiều hơn một trường, một cột trong một table. Nó có thể là khóa Candidate Key hoặc Primary Key

5. Unique Key

Unique Key là một tập hợp của một hoặc nhiều trường, cột trong một table xác định duy nhất của một bảng ghi trong cơ sở dữ liệu SQL Server. UNique Key cũng giống như Primary Key nhưng nó có thể chấp nhận được cả những giá trị Null và nó không có các giá trị nhân bản.

V. Kết luận

Như vậy, qua bài viết trên thì 123job.vn đã cung cấp đến bạn đọc những thông tin hữu ích nhất về khóa chính như khóa chính là gì, chức năng cơ bản của khóa chính, cách thiết lập khóa chính dành cho người mới bắt đầu,... Mong bạn đọc hãy đón đọc bài viết một cách tích cực nhất nhé.

Xem tiếp: Cách đăng xuất Gmail trên máy tính tiện nhất - Bí kíp sử dụng Gmail an toàn

Tag:

Công nghệ thông tin hệ điều hành máy tính kỹ thuật máy tính Khóa chính là gì sql

Bài viết nhiều người đọc

  • +84 là gì? Cách thêm mã quốc gia ( +84) vào số điện thoại

  • Hướng dẫn cách nén file để gửi mail đầy đủ chính xác nhất

  • Hướng dẫn cách giải nén file từ A đến Z đơn giản hiệu quả nhất

  • TOP 5 phần mềm check đạo văn miễn phí tốt và cách giảm tỷ lệ đạo văn

  • Hướng dẫn chi tiết cách nén file pdf nhanh mà không cần dùng phần mềm

  • Control panel là gì? Cách sử dụng mang lại hiệu suất công việc cao (Phần 1)

  • Hướng dẫn cách xóa chữ trong file pdf cực nhanh và dễ dàng

  • Tin học văn phòng là gì? Vì sao là kỹ năng không thể thiếu trong công việc.

123job.vn - Dream jobs, great places to work, high salary

123job.vn - Trao cơ hội cho hàng triệu người với những công việc mơ ước với môi trường làm việc chuyên nghiệp và mức lương tốt nhất.

Với sứ mệnh: Cung cấp các thông tin việc làm, review công ty hấp dẫn, dịch vụ tư vấn tuyển dụng xác thực và chất lượng cho nhà tuyển dụng và người lao động, chúng tôi luôn tận tâm tận lực, không ngừng sáng tạo nhằm đem lại chất lượng dịch vụ hàng đầu, giúp tất cả mọi người có được một công việc phù hợp nhất.

Tự hào: Là trang tuyển dụng uy tín, là cầu nối của hàng triệu người tìm việc và nhà tuyển dụng.

Giá trị cốt lõi:

  • Luôn chủ động và sáng tạo, lấy công nghệ làm nền tảng cốt lõi để phát triển dịch vụ.
  • Chuyên nghiệp & tận tâm với khách hàng và người tìm việc bằng những dịch vụ tốt nhất.
  • Làm việc chính trực, tuân thủ các nguyên tắc đạo đức, không vụ lợi cá nhân và luôn đặt lợi ích của công ty lên hàng đầu.

Nếu bạn đang muốn kết nối với những nhà tuyển dụng uy tín hàng đầu Việt Nam, đừng ngần ngại hãy TẠO CV NGAY để tăng gấp 5 lần cơ hội có được công việc với mức lương tốt nhất nhé!

Video liên quan

Chủ đề