III. MỘT SỐ LỆNH CHUẨN CỦA SQL:
1. MỘT SỐ LỆNH TRUY VẤN ĐỊNH NGHĨA DỮ LIỆU
SQL là một ngôn ngữ định nghĩa dữ liệu, cho phép tạo ra một hệ thống các file dữ liệu, có thể hiệu chỉnh một phần cấu trúc dữ liệu đã có bằng các lệnh khởi tạo, thay đổi hoặc hủy bỏ các table …
Với SQL có thể thực hiện dễ dàng những công việc như: − Định nghĩa table mới.
− Thay đổi các cấu trúc của những Table đã có trong máy. − Xoá bỏ field hoặc Table/View/Index đang tồn tại.
− Định nghĩa một Table logic để tăng cường khả năng an toàn dữ liệu. − Định nghĩa các Index để hệ thống hoạt động nhanh hơn.
− Thay đổi thuộc tính khoá (Primary hay Foreign key)
Hầu hết các lệnh định nghĩa dữ liệu của SQL thông qua 3 lệnh chính CREATE, ALTER và DROP. Sau đây ta lần lược làm quen với các lệnh trên:
⇒ Để tạo một câu lệnh SQL trong Microsoft Access chúng ta thực hiện theo các bước sau:
− Bước 1: Trong cửa sổ CSDL, chọn phiếu Query→New→Design View→ nhấn chọn Ok
− Bước 2: Không cần chọn Table hay Query làm nguồn dữ liệu (vì đã ghi tên bản trong câu lệnh), nhấn chọn nút Close.
− Bước 3: Nhấn chọn nút SQL, xuất hiện cửa sổ soạn thảo câu lệnh SQL
− Bước 4: Sau khi soạn thảo xong câu lệnh, nhấn chọn nút Run để chạy Query. − Bước 5: Lưu lại Query
⇒ Khởi tạo Table :
CREATE TABLE <Tên Table> (<tên field-1><kiểu dữ liệu> [NOT NULL], <tên field-2><kiểu dữ liệu> [NOT NULL],
<tên field-3><kiểu dữ liệu> [NOT NULL], . . . . . . .. . . . .
<tên field-n><kiểu dữ liệu> [NOT NULL], CONSTRAINT <tên constraint> PRIMARY KEY (tên field),
CONSTRAINT <tên constraint> FOREIGN KEY (tên field)REFERENCES(Tên Table 2));
Giải Thích:
− Từ khoá CREATE TABLE : Dùng để tạo lập Table − <Tên table> : Đặc table tên gì
− <Tên field> <kiểu dữ liệu> : Trong table đó có các Field (Column, cột) nào và kiểu dữ liệu gì.
− [NOT NULL] : Có mang giá trị NULL không
− PRIMARY KEY : Tên các Column (field) đặc làm khoá chính
− FOREIGN KEY (tên các field) REFERENCES (Tên Table 2) : Tên các field nào làm khoá ngoại và nó là khoá chính trong table nào.
Ví du ï : Dùng SQL để tạo ra Table Nhân sự có những Fields như sau: Manv, Hoten, Diachi, Ngaysinh, Phai, Mucluong, Ngaycong, Ghichu, Hinh. Có Manv là khoá chính.
CREATE TABLE NHANSU (Manv Text(4), Hoten Text(20), Diachi Text(30), Ngaysinh
Datetime, Phai YesNo, Mucluong Integer, Ngaycong Byte, Ghichu Memo, HINH OleObject,
CONSTRAINT PK_MANV PRIMARY KEY (Manv));
Sau đó các bạn nhập khoảng 10 Record (mẫu tin) vào.
Hiệu chỉnh một Table: Việc hiệu chỉnh cấu trúc dữ liệu là một công việc hết sức quan trọng,
chỉ nên làm khi thật sự cần thiết. ⇒ Thêm một Column (Filed)
ALTER TABLE <tên table> ADD <tên field><kiểu dữ liệu>;
Ví dụ: Thêm một Field Luongthang trong Table Nhansu
ALTER TABLE Nhansu ADD Luongthang Double; ⇒ Hủy bỏ một field
ALTER TABLE <tên Table> DROP <tên field>;
Ví dụ: Xoá Field Luongthang trong Table Nhansu
ALTER TABLE Nhansu DROP Luongthang; ⇒ Khởi tạo một Index (chỉ mục)
ALTER TABLE Nhansu ADD CONSTRAINT HT UNIQUE (Hoten); CREATE UNIQUE INDEX ML ON Nhansu (Mucluong);
⇒ Xoá một Index (chỉ mục)
ALTER TABLE <tên table> DROP CONSTRAINT <tên Index>; hoặc
DROP INDEX <Tên Index> ON <Tên Table>
Ví dụ: Xoá chỉ mục cho Field Mucluong, Hoten trong Table Nhansu
ALTER TABLE Nhansu DROP CONSTRAINT HT; ⇒ Hủy bỏ một Table
DROP TABLE <tên table>
Ví dụ: Hủy bỏ Table Nhansu
DROP TABLE NHANSU;
BAØI TẬP:
Dùng ngôn ngữ SQL tạo bảng KHO với các yêu cầu như sau:
KHO (MAKHO Text(2), TENKHO Text(30), DCKHO Text(50)) (Makho là khóa chính) Sau đó nhập liệu cho bảng kho như sau:
MAKHO TENKHO DCKHO
CH CHÁNH HƯNG 116 BAØ HUYỆN THANH QUAN LB LONG BÌNH 333 LÝ THÁI TỔ
PX PHÚ XUÂN 123 LÝ CHÍNH THẮNG TD THỦ ĐỨC 20/10 ĐỒNG NAI
Chèn thêm cột field MAKHO vào bảng (table) HOADON
Tạo thêm mối quan hệ cho bảng KHO và bảng HOADON. Sau đó nhập liệu cho cột (filed)
MAKHO trong bảng HOADON tùy ý tương ứng với mã kho đã có trong bảng KHO.
Chú ý: Mối quan hệ giữ bảng kho và bảng hoadon là quan hệ 1-nhiều