
Chương 3: Các ràng buộc và bảo
mật trong SQL
Khóa và khóa ngoài
Các ràng buộc trên các thuộc tính và các bộ
Sửa đổi các ràng buộc
Bảo mật trong SQL
87

Khóa và khóa ngoài
88

Mô tả khóa chính (1)
Khoá chính của một bảng gồm một (hoặc nhiều)
thuộc tính mà giá trị của chúng là duy nhất (giá trị
của khoá chính sẽ giúp xác định được duy nhất
một bản ghi trong bảng).
1 quan hê chỉ có thể có 1khóa chính, và không cho
phép (các) thuộc tính khóa nhận giá trị Null.
Có 2cách mô tả khóa chính trong lệnh CREATE
TABLE:
<tên thuộc tính> <kiểu> PRIMARY KEY
PRIMARY KEY <thuộc tính khóa>;
89

Mô tả khóa chính (2)
Ví dụ 2.1: Tạo các quan hệ trong CSDL Congty
với khóa chính là các thuộc tính được gạch dưới:
Nhanvien(MaNV, Hodem, Ten, Ngaysinh, Diachi,
Gioitinh, Luong, MasoNGS, MaDV)
Donvi(MaDV, TenDV, MasoNQL, Ngaybatdau)
Duan(TenDA, MaDA, DiadiemDA, MaDV)
Nhanvien_Duan(MaNV, MaDA, Sogio)
90

Ràng buộc UNIQUE (1)
Ràng buộc UNIQUE yêu cầu các thuộc tính phải có
giá trị duy nhất (giống như PRIMARY KEY).
UNIQUE khác PRIMARY KEY:
Có thể có nhiều mô tả UNIQUE cho 1 quan hệ,
nhưng PRIMARY KEY thì chỉ có 1.
UNIQUE cho phép các giá trị NULL trong các thuộc
tính còn PRIMARY KEY thì không.
UNIQUE cũng được sử dụng theo 2 cách giống
PRIMARY KEY.
91