Professional Documents
Culture Documents
Chương 4 - 1. Ngôn ngữ định nghĩa-thao tác dữ liệu SQL
Chương 4 - 1. Ngôn ngữ định nghĩa-thao tác dữ liệu SQL
CHƯƠNG 4 (P1).
NGÔN NGỮ ĐỊNH NGHĨA,
THAO TÁC DỮ LIỆU SQL
Giảng viên:
TS. Nguyễn Thị Uyên Nhi
nhintu@due.edu.vn
n
NỘI DUNG CHƯƠNG
▪ Khi viết lệnh SQL, KHÔNG phân biệt chữ HOA, chữ thường trong cú pháp và tên
bảng.
Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 4
TỔNG QUAN VỀ SQL
▪ Kiểu chuỗi
CÚ PHÁP KÍCH THƯỚC DIỄN GIẢI
• kich_thuoc là số kí tự lưu trữ.
• Độ dài cố định.
•Chứa kí tự ASCII.
CHAR(kich_thuoc) Tối đa 8000 kí tự.
•Nếu nhập vào chuỗi có độ dài nhỏ hơn độ dài đã khai báo thì SQL
Server tự động thêm dấu cách phía đuôi chuỗi để đảm bảo độ dài luôn
luôn cố định. Nếu độ dài chuỗi lớn hơn giá trị n, SQL Server sẽ báo lỗi.
NCHAR(kich_thuoc) Tối đa 4000 kí tự. • Giống Char nhưng có kí tự Unicode.
• Độ dài tùy biến.
• Nếu chỉ định là toi_da thì tối đa là 2GB.
VARCHAR(kich_thuoc) Tối đa 8000 kí tự
•Không có độ dài mặc định, chính vì vậy, nếu không khai báo độ dài thì
hoặc VARCHAR(toi_da) hoặc theo số tối đa.
SQL Server sẽ báo lỗi
• Chứa kí tự ASCII.
NVARCHAR(kich_thuoc) Tối đa 4000 kí tự
• Giống Varchar nhưng có kí tự Unicode.
hoặc NVARCHAR(toi_da) hoặc theo số tối đa.
▪ Kiểu số
CÚ PHÁP KÍCH THƯỚC DIỄN GIẢI
BIT số nguyên 0, 1 hoặc NULL
TINYINT từ 0 đến 255
SMALLINT từ -32768 đến 32767
INT -2,147,483,648 đến 2,147,483,647
từ -9,223,372,036,854,775,808 đến
BIGINT
9,223,372,036,854,775,807
số dấu phẩy động n mặc định là 53 nếu không được n là số lượng của số bit lưu trữ trong một
FLOAT(n)
chỉ định cụ thể. kí hiệu hóa học.
- m mặc định là 18 nếu không được chỉ định cụ
m là tổng số lượng các số còn d là số
DECIMAL(m,d) thể.
lượng các số nằm sau dấu phẩy.
- d mặc định là 0 nếu không được chỉ định cụ thể.
•m mặc định là 18 nếu không được chỉ định cụ thể. m là tổng số lượng các số còn d là số
NUMERIC(m,d)
•d mặc định là 0 nếu không được chỉ định cụ thể. lượng các số nằm sau dấu phẩy.
→ Trong bảng KHOA, TENKHOA là duy nhất, không được trùng lặp
→ Bảng SINHVIEN liên kết với bảng KHOA thông qua khóa ngoại MAKHOA
Cơ sở dữ liệu| TS. Nguyễn Thị Uyên Nhi 23
ĐỊNH NGHĨA BẢNG: TẠO BẢNG
▪ Các RBTV:
✓CHECK: Ràng buộc này dùng để kiểm tra miền giá trị của một cột xác định
✓Ví dụ:
CREATE TABLE SINHVIEN
(
MASV char(12) primary key, TENSV nvarchar(50),
Ngsinh date, MAKHOA char(10),
foreign key (MAKHOA) references KHOA(MAKHOA) ,
CONSTRAINT ck_D check(Ngsinh < Getdate())
)
✓Trong ví dụ trên:
• Ngsinh phải diễn ra trước Ngay hiện tại.
• ck_D là tên ràng buộc do người dùng tự đặt.
Ví dụ:
ALTER TABLE SINHVIEN ADD
CONSTRAINT ck_D CHECK((Ngsinh < Getdate())),
CONSTRAINT FK_TK FOREIGN KEY (MAKHOA) REFERENCES KHOA (MAKHOA)
✓Xóa ràng buộc
ALTER TABLE Tên_bảng DROP CONSTRAINT tên_ràng_buộc