Nó là một ngôn ngữ, là tập hợp các lệnh để tương tác vớicơ sở dữ liệu.. Dùng để lưu trữ, thao tác và truy xuất dữ liệu được lưutrữ trong một cơ sở dữ liệu quan hệ.. Trong thực tế, SQL là
Trang 1SỞ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG TRUNG HỌC PHỔ THÔNG CHƯƠNG MỸ A
BÁO CÁO CHỦ ĐỀ THUYẾT
TRÌNH
TÊN CHỦ ĐỀ: SQL- NGÔN NGỮ TRUY VẤN
CÓ CẤU TRÚC
Giáo viên hướng dẫn: Trịnh Hồng Điệp Lớp: 11A5
Học sinh thực hiện:
Hà Nội năm 2023
Trang 2SỞ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG TRUNG HỌC PHỔ THÔNG CHƯƠNG MỸ A
BÁO CÁO CHỦ ĐỀ THUYẾT
TRÌNH
TÊN CHỦ ĐỀ: SQL- NGÔN NGỮ TRUY VẤN
CÓ CẤU TRÚC
Bằng số Bằng chữ
2 Nguyễn Hương Ly
3 Hà Dương Hương Thảo
CÁN BỘ CHẤM
THI
Trang 3Hà Nội năm 2023
Trang 4MỤC LỤC
Chương 1 Giới thiệu về SQL 1
1 SQL là gì? 1
2 Lịch sử 1
3 Ưu điểm 3
4 Nhược điểm 4
Chương 2 Cách sử dụng SQL 5
1 Ngôn ngữ định nghĩa dữ liệu - Data Definition Language (DDL) .5 1.1 Câu lệnh CREATE 5
1.2 Câu lệnh ALTER 6
1.3 Câu lệnh DROP 6
1.4 Câu lệnh TRUNCATE 6
2 Ngôn ngữ thao tác dữ liệu - Data Manipulation Language (DML).7 2.1 Câu lệnh INSERT 7
2.2 Câu lệnh UPDATE 7
2.3 Câu lệnh DELETE 7
2.4 Câu lệnh SELECT 7
3 Ngôn ngữ điều khiển dữ liệu - Data Control Language(DCL) 8
3.1 Câu lệnh GRANT 8
3.2 Câu lệnh REVOKE 8
4 Ngôn ngữ kiểm soát giao dịch - Transaction Control Language(TCL) 8
4.1 Câu lệnh COMMIT 8
4.2 Câu lệnh ROLLBACK 9
4.3 Câu lệnh SAVEPOINT 9
Chương 3 Lưu ý khi sử dụng SQL 10
1 Quy tắc chung 10
2 Quy tắc đặt tên 10
3 Một kiểu dữ liệu cột 10
Trang 5MỤC LỤC HÌNH ẢNH
Hình 1 Lịch sử
SQL 2 Hình 2 Ưu điểm của
SQL 3
Hình 3 Mẹo tối ưu hóa truy vấn
SQL 4
Hình 4 Khái quát về
SQL 4
Hình 5 Các loại câu lệnh trong
SQL 5
Hình 6 Ví dụ tạo một bảng trong
SQL 9
Trang 6MỤC LỤC BẢNG
Bảng 1 Một số kiểu dữ
liệu 6 Bảng 2 Một số hậu tố thường
gặp 8
Trang 7BẢNG CÁC TỪ VIẾT TẮT
Language
Computing Machinery
Management System
Machines
Standards Institude
Organization for Standardization
Electrotechnical Commission
Language
Language
Language
Language
Trang 813 DCL Data Control
Language
Trang 9CHỦ ĐỀ 4 GIỚI THIỆU CÁC HỆ CƠ SỞ DỮ LIỆU
BÀI 14 SQL – NGÔN NGỮ TRUY VẤN CÓ CẤU TRÚC
Chương 1 Giới thiệu về SQL
1 SQL là gì?
- SQL là viết tắt của Structured Query Language - ngôn ngữ truy vấn
có cấu trúc Nó là một ngôn ngữ, là tập hợp các lệnh để tương tác với
cơ sở dữ liệu Dùng để lưu trữ, thao tác và truy xuất dữ liệu được lưu trữ trong một cơ sở dữ liệu quan hệ Trong thực tế, SQL là ngôn ngữ chuẩn được sử dụng hầu hết cho hệ cơ sở dữ liệu quan hệ Tất cả các
hệ thống quản lý cơ sở dữ liệu quan hệ (RDMS) như MySQL, MS Access, Oracle, Postgres và SQL Server… đều sử dụng SQL làm ngôn ngữ cơ sở dữ liệu chuẩn
- SQL là công cụ được thiết kế nhằm để quản lý dữ liệu sử dụng trong nhiều lĩnh vực , cho phép bạn truy cập và và thực hiện các thao tác lấy các hàng hoặc sửa đổi các hàng, trích xuất ,tạo, xóa dữ liệu
2 Lịch sử
- Đến nay, SQL đã hình thành và phát triển hơn 40 năm
- Giai đoạn hình thành và phát triển:
+ 1970 – "Mô hình quan hệ cho dữ liệu dùng trong ngân hàng dữ liệu chia sẻ có khối lượng lớn" của tiến sĩ Edgar F Codd xuất bản
tháng 6 năm 1970 trong tạp chí Communications of the ACM của
Hiệp hội ACM
+ 1974 – Các nhà nghiên cứu IBM xuất bản một bài viết giới thiệu ngôn ngữ truy vấn có cấu trúc, với tên gọi đầu tiên là sequel Structured Query Language đầu tiên được phát triển
+ 1977 – Công ty Relational Software Inc trở thành Oracle, bắt đầu xây dựng một RDBMS thương mại
+ 1978 – IBM đã làm việc để phát triển các ý tưởng của Codd và đưa ra một sản phẩm có tên System / R Cùng thời điểm đó Relational Software, Inc cũng phát triển cơ sở dữ liệu của riêng họ + 1979 – Relational Software, Inc giới thiệu Oracle V2 và nhận được nhiều sự chú ý từ công chúng
+ 1982 – IBM xuất xưởng SQL / Data System, một SQL RDBMS cho các máy tính lớn của IBM
+ 1985 IBM xuất xưởng cơ sở dữ liệu 2, SQL RDBMS cho hệ điều hành máy tính lớn nhiều lưu trữ ảo của IBM
Trang 10+ 1986 – IBM đã phát triển nguyên mẫu đầu tiên của cơ sở dữ liệu quan hệ và được tiêu chuẩn hóa bởi ANSI Cơ sở dữ liệu quan hệ đầu tiên được phát hành bởi Relational Software sau này được gọi là Oracle
+ 1989 – Bản sửa đổi đầu tiên theo tiêu chuẩn ISO SQL, SQL-89 xuất bản
+ 1992 – Bản sửa đổi chính đầu tiên của ISQ SQL Standard,
SQL-92, xuất bản
+ 1999 – Phiên bản đầu tiên được đặt tên theo ISO, ISO/IEC SQL:
1999, thêm chức năng lập trình và hỗ trợ cho Java
+ 2003 – ISO/IEC SQL: 2003, hỗ trợ cho loại dữ liệu được xác định trước cho các đối tượng ngôn ngữ đánh dấu mở rộng
+ 2006 – ISO/IEC SQL: 2006 mở rộng chức năng liên quan đến XML
+ 2008 – ISO/IEC SQL: 2008 bổ sung hỗ trợ trong việc tham gia vào phân vùng
+ 2011 – ISO/IEC SQL: 2011 cải thiện hỗ trợ cho các cơ sở dữ liệu quan hệ có chứa dữ liệu liên quan đến thời gian
+ 2016 – ISO/IEC SQL: 2016 Thêm các tính năng mới, thay đổi liên quan đến ký hiệu JavaScript, hỗ trợ cho các hàm bảng đa hình và khớp mẫu hàng
Trang 11Hình 1 Lịch sử SQL
3 Ưu điểm
- Quản lý và tổ chức dữ liệu một cách hiệu quả: SQL cho phép tạo bảng, quản lý quan hệ giữa các bảng và định dạng dữ liệu chính xác
- Cải thiện bảo mật và tính toàn vẹn dữ liệu: SQL cung cấp tính năng bảo mật như phân quyền truy cập và mã hóa dữ liệu, đảm bảo an toàn cho cơ sở dữ liệu
- Dễ dàng truy xuất và phân tích dữ liệu: SQL cho phép truy vấn dữ liệu linh hoạt và nhanh chóng, giúp tìm ra thông tin cần thiết và phân tích dữ liệu hiệu quả
- Tính mở rộng và khả năng hợp tác: SQL là ngôn ngữ chuẩn được hỗ trợ bởi nhiều hệ quản trị cơ sở dữ liệu khác nhau, giúp mở rộng và chia sẻ dữ liệu giữa các ứng dụng và hệ thống SQL cũng giúp tạo ra
Trang 12chế độ xem, thủ tục lưu trữ và các chức năng khác trong cơ sở dữ liệu quan hệ
- Là ngôn ngữ di động: SQL là ngôn ngữ di động và bạn có thể được chuyển từ thiết bị này sang thiết bị khác Bao gồm cả từ laptop qua
PC, hay thậm chí cả các thiết bị di động Nó có khả năng chạy trên
hệ thống mạng nội bộ tốt
- Xử lý truy vấn nhanh: SQL cho khả năng chèn, xóa, truy xuất, thao tác dữ liệu nhanh chóng, hiệu quả và vẫn đảm bảo độ chính xác của
dữ liệu Do đó, bạn có thể chia sẻ dữ liệu nhanh chóng cho những người dùng khác
- Không yêu cầu về kỹ năng code: SQL sẽ không yêu cầu kỹ năng viết code như các ngôn ngữ lập trình khác Đây là một đặc điểm thân thiện với người dùng bởi nó giúp cho mọi người dùng có thể truy cập
và quản lý dễ dàng
- Nền tảng thống nhất: Ngôn ngữ SQL sử dụng Tiếng Anh làm chuẩn Điều này tạo ra sự thống nhất, dễ dàng hiểu, học, viết và diễn giải loại ngôn ngữ này
- Cung cấp nhiều dạng xem dữ liệu: Giúp người dùng khác nhau có thể trực quan hóa cấu trúc cơ sở dữ liệu và nội dung của nó theo cách khác nhau
Hình 2 Ưu điểm của SQL
4 Nhược điểm
- Giao diện khó dùng: SQL có giao diện phức tạp khiến một số người dùng khó truy cập
Trang 13- Không được toàn quyền kiểm soát: Các lập trình viên sử dụng SQL không có toàn quyền kiểm soát cơ sở dữ liệu
- Thực thi: Hầu hết các chương trình cơ sở dữ liệu SQL đều có phần
mở rộng độc quyền riêng
- Giá cả: Chi phí vận hành của một số phiên bản SQL khá cao khiến một số lập trình viên gặp khó khăn khi tiếp cận
Hình 3 Mẹo tối ưu hóa truy vấn SQL
Hình 4 Khát quát về SQL
Trang 14Chương 2 Cách sử dụng SQL
- Các câu lệnh SQL được sử dụng để giao tiếp với cơ sở dữ liệu Nó cũng được sử dụng để thực hiện các tác vụ, chức năng và truy vấn
dữ liệu cụ thể
- SQL có thể thực hiện các tác vụ khác nhau như tạo bảng, thêm dữ liệu vào bảng, thả bảng, sửa đổi bảng, đặt quyền cho người dùng
Hình 5 Các loại câu lệnh trong SQL
- Một số loại truy vấn SQL được sử dụng rộng rãi:
+ DDL
+ DML
+ DCL
+ TCL
1 Ngôn ngữ định nghĩa dữ liệu - Data Definition Language (DDL)
1.1 Câu lệnh CREATE
- Câu lệnh CREATE: giúp khởi tạo CSDL, bảng,
- Cú pháp với câu lệnh CREATE:
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
Trang 15
);
CHAR (n) / CHARACTER (n) Xâu kí tự có độ dài cố định n kí
tự VARCHAR (n) Xâu kí tự có độ dài thay đổi,
không vượt quá n kí tự BOOLEAN Kiểu logic có giá trị Đúng(1) /
Sai(2)
REAL Số thực dấu phẩy động
Bảng 1 Một số kiểu dữ liệu
1.2 Câu lệnh ALTER
- Câu lệnh ALTER: giúp sửa đổi một đối tượng Database đang tồn tại Với những khái niệm nào thường được sử dụng với CREATE, thì sẽ sử dụng được với ALTER
- Một vài cú pháp với câu lệnh ALTER:
+ Thêm một cột
ALTER TABLE table_name
ADD column_name datatype;
+ Xoá một cột
ALTER TABLE table_name
+ Đổi tên cột
ALTER TABLE table_name
RENAME COLUMN old_name to new_name;
+ Sửa đổi kiểu dữ liệu của cột
ALTER TABLE table_name
MODIFY COLUMN column_name datatype;
1.3 Câu lệnh DROP
- Câu lệnh DROP: giúp xóa một bảng, cột,
- Cú pháp với câu lệnh DROP
DROP TABLE table_name;
DROP COLUMN column_name;
Trang 161.4 Câu lệnh TRUNCATE
- Câu lệnh TRUNCATE: được sử dụng để xóa tất cả các hàng khỏi bảng và giải phóng không gian chứa bảng với cú pháp
- Cú pháp với câu lệnh TRUNCATE
TRUNCATE TABLE table_name;
2 Ngôn ngữ thao tác dữ liệu - Data Manipulation Language (DML)
2.1 Câu lệnh INSERT
- Câu lệnh INSERT: chèn dữ liệu vào CSDL
- Cú pháp với câu lệnh INSERT:
INSERT INTO table_name (column1, column2, column3, )
VALUES (value1, value2, value3, );
2.2 Câu lệnh UPDATE
- Câu lệnh UPDATE: sử dụng để cập nhật giá trị của một hoặc nhiều cột
- Cú pháp với câu lệnh UPDATE:
UPDATE table_name
SET column1 = value1, column2 = value2,
WHERE condition;
2.3 Câu lệnh DELETE
- Câu lệnh DELETE: dùng để xoá một hoặc nhiều record ở table
- Cú pháp với câu lệnh DELETE:
DELETE FROM table_name
WHERE condition;
2.4 Câu lệnh SELECT
- Câu lệnh SELECT: trích xuất bản ghi cụ thể từ một hoặc nhiều bảng
- Một số cú pháp với câu lệnh SELECT:
+ SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column1, column2
ORDER BY column1, column2
+ SELECT DISTINCT last_name
- Trình tự xử lý câu lệnh SELECT:
1-FROM
2-ON
3-JOIN
Trang 174-WHERE
5-GROUP BY
6-WITH CUBE/ WITH ROLLUP
7-HAVING
8-SELECT
9-DISTINCT
10-ORDER BY
11-TOP
_id Cột được dùng làm khóa chính _status Cờ chỉ trạng thái
_total Tổng số các giá trị _num Ám chỉ cột này chứa một dạng số
nào đó _name Gợi ý cột này chứa thông tin về
tên _seq Chứa 1 dãy các giá trị liên tiếp
nhau _date Ám chỉ cột này chứa thông tin về
ngày tháng
_size Kích thước của một vật gì đó như
quần áo hoặc file _addr Địa chỉ vật lý hoặc phi vật lý
Bảng 2 Một số hậu tố thường gặp
3 Ngôn ngữ điều khiển dữ liệu - Data Control Language(DCL)
3.1 Câu lệnh GRANT
- Câu lệnh GRANT: cho phép người sử dụng cụ thể trên các đối tượng
cơ sở dữ liệu
- Cú pháp với câu lệnh GRANT:
GRANT SELECT
UPDATE ON MY_TABLE TO SOME_USER
ANOTHER_USER;
Trang 183.2 Câu lệnh REVOKE
- Câu lệnh REVOKE: đưa ra sự cho phép của người dùng cụ thể trên các đối tượng cơ sở dữ liệu
- Cú pháp với câu lệnh REVOKE:
REVOKE SELECT
UPDATE ON MY_TABLE FROM USER1, USER2;
4 Ngôn ngữ kiểm soát giao dịch - Transaction Control
Language(TCL)
4.1 Câu lệnh COMMIT
- Câu lệnh COMMIT: chuyển các thay đổi xuống database
- Cú pháp với câu lệnh COMMIT:
COMMIT;
4.2 Câu lệnh ROLLBACK
- Câu lệnh ROLLBACK: hoàn tác các giao dịch chưa được lưu vào cơ
sở dữ liệu
- Cú pháp với câu lệnh ROLLBACK:
ROLLBACK;
4.3 Câu lệnh SAVEPOINT
- Câu lệnh SAVEPOINT: quay trở lại một giao dịch bất kỳ mà không cần trở về toàn bộ giao dịch
- Cú pháp với câu lệnh SAVEPOINT:
SAVEPOINT SAVEPOINT_NAME;
Trang 19Hình 6 Ví dụ tạo một bảng trong SQL
Chương 3 Lưu ý khi sử dụng SQL
1 Quy tắc chung
- Nên làm:
+ Đặt tên bảng/cột/biến dễ hiểu và có tính thống nhất
+ Căn lề hoặc thêm khoảng trống phù hợp
+ Tuân thủ quy chuẩn ISO 8601 (YYYY-MM-DD HH:MM:SS.SSSSS) + Sử dụng các hàm SQL tiêu chuẩn
+ Viết code thật gọn
- Nên tránh:
+ Tránh dùng danh từ không đếm được, trong khi có thể thay thế bằng từ đếm được
+ Tránh đặt tên bảng/cột/biến cần dùng tới dấu ngoặc kép “ ”
Trang 202 Quy tắc đặt tên
- Đảm bảo tên không trùng lặp và tránh đặt tên trùng với từ khóa
- Giới hạn độ dài của tên ở mức tối đa 30 ký tự
- Tên phải bắt đầu với một chữ cái và không nên kết thúc với dấu gạch chân
- Chỉ sử dụng chữ cái, con số và dấu gạch chân khi đặt tên
- Tránh dùng nhiều dấu gạch chân liên tiếp
- Tránh dùng từ viết tắt trừ khi đó là những từ viết tắt phổ biến và dễ hiểu
3 Một kiểu dữ liệu cột
- Kiểu xâu ký tự:
+ CHAR
+ CLOB
+ VARCHAR
- Kiểu số
+ Số nguyên
BIGINT
DECIMAL
DECFLOAT
INTEGER
NUMERIC
SMALLINT
+ Số thực:
DOUBLE PRECISION
FLOAT
REAL
DANH MỤC TÀI LIỆU THAM KHẢO
[1] 200lab.io ( https://200lab.io/blog/sql-la-gi/ ).
[2] topdev.vn ( https://topdev.vn/blog/sql-la-gi/?amp )
[3] sqlstyle.guide ( https://www.sqlstyle.guide/vn/ )
[4] codegym.vn