Thứ Hai, 9 tháng 12, 2019

Trong bài viết này tôi sẽ hướng dẫn các bạn tạo bảng và các ràng buộc liên quan.

Lệnh CREATE TABLE trong SQL dùng để tạo một bảng mới. Việc tạo bảng mới cơ bản liên quan đến việc đặt tên cho bảng, xác định các cột của nó và kiểu dữ liệu của mỗi cột.

Cú pháp lệnh CREATE TABLE

Câu lệnh SQL CREATE TABLE có cú pháp như sau:
CREATE TABLE ten_bang(
 cot1 kieu_du_kieu,
 cot2 kieu_du_kieu,
 cot3 kieu_du_kieu,
 .....
 cotN kieu_du_kieu,
 PRIMARY KEY( mot hoac nhieu cot )
);
CREATE TABLE là từ khóa nói cho hệ thống cơ sở dữ liệu biết bạn muốn làm gì. Trong trường hợp này, bạn muốn tạo một bảng mới. Tên duy nhất hoặc định danh cho bảng được đi liền ngay sau câu lệnh CREATE TABLE.
Trong ngoặc sẽ xác định từng cột trong bảng và kiểu dữ liệu của nó. Cú pháp trên sẽ rõ ràng hơn khi bạn xem ví dụ dưới đây.
Có thể sao chép một bảng hiện có để tạo bảng mới bằng cách sử dụng kết hợp lệnh CREATE TABLE và lệnh SELECT.

Ví dụ về lệnh CREATE TABLE

Code dưới đây là ví dụ về việc tạo bảng NHANVIEN với ID như khóa chính và NOT NULL là ràng buộc để đảm bảo các trường không thể NULL khi tạo các bản ghi trong bảng này.
SQL> CREATE TABLE NHANVIEN( ID INT NOT NULL, TEN VARCHAR (20) NOT NULL, TUOI INT NOT NULL, DIACHI CHAR (25) , LUONG DECIMAL (18, 2), PRIMARY KEY (ID) );
Bạn có thể xác minh xem bảng có được tạo thành công không bằng cách nhìn vào thông báo được hiển thị bởi máy chủ SQL, hoặc sử dụng lệnh DESC như thế này:
SQL> DESC NHANVIEN;
+-----------+---------------+------+-----+---------+-------+
| Field     | Type          | Null | Key | Default | Extra |
+-----------+---------------+------+-----+---------+-------+
| ID        | int(11)       | NO   | PRI |         |       |
| TEN       | varchar(20)   | NO   |     |         |       |
| TUOI      | int(11)       | NO   |     |         |       |
| DIACHI    | char(25)      | YES  |     | NULL    |       |
| LUONG     | decimal(18,2) | YES  |     | NULL    |       |
+---------+---------------+------+-----+---------+---------+
5 rows in set (0.00 sec)
Bây giờ, bạn đã có bảng NHANVIEN sẵn sàng trong cơ sở dữ liệu để có thể sử dụng lưu trữ các thông tin cần thiết liên quan đến nhân viên.

Ràng buộc (Constraint) là các quy tắc được áp dụng trên các cột dữ liệu của một bảng. Chúng được sử dụng để kiểm tra tính hợp lệ của dữ liệu đầu vào, đảm bảo tính chính xác, độ tin cậy và tính toàn vẹn của dữ liệu trong database.

Các loại ràng buộc phổ biến

Dưới đây là một số các ràng buộc phổ biến nhất được sử dụng trong SQL.
Ràng buộcÝ nghĩa
NOT NULLĐảm bảo dữ liệu của cột không được nhận giá trị NULL.
DEFAULTCung cấp một giá trị mặc định cho một cột trong trường hợp dữ liệu của cột không được nhập vào hay không được xác định.
UNIQUEĐảm bảo rằng dữ liệu của cột là duy nhất, tất cả các giá trị trong một cột là khác nhau không trùng lặp.
PRIMARY KeyDùng để thiết lập khóa chính trên bảng, giá trị của cột làm khóa chính phải là duy nhất, không được trùng lặp. Việc khai báo ràng buộc khóa chính yêu cầu các cột phải NOT NULL.
FOREIGN KeyDùng để thiết lập khóa ngoại trên bảng, tham chiếu đến bảng khác thông qua giá trị của cột được liên kết. Giá trị của cột được liên kết phải là duy nhất trong bảng kia.
CHECKĐảm bảo tất cả các giá trị trong một cột thỏa mãn một số điều kiện.
INDEXDùng để tạo và lấy dữ liệu từ cơ sở dữ liệu một cách nhanh chóng.
Các ràng buộc có thể được chỉ định khi bạn tạo bảng với câu lệnh CREATE TABLE hoặc sau khi tạo bảng với câu lệnh ALTER TABLE.

Xóa bỏ ràng buộc (Drop Constraint)

Bất kỳ ràng buộc nào đã định nghĩa đều có thể bị xóa bỏ bằng cách sử dụng lệnh ALTER TABLE với tùy chọn DROP CONSTRAINT.
Ví dụ, để drop Constraint khóa chính trong bảng NHANVIEN, bạn có thể sử dụng lệnh sau đây.
ALTER TABLE NHANVIEN DROP CONSTRAINT NHANVIEN_PK;
Một số cơ sở dữ liệu có thể cung cấp các phím tắt để drop các ràng buộc nhất một cách ngắn gọn hơn. Ví dụ, để loại bỏ ràng buộc khóa chính cho một bảng trong Oracle, bạn có thể sử dụng lệnh sau đây.
ALTER TABLE NHANVIEN DROP PRIMARY KEY;
Hy vọng bài viết sẽ giúp ích cho các bạn. Tôi sẽ viết tiếp các phần sau.... 

Trong bài viết này tôi sẽ hướng dẫn các bạn tạo bảng và các ràng buộc liên quan. Lệnh CREATE TABLE trong  SQL  dùng để tạo một bảng mới...