Khóa chính trong SQL
I. Khái niệm :
=> Khóa chính là từ khóa tạo sự rằng buộc cho trường , một bảng có thể có nhiều trường cùng làm một khóa chính.
=> Khóa chính ở bảng này sẽ là khóa ngoại ở bảng kia . khóa ngoại sẽ được phép lấy toàn bộ dữ liệu của trường được khai báo là khóa chính
=> Khi một trường là khóa chính thì dữ liệu nhập vào là duy nhất và không được để trống
các bảng được liên kết với nhau bằng khóa chính và khóa ngoại.
=> Khóa ngoại không cần thiết phải lấy hết nhưng khóa ngoại không được phép tạo thêm
VD trường MASV có 30 bản ghi (lần nhập) là khóa chính ở bảng hssv , làm khóa ngoại ở bảng ketquahoctap thì khóa ngoại MASV chỉ được lấy 30 bản ghi này hoặc ít hơn nhưng không được phép tạo thêm bản ghi.
=> Có thể coi khóa ngoại là con trỏ trỏ đến khóa chính (khóa chính ở bảng này là khóa ngoại ở bảng kia và ngược lại)
Cú pháp :
=> Tạo khóa chính ngay lúc tạo bảng(tên để SQL tự đặt) :
C1:
CREATE TABLE sql
(
ID int not null PRIMARY KEY.
name varchar(20).
age int
) ;
C2 :
CREATE TABLE sql
(
ID int not null,
name varchar(20),
age int,
PRIMARY KEY (ID
)
=> Tạo khóa chính ngay lúc tạo bảng(tự đặt tên) :
C1 : CREATE TABLE sql
(
ID int not null,
name varchar(20).
age int,
CONSTRAINT PK_ID PRIMARY KEY (ID)
-- PK_ID là tên của khóa chính , khai báo từ khóa primary key với khai báo trường trong dấu ngoặc tròn là trường được chọn.
)
=> Bổ sung một trường làm khóa chính.
ALTER TABLE sql
CONSTRAINT PK_ID PRIMARY KEY (ID)
=> Xóa khóa chính khỏi một trường :
ALTER TABLE sql
DROP CONSTRAINT PK_ID
=> Khóa chính là từ khóa tạo sự rằng buộc cho trường , một bảng có thể có nhiều trường cùng làm một khóa chính.
=> Khóa chính ở bảng này sẽ là khóa ngoại ở bảng kia . khóa ngoại sẽ được phép lấy toàn bộ dữ liệu của trường được khai báo là khóa chính
=> Khi một trường là khóa chính thì dữ liệu nhập vào là duy nhất và không được để trống
các bảng được liên kết với nhau bằng khóa chính và khóa ngoại.
=> Khóa ngoại không cần thiết phải lấy hết nhưng khóa ngoại không được phép tạo thêm
VD trường MASV có 30 bản ghi (lần nhập) là khóa chính ở bảng hssv , làm khóa ngoại ở bảng ketquahoctap thì khóa ngoại MASV chỉ được lấy 30 bản ghi này hoặc ít hơn nhưng không được phép tạo thêm bản ghi.
=> Có thể coi khóa ngoại là con trỏ trỏ đến khóa chính (khóa chính ở bảng này là khóa ngoại ở bảng kia và ngược lại)
Cú pháp :
=> Tạo khóa chính ngay lúc tạo bảng(tên để SQL tự đặt) :
C1:
CREATE TABLE sql
(
ID int not null PRIMARY KEY.
name varchar(20).
age int
) ;
C2 :
CREATE TABLE sql
(
ID int not null,
name varchar(20),
age int,
PRIMARY KEY (ID
)
=> Tạo khóa chính ngay lúc tạo bảng(tự đặt tên) :
C1 : CREATE TABLE sql
(
ID int not null,
name varchar(20).
age int,
CONSTRAINT PK_ID PRIMARY KEY (ID)
-- PK_ID là tên của khóa chính , khai báo từ khóa primary key với khai báo trường trong dấu ngoặc tròn là trường được chọn.
)
=> Bổ sung một trường làm khóa chính.
ALTER TABLE sql
CONSTRAINT PK_ID PRIMARY KEY (ID)
=> Xóa khóa chính khỏi một trường :
ALTER TABLE sql
DROP CONSTRAINT PK_ID

Nhận xét
Đăng nhận xét