Quy luậ t( Rules)

Một phần của tài liệu Giáo trình quản trị cơ sở dữ liệu nâng cao MS SQL SERVER (Trang 72 - 74)

- DEFAULT IDENTITY

64ADD CONSTRAINT check_mad

6.5.2 Quy luậ t( Rules)

Các quy luật củng cố thêm tính tồn vẹn trên miền bằng cách kiểm tra chặt chẽ hơn tính hợp lệ của các giá trị. Quy luật thường được dùng để đảm bảo những giá trị như:

+ Tương hợp như một mẫu ( như mệnh đề like)

+ Tương hợp với danh sách các giá trị (như mệnh đề in) + Thuộc về một khoảng giá trị nào đĩ (như mệnh đề between)

Quy luật là những đối tượng độc lập địi hỏi bạn phải được phép tạo chúng. Bạn phải thuộc về role db_owner hoặc sysadmin. Quy luật được lưu trong bảng hệ thống sysobjects và syscomments ở mỗi cơ sở dữ liệu. Quy luật được kiểm tra khi cĩ những tác vụ chèn và cập nhật dữ liệu (khi cĩ liên quan đến cột được áp đặt quy luật).

Bạn cĩ thể tạo quy luật bằng câu lệnh CREATE RULE

Cú pháp:

CREATE RULE rule_name AS condition_expression :

SP_BINDRULE rule_name, table_name.column_name

Trong đĩ:

+ rule_name là tên hợp lệ và duy nhất trong cơ sở dữ liệu nĩ được tạo ra.

+ Condition_expression là biểu thức điều kiện cĩ dạng @variable_name <where clause>.

<Where clause> cĩ thể là mệnh đề where hợp lệ nào đĩ, bao gồm các tốn tử số học between, in, like, and, or, và not…Một quy luật khơng thể tham chiếu đến các giá trị biến hay những cột khác trong cơ sở dữ liệu. Để thực hiện bạn phải kiểm tra ràng buộc hay trigger.

Ví dụ:

CREATE RULE check_PNR AS @pnr BETWEEN 1 AND 500 :

SP_BINDRULE check_PNR, Reservation.PNR_no

Thực hành: Thực hiện các ràng buộc bằng T-SQL

- Được thiết đặt trên một hoặc một tập hợp các cột của bảng.

- Nhằm thiết đặt những giới hạn cho việc nhập giá trị cho cột dữ liệu. - Cĩ thể được định nghĩa ngay khi tạo bảng hoặc sửa cấu trúc bảng.

73

Thiết đặt một hoặc tập hợp các cột làm khố chính của bảng.

Cú pháp:

CREATE TABLE Table_name

(<Column_definition> PRIMARY KEY)

Ví dụ CREATE TABLE Reservation_copy ( PNR_no int PRIMARY KEY )

+ UNIQUE Constraint

Quy định cột này phải cĩ giá trị khác nhau trên mỗi dịng

Cú pháp:

CREATE TABLE Table_name (<Column_definition> UNIQUE )

Ví dụ:

CREATE TABLE passenger_copy ( [PP no] VARCHAR(20) UNIQUE

+ IDENTITY Property

Quy định giá trị của một cột nào đĩ trong bảng là tự động - seed_value: giá trị ban đầu

- increment_value: giá trị tăng

Cú pháp:

CREATE TABLE Table_name

(Column_name Data_Type IDENTITY [(<seed_value>, increment_value>)])

Ví dụ:

CREATE TABLE Reservation_Copy (ticket_no INT IDENTITY(1,1))

+ FOREIGN Key Constraint

Chỉ ra một cột làm khố ngoại của bảng (nhằm liên kết dữ liệu trong hai bảng)

Cú pháp:

CREATE TABLE Table_name Column_name Data_Type, ………

FOREIGN KEY (Column_name) REFERENCES Primarykey_Tablename)

Ví dụ:

CREATE TABLE Passenger

(PNR_no int, ticket_no int, name varchar(15), ………

Một phần của tài liệu Giáo trình quản trị cơ sở dữ liệu nâng cao MS SQL SERVER (Trang 72 - 74)

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

(121 trang)