You are on page 1of 37

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GTVT

Chương 2: Ngôn ngữ


truy vấn có cấu trúc SQL
Giảng viên hd: Th.s. Trần Thị Xuân Hương
Đơn vị: Tổ KHCB
2.1. SQL là ngôn ngữ của
CSDL quan hệ
SQL, viết tắt của Structured Query Language (ngôn ngữ
hỏi có cấu trúc), là công cụ sử dụng để tổ chức, quản lý và
truy xuất dữ liệu đuợc lưu trữ trong các cơ sở dữ liệu.
SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh
sử dụng để tương tác với cơ sở dữ liệu quan hệ.

SQL được sử dụng để điều khiển tất cả các chức năng mà


một hệ quản trị cơ sở dữ liệu cung cấp cho người dùng bao
gồm:
2.1. SQL là ngôn ngữ của CSDL quan
hệ
• Định nghĩa dữ liệu: SQL cung cấp khả năng định nghĩa các cơ sở dữ
liệu, các cấu trúc lưu trữ và tổ chức dữ liệu cũng như mối quan hệ giữa
các thành phần dữ liệu.
• Truy xuất và thao tác dữ liệu: Với SQL, người dùng có thể dễ dàng
thực hiện các thao tác truy xuất, bổ sung, cập nhật và loại bỏ dữ liệu
trong các cơ sở dữ liệu.
• Điều khiển truy cập: SQL có thể được sử dụng để cấp phát và kiểm
soát các thao tác của người sử dụng trên dữ liệu, đảm bảo sự an toàn cho
cơ sở dữ liệu.
 
• Đảm bảo toàn vẹn dữ liệu: SQL định nghĩa các ràng buộc toàn vẹn
trong cơ sở dữ liệu nhờ đó đảm bảo tính hợp lệ và chính xác của dữ liệu
trước các thao tác cập nhật cũng như các lỗi của hệ thống.
2.2. Vai trò của SQL
• SQL là ngôn ngữ hỏi có tính tương tác: Người sử dụng có
thể dễ dàng thông qua các trình tiện ích để gửi các yêu cầu
dưới dạng các câu lệnh SQL đến CSDL và nhận kết quả trả
về từ cơ sở dữ liệu.
• SQL là ngôn ngữ lập trình CSDL: Các lập trình viên có thể
nhúng các câu lệnh SQL vào trong các ngôn ngữ lập trình
để xây dựng nên các chương trình ứng dụng giao tiếp với
CSDL.
• SQL là ngôn ngữ quản trị CSDL: Thông qua CSDL, người
giản trị cơ sở dữ liệu có thể quản lý được cơ sở dữ liệu,
định nghĩa các cấu trúc lưu trữ dữ liệu, điều khiển truy cập
cơ sở dữ liệu,…
2.2. Vai trò của SQL
• SQL là ngôn ngữ cho các hệ thống khách/ chủ (client/Server): Trong
các hệ thống cơ sở dữ liệu khách/ chủ, SQL được sử dụng như là công
cụ để giao tiếp giữa các trình ứng dụng phía máy khách với máy chủ
CSDL.
• SQL là ngôn ngữ truy cập dữ liệu trên Internet: Cho đến nay, hầu hết
các máy chủ Web cũng như các máy chủ trên Internet sử dụng SQL với
vai trò là ngôn ngữ tương tác với dữ liệu trong các CSDL.
• SQL là ngôn ngữ cơ sở dữ liệu phân tán: Đối với các hệ quản trị cơ sở
dữ liệu phân tán, mỗi một hệ thống sử dụng SQL để giao tiếp với các
hệ thống khác trên mạng, gửi và nhận các yếu cầu truy xuất dữ liệu với
nhau.
• SQL là ngôn ngữ sử dụng cho các cổng giao tiếp cơ sở dữ liệu: Trong
một hệ thống mạng máy tính với nhiều hệ quản trị cơ sở dữ liệu khác
nhau, SQL thường được sử dụng như là một chuẩn ngôn ngữ để giao
tiếp giữa các hệ quản trị cơ sở dữ liệu.
2.3. Giới thiệu về Transact SQL
(T-SQL)
2.3.1. Ngôn ngữ định nghĩa dữ liệu (Data definition language -
DDL)
2.3. Giới thiệu về Transact SQL
(T-SQL)
2.3.1. Ngôn ngữ định nghĩa dữ liệu (Data definition language -
DDL)
2.3. Giới thiệu về Transact SQL
(T-SQL)
2.3.1. Ngôn ngữ định nghĩa dữ liệu (Data definition language -
DDL)
Tạo cơ sở dữ liệu
Tạo bảng

Ví dụ: Tạo bảng Docgia gồm các thuộc tính: maDG, tenDG,
diachi, tuoi
Các kiểu dữ liệu trong SQL
2.3.2. Ngôn ngữ điều khiển dữ liệu
(Data control language-DML)
Lệnh Grant
Lệnh Grant
Ví dụ
Lệnh Revoke
2.3.3. Ngôn ngữ thao tác dữ liệu
(Data manipulation - DML)
Lệnh Insert
Cú pháp:

INSERT INTO Table_name(col_name_1,..., col_name_n)


Values(‘value1’,.............., ‘valuen’)
Lệnh Update
Cú pháp:
Update Table_Name Set Column_Name=‘new_Value’
Where <condition>

UPDATE NHANVIEN SET ADDRESS=‘Long An’


WHERE ID=‘3’
Lệnh Delete
Cú pháp:
DELETE FROM Table_Name Where <condition>

DELETE FROM NHANVIEN WHERE ID=‘3’


Lệnh Select
Cú pháp:

Trong đó:
-Select: Các thông tin cần đưa ra (danh sách thuộc tính)
-From: Danh sách tên bảng chứa các thuộc tính cần đưa
ra
-Where: chỉ ra thông tin được lấy ra có điều kiện gì
Ví dụ
BÀI TẬP
Tạo CSDL: QLnhanvien gồm các bảng sau:
Thêm dữ liệu cho các bảng
Sử dụng câu lệnh truy vấn đưa ra các
thông tin sau:
1. Đưa ra Hoten, Congviec, Luong của tất cả các nhân viên.
2. Đưa ra toàn bộ công việc của các nhân viên, các giá trị không
trùng nhau.
3. Đưa ra Hoten, LuongQuy của tất cả các nhân viên, với
LuongQuy= Luong*3.
4. Đưa ra Hoten, Luong sắp xếp theo thứ tự tăng dần/ giảm dần của
Luong.
5. Đưa ra Hoten, Luong của các nhân viên có Luong>300.
6. Đưa ra Hoten, Luong của các nhân viên có Luong>300 và làm
công việc là Giáo viên.
7. Đưa ra những nhân viên có lương hoặc 200, 300, 600.
8. Đưa ra những nhân viên có Lương trong khoảng 300 đến 600.
9. Đưa ra Hoten, Congviec của các nhân viên có Họ tên bắt đầu bằng
chữ ‘Hoàng’.
Tạo CSDL QLCH gồm các
bảng sau
Sửa cấu trúc của bảng
a. Thêm một thuộc tính:
•Trong bảng KHACH, thêm một thuộc tính SoThich nhằm lưu
vào bảng KHACH sở thích của khách hàng.
•Trong bảng HANG, thêm hai thuộc tính
là NoiCungCap và NoiSanXuat nhằm lưu vào bảng HANG
thông tin về nơi cung cấp hàng hóa đó và nơi sản xuất chúng.
b. Thay đổi kiểu của một thuộc tính.
•Trong bảng KHACH, thay đổi kiểu dữ liệu cho trường
SoThich, từ kiểu Text thành kiểu Memo.
•Trong bang HANG, thay đổi kiểu dữ liệu cho trường
NoiCungCap, từ kiểu Text thành kiểu Number.
Sửa cấu trúc của bảng
c. Xóa một thuộc tính.
•Trong bảng HANG, hãy xóa 2 thuộc tính NoiCungCap và
NoiSanXuat.
•Trong bảng KHACH, hãy xóa thuộc tính SoThich.
Thêm giá trị vào các dòng của
bảng
* Xóa hàng
•Xóa một hàng có ma_hang = ‘H001’ trong bảng HANG.
•Xóa tất cả các khách hàng có Diachi_kh = ‘Đại học Thủy
Lợi ‘ trong bảng KHACH.
•Xóa khách hàng có tên là Trịnh Hồng Cường.
* Sửa đổi giá trị của một hàng.
•Sửa đổi địa chỉ của khách hàng thành địa chỉ mới là Đại
học Quốc Gia với ma_khach là K002.
•Sửa đổi tất cả các tên hàng là “Hoa lan” thành “Hoa phong
lan” và mô tả hàng là “Hàng nhập khẩu từ Đà Lạt”
Câu lệnh truy vấn
1. Xem toàn bộ nội dung của bảng KHACH
2. Xem toàn bộ nội dung của bảng HANG.
3. Xem toàn bộ nội dung của bảng DONHANG.
4. Đưa ra Tên và Địa chỉ của tất cả các Khách hàng trong
bảng KHACH.
5. Đưa ra Tên hàng, Mô tả hàng và Đơn vị tính của tất cả
các mặt hàng trong bảng HANG.
6. Đưa ra tất cả các đơn vị tính dùng để tính hàng hóa.
7. Đưa ra tất cả các tên hàng trong bảng HANG.
8. Đưa ra tất cả các địa chỉ của khách hàng.
9. Đưa ra so_phieu, ma_hang, don_gia, soluonggi và
Thành tiền (don_gia*so_luong) của tất cả các hàng trong
bảng PHIEU_GIAO.
Câu lệnh truy vấn
10. Đưa ra so_phieu, ma_hang, don_gia, soluonggi và
Thành tiền (don_gia*so_luong), sử dụng bí danh la
thanh_tien của tất cả các hàng trong bảng PHIEU_GIAO
.
11. Đưa ra tất cả giá trị của bảng HANG theo thứ tự giảm
dần của ma_hang.
12. Đưa ra tất cả các giá trị của bảng PHIEUGIAO theo thứ
tự tăng dần (giảm dần) của tổng tiền (tong_tien).
13. Đưa ra tất cả các khách hàng có địa chỉ là Đại học Quốc
Gia trong bảng KHACH.
14. Đưa ra So_phieu, Ma_khach trong bảng PHIEUGIAO
với điều kiện Tong_tien>=100.000, và sắp xếp theo điều
kiện giảm dần của Tong_tien.

You might also like