Copyright © 2022 | nguyenduyliem@hcmuaf.edu.vn Ngôn ngữ truy vấn có cấu trúc 1
Ngôn ngữ truy vấn có cấu trúc
(Structured Query Language)
TRƯỜNG ĐẠI HỌC NÔNG LÂM TP. HỒ CHÍ MINH
KHOA MÔI TRƯỜNG & TÀI NGUYÊN | BỘ MÔN GIS & TÀI NGUYÊN
SELECT <Danh sách cột được chọn>
FROM <Danh sách bảng>
WHERE <Điều kiện chọn hàng>
GROUP BY <Danh sách cột cần nhóm>
HAVING <Điều kiện nhóm cột>
ORDER BY <Danh sách cột cần sắp thứ tự>;
Copyright © 2022 | nguyenduyliem@hcmuaf.edu.vn Ngôn ngữ truy vấn có cấu trúc
Nội dung
Các khái niệm (Concepts)
Ngôn ngữ truy vấn có cấu trúc là gì?
(Structured Query Language, SQL)
Đặc điểm của SQL (Characteristics of SQL)
Phân loại SQL (Classification of SQL)
Cú pháp SQL (Syntax of SQL)
Định nghĩa dữ liệu (Data definition)
Tạo (CREATE)
Thay đổi (ALTER)
Hủy bỏ (DROP)
Thao tác dữ liệu (Data manipulation)
Thêm (INSERT)
Sửa (UPDATE)
Xóa (DELETE)
Truy vấn (SELECT)
Chọn cột (SELECT)
Từ bảng (FROM)
Điều kiện chọn hàng (WHERE)
Nhóm theo cột (GROUP BY)
Điều kiện nhóm cột (HAVING)
Sắp thứ tự theo cột (ORDER BY)
Phép kết bảng (INNER JOIN, FULL JOIN)
Truy vấn con (Subquery)
2
Copyright © 2022 | nguyenduyliem@hcmuaf.edu.vn Ngôn ngữ truy vấn có cấu trúc
Độc lập
DBMS
Phụ thuộc
DBMS
Quá trình thiết kế CSDL
3
Thế giới
thực
Thu thập, phân tích
yêu cầu
Thiết kế ý niệm
Thiết kế luận lý
Thiết kế vật lý
Yêu cầu dữ liệu
Lược đồ ý niệm
(mô hình dữ liệu ở mức cao)
Lược đồ luận lý
(mô hình dữ liệu cho DBMS)
Lược đồ vật lý
Yêu cầu chức năng
Phân tích chức năng
Đặc tả chức năng ở
mức cao
Thiết kế
chương trình
ứng dụng
Thực hiện
giao tác
Chương trình ứng dụng
Ý tưởng
Lược đồ liên kết
thực thể (ER)
Lược đồ quan hệ
CSDL quan hệ
Copyright © 2022 | nguyenduyliem@hcmuaf.edu.vn Ngôn ngữ truy vấn có cấu trúc
Ngôn ngữ truy vấn có cấu trúc là gì?
TS. Donald D. Chamberlin, TS. Raymond F. Boyce
(làm việc tại IBM) giới thiệu vào năm 1974.
1974: SEQUEL (Structured English QUEry Language).
1976: SEQUEL được cải tiến thành SEQUEL2.
1978-1979: SEQUEL2 được cải tiến, đổi tên thành SQL.
Được dùng để truy cập, thao tác CSDL.
Ngôn ngữ thương mại sử dụng mô hình quan hệ.
Ngôn ngữ CSDL phổ biến nhất.
Ngôn ngữ chuẩn cho CSDL quan hệ
1986: Viện Tiêu chuẩn Quốc gia Hoa Kỳ (ANSI),
1987: Tổ chức Tiêu chuẩn Quốc tế (ISO).
4
Chamberlin, Donald D; Boyce, Raymond F (1974). "SEQUEL: A Structured
English Query Language". Proceedings of the 1974 ACM SIGFIDET
Workshop on Data Description, Access and Control. Association for
Computing Machinery: 24964. doi:10.1145/800296.811515
TS. Donald D.
Chamberlin
1944, Hoa
TS. Raymond F.
Boyce
1946-1974, Hoa
1986
SQL-86
1989
SQL-89
1992
SQL-1992
1999
SQL:1999
2003
SQL:2003
2006-2019
SQL:2006
SQL:2008
SQL:2011
SQL:2016
SQL:2019
SELECT
FROM
WHERE
GROUP BY
HAVING
INSERT
UPDATE
DELETE
CREATE TABLE
CREATE VIEW
Lịch sử tiêu chuẩn của SQL
Phiên bản đầu tiên Hiện đạiNền tảng Phát triển
JOIN
UNION
INTERSECT
EXCEPT
CASE WHEN
CAST
ALTER TABLE
DROP TABLE
ALTER VIEW
DROP VIEW
Recursive CTE
GROUP BY
ROLLUP
CUBE
GROUPING SETS
Các chức năng
Window
Cải thiện
ngôn ngữ
Copyright © 2022 | nguyenduyliem@hcmuaf.edu.vn Ngôn ngữ truy vấn có cấu trúc
Đặc điểm của SQL
Ngôn ngữ tựa tiếng Anh
Sử dụng các từ như SELECT, INSERT, DELETE,… trong tập lệnh.
Ngôn ngữ phi thủ tục
Người dùng cho biết thông tin cần lấy mà không chỉ ra cách thực hiện như
thế nào để có được thông tin này.
Xử lý tập hợp mẩu tin hơn là một mẩu tin đơn lẻ
Bảng hơn là hàng.
Nhiều người dùng có thể sử dụng
Quản trị viên, lập trình ứng dụng, nhà quản lý, người dùng đầu cuối.
Dễ học SQL cực kỳ thực tế thân thiện với người dùng (không yêu cầu kinh
nghiệm về công nghệ).
5