Danh mục

Bài giảng Microsoft SQL server: Bài 8 - TS. Lê Thị Tú Kiên

Số trang: 19      Loại file: pdf      Dung lượng: 1.63 MB      Lượt xem: 24      Lượt tải: 0    
tailieu_vip

Hỗ trợ phí lưu trữ khi tải xuống: 19,000 VND Tải xuống file đầy đủ (19 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

"Bài giảng Microsoft SQL server - Bài 8: Các ràng buộc dữ liệu trên bảng" giúp các bạn sinh viên viết các câu lệnh tạo các ràng buộc cho bảng. Mời các bạn cùng tham khảo bài giảng để nắm chi tiết hơn nội dung kiến thức.
Nội dung trích xuất từ tài liệu:
Bài giảng Microsoft SQL server: Bài 8 - TS. Lê Thị Tú KiênCác ràng buộc cho bảng 1Mục tiêu- Kỹ năng: Viết các câu lệnh tạo các ràng buộc cho bảng.- Kiến thức: - Giải thích ý nghĩa của các ràng buộc: NOT NULL, PRIMARY KEY, UNIQUE, CHECK, FOREIGN KEY (or REFERENCES). - Phân biệt ràng buộc mức cột và ràng buộc mức bảng. - Giải thích sự khác nhau giữa tùy chọn CASCADE và NO ACTION trong ràng buộc tham chiếu khi xóa và cập nhật dữ liệu. 2Các ràng buộc mức cột:- NOT NULL: ràng buộc không cho phép cột chứa giá trị Null.- PRIMARY KEY: ràng buộc yêu cầu mỗi dòng trong bảng có một giá trị duy nhất tại cột khóa chính. Giá trị Null cũng không được chứa trong cột khóa chính này.- UNIQUE: Yêu cầu mỗi dòng trong bảng có một giá trị duy nhất tại cột đặt ràng buộc UNIQUE.- CHECK: ràng buộc giới hạn các giá trị trên một cột.- [FOREIGN KEY] REFERENCES: Ràng buộc tham chiếu giữa một cột trong trong của bảng này với một cột của bảng kia. 3Các ràng buộc mức cột:- PRIMARY KEY: ràng buộc yêu cầu mỗi dòng trong bảng có một tập giá trị duy nhất trên một hay nhiều cột khóa chính. Giá trị Null cũng không được chứa trong các cột khóa chính.- UNIQUE: Yêu cầu mỗi dòng trong bảng có một tập giá trị duy nhất trên một hay nhiều cột đặt ràng buộc UNIQUE.- CHECK: ràng buộc giới hạn các giá trị cho một cột hay nhiều cột.- [FOREIGN KEY] REFERENCES: Ràng buộc tham chiếu giữa một hay nhiều cột trong bảng này với một hay nhiều cột của bảng kia. 4Câu lệnh tạo bảng chấm công với hai cột là khóa chính. 5Ví dụ trên là câu lệnh tạo bảng Invoices1 (hóa đơn 1) với ràng buộc check ởmức cột. ----- Điều kiện thứ nhất là cột Invoicetotal chỉ nhận giá trị luôn lớn hơn hoặcbằng 0. Khi giá trị - Trên cùng là cú pháp chung của ràng buộc CHECK. Tham số của ràng buộc CHECK là một biểu thức điều kiện (chỉ trả 1 trong 2 giá trị TRUE hoặc FALSE.- Bên dưới là ví dụ định nghĩa bảng Invoices3 với điều kiện CHECK ở mức cột InvoiceToTal (chỉ nhận giá trị lớn hơn 0). Sau đó là câu lệnh chèn một dòng vào bảng Invoices3 với giá của cột InvoiceTotal là -100. Khi chạy câu lệnh Insert này, hệ thống sẽ có thông báo lỗi tiếng Anh như cuối cùng slide, thông báo lỗi có ý nghĩa như sau:Câu lệnh INSERT xung đột với ràng buộc có tên”CK__Invoices3__Invoi__0BC6C43E”. Xung đột này xảy ra trong CSDL“New__AP”, bảng “dbo.Invoices3”, cột „InvoiceTotal.Câu lệnh đã bị hủy. 7Ví dụ về ràng buộc mức bảng trong định nghĩa cột Vendor1: cột VendorCodechỉ nhận các giá trị có định dạng hai kí tự đầu tiên là chữ cái và bốn kí tự saulà chữ số, Ngoài ra, hai kí tự đầu tiên bên trái của cột VendorCode phải bằnghai kí tự đầu tiên của cột VendorName.Phía dưới là ví dụ câu lệnh Insert một dòng vào trong bảng Vendor1 và thôngbáo lỗi của hệ thống. 8Trên slide là cú pháp chung của ràng buộc tham chiếu (ràng buộc khóa ngoài). 9Ví dụ về ràng buộc thm chiếu mức cột:- Bên trên câu lệnh tạo bảng Vendor9- Bên dưới là câu lệnh định nghĩa tạo bảng Invoices9 với ràng buộc tham chiếu mức cột là giá trị cột VendorID sẽ tham chiếu giá trị của cột khóa chính VendorID trong bảng Vendor9. Nghĩa là khi đó mọi giá trị ở cột VendorID của bảng Invoices9 phải là giá trị đã tồn tại bên cột VendorID ở bảng Vendors9 hoặc là giá trị null.- Bảng Vendors9 được gọi là bảng chứa khóa chính (primary key), bảng Invoices9 được gọi là bảng chứa khóa ngoài. 10Trên slide là ví dụ một câu lệnh Insert một dòng vào bảng Invoices9 với giá trịcột VendorID = 100. Tuy nhiên, vì lúc này trong bảng Vendors9 chưa có dữliệu (chưa có dòng nào) nên VendorID =100 chưa tồn tại bên bảng này nênràng buộc thm chiếu bị vi phạm. Hệ thống sẽ đưa ra thông báo lỗi tiếng Anh cónghĩa như sau:Câu lệnh INSERT xung đột với ràng buộc“FK__Invoices9__Vendo_1367E606”. Ràng buộc xẩy ra reonf CSDL“New_AP”, bảng “dbo.Vendors9”, cột „VendorID‟.Câu lệnh đã bị hủy. 11Khi muốn thêm một ràng buộc đã vào một bảng đã tạo rồi thì chúng ta có thểdùng câu lệnh ALTER TABLE. Trên slide là cú pháp chung của câu lệnhALTER TABLE. 12Bên trên là ví dụ thêm ràng buộc CHECK cho cột InvoiceTotal của bảngInvoice (bảng ...

Tài liệu được xem nhiều:

Tài liệu liên quan: