NGÔN NGỮ CỦA CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU)
I. GIỚI THIỆU
Để đảm bảo cho CSDL thực sự là “vật có ích” chúng ta cần phải bổ sung dữ liệu mới, thay đổi một số giá trị hiện thời, hoặc phải xoá bỏ một phần nào đó đã trở nên dư thừa, không cần thiết nữa. Chúng ta cũng cần biết những thông tin từ CSDL ấy, ví dụ như : Cần biết những khách hàng nào đã nợ quá lâu... Những yêu cầu về tình hình quản lý luôn đòi hỏi hệ thống thông tin cần phải được tổ chức khéo léo các loại dữ liệu, nhằm cung cấp thông tin ngày càng nhiều, chuẩn xác, nhanh chóng hơn.
Các hệ quản trị CSDL với những cách tiếp cận khác nhau và thông qua những giao diện đặc trưng, đã có thể trợ giúp người sử dụng thực hiện rất nhiều về dữ liệu và thông tin quản lý. Nhưng có một ngôn ngữ đang trở thành giao điểm của các hệ quản trị CSDL và là phương tiện dùng để giao tiếp lẫn nhau của nhiều MIS, đó là SQL.
Vì giờ học tập của các bạn có giới hạn. Ở đây tôi xin giới thiệu đến các bạn học viên một số lệnh cơ bản về ngôn ngữ SQL và từ đóù các bạn có thể tìm hiểu thêm và thực hiện được những vấn đề chuyên sâu hơn. Các bạn có thể tham khảo thêm về một số tài liệu SQL khác để bổ sung kiến thức của mình.
II. MỘT SỐ QUY ƯỚC VỀ CÚ PHÁP CỦA SQL
%, _
Dấu phần trăm, dấu gạch
dưới Đại diện cho nhiều ký tự, đại diện cho 1 ký tự tương ứng với dấu *,? Của Dos
; Dấu chấm phẩy Dứt lệnh của SQL chuẩn
, Dấu phẩy Dấu phân cách giữa các chi tiết trong một chuỗi Vd: SELECT col1, col2, …
Các từ khoá, tên table, tên field, tên row … không phân biệt chữ hoa, chữ thường Trong chuỗi dạng ký tự phải chỉ định chính xác giá trị. “Manager” sẽ khác với
“manager”
III. MỘT SỐ LỆNH CHUẨN CỦA SQL:
Xét về công dụng, những lệnh của SQL được chia ra làm 4 loại:
Loại lệnh truy vấn dữ liệu (Query)
Loại lệnh định nghĩa dữ liệu ( Data Define language – DLL):
CREATE: Định nghĩa và khởi tạo một Table/View/Index mới ALTER: Hiệu chỉnh một Table đã tồn tại trước đó
DROP: Huỷ bỏ nếu xét thấy không cần sử dụng nữa.
Những lệnh thuộc loại DLL dùng để định nghĩa các Table (file lưu trữ dữ liệu), các View (File ảo, file logic), các Index (chỉ mục) . . . Loại lệnh DDL sẽ giúp cho người sử dụng can thiệp vào cách thức lưu trữ, tổ chức về mặt vật lý của cơ sở dữ liệu, làm biến đổi cấu trúc hệ thông dữ liệu. Do đó loại lệnh này thường dành cho các chuyên viên hệ thống thông tin.
Loại lệnh cập nhật dữ liệu (Data manipulation Language – DML):
INSERT : Bổ sung thêm một hoặc nhiều Row vào CSDL.
UPDATE: Thay đổi các trường giá trị trong CSDL DELETE: Huỷ bỏ các row
Loại lệnh kiểm soát dữ liệu (Data Control Language – DCL):
GRANT: Giao các quyền khai thác dữ liệu cho người sử dụng.
REVOKE: Thu hồi các quyền khai thác dữ liệu.
Loại lệnh này nhằm đảm bảo sự an toàn về CSDL dùng chung.
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 QueryNewDesign 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 <teân constraint> PRIMARY KEY (teân field),
CONSTRAINT <teân constraint> FOREIGN KEY (teân field)REFERENCES(Teâ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 <teân Table> DROP <teân field>;
Ví dụ: Xoá Field Luongthang trong Table Nhansu
Khởi tạo một Index (chỉ mục)
ALTER TABLE <Teân Table> ADD CONSTRAINT <Teân Index> UNIQUE (<Teân Field>) hoặc
CREATE [UNIQUE] INDEX <Tên INDEX> ON <tên table> (tên các field> [ASC/DESC]);
Ví dụ: Tạo chỉ mục cho Field Mucluong, Hoten trong Table Nhansu ALTER TABLE Nhansu ADD CONSTRAINT HT UNIQUE (Hoten);
CREATE UNIQUE INDEX ML ON Nhansu (Mucluong);
Xoá một Index (chỉ mục)
ALTER TABLE <teân table> DROP CONSTRAINT <teân Index>;
hoặc
DROP INDEX <Teân Index> ON <Teâ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 <teân table>
Ví dụ: Hủy bỏ Table Nhansu DROP TABLE NHANSU;