Mụ tả khoỏ chớnh

Một phần của tài liệu Giáo trình Ngôn ngữ SQL doc (Trang 66 - 67)

CHƯƠNG II : CÁC RÀNG BUỘC VÀ CÁC TRIGGER

2.1 KHểA VÀ KHểA NGOÀI

2.1.1 Mụ tả khoỏ chớnh

Một quan hệ chỉ cú thể cú một khoỏ chớnh. Cú hai cỏch mụ tả khoỏ chớnh trong lệnh CREATE TABLE.

1ư Chỳng ta cú thể một thuộc tớnh là khoỏ chớnh khi thuộc này được liệt kờ trong lược đồ quan hệ. Theo cỏch này, chỳng ta thờm vào từ khoỏ PRIMARY KEY sau thuộc tớnh và kiểu của nú.

2ư Chỳng ta cú thể thờm vào danh sỏch cỏc mục được mụ tả trong lược đồ một mụ tả phụ thờm núi rằng một (hoặc một tập) thuộc tớnh cụ thể tạo nờn khoỏ chớnh. Theo cỏch này, chỳng ta tạo ra một phần tử mới trong danh sỏch cỏc thuộc tớnh bao gồm từ khoỏ PRIMARY KEY và một danh sỏch cỏc thuộc tớnh tạo nờn khoỏ đặt trong cỏc dấu ngoặc.

Chỳ ý rằng, nếu khoỏ chứa nhiều hơn một thuộc tớnh, chỳng ta cần sử dụng cỏch 2.

Tỏc động của việc mụ tả một tập thuộc tớnh S là khoỏ chớnh đối với quan hệ R là:

1. Hai bộ giỏ trị trong R khụng thể bằng nhau trờn mọi thuộc tớnh trong tập S. Mọi ý đồ chốn hoặc cập nhật một bộ giỏ trị mà vi phạm quy tắc này sẽ gõy ra việc hệ quản trị cơ sở dữ liệu loại bỏ hành động gõy ra sự vi phạm. 2. Cỏc thuộc tớnh trong S khụng được phộp cú giỏ trị NULL.

Vớ dụ 2.1 Xột lược đồ quan hệ ĐƠNVỊ. Khoỏ chớnh của quan hệ này là Mó sốĐV. Vỡ vậy chỳng ta cú thể thờm sự kiện này vào dũng mụ tả MósốĐV:

1) CREATE TABLE ĐƠNVỊ

2) (TờnĐV VARCHAR(15),

3) MósốĐV INT PRIMARY KEY, 4) MósốNQL CHAR(9)

5) Ngàybắtđầu DATE) ;

Theo cỏch 2, chỳng ta cú thể sử dụng một định nghĩa khoỏ chớnh tỏch riờng. Sau dũng 5 của vớ dụ 2.1, ta thờm vào mụ tả của khoỏ chớnh và chỳng ta khụng cần phải mụ tả nú ở dũng 2. Ta cú mụ tả lược đồ như sau:

1) CREATE TABLE ĐƠNVỊ

2) (TờnĐV VARCHAR(15), 3) MósốĐV INT,

4) MósốNQL CHAR(9), 5) Ngàybắtđầu DATE, 6) PRIMARY KEY(Mó sốĐV);

Cả hai cỏch mụ tả như trờn đều chấp nhận được bởi vỡ khoỏ chớnh chỉ gồm một thuộc tớnh. Tuy nhiờn, trong hoàn cảnh khoỏ chớnh cú nhiều hơn một thuộc tớnh chỳng ta phải dựng cỏch mụ tả thứ hai. Vớ dụ, nếu ta mụ tả lược đồ quan hệ NHÂNVIấN_DỰÁN cú khoỏ chớnh là cặp thuộc tớnh MósốNV, MósốDA, sau danh sỏch cỏc thuộc tớnh ta sẽ thờm vào dũng sau:

PRIMARY KEY(MósốNV, MósốDA)

Một phần của tài liệu Giáo trình Ngôn ngữ SQL doc (Trang 66 - 67)

Tải bản đầy đủ (PDF)

(177 trang)