SQL là gì?

Ngôn ngữ truy vấn có cấu trúc (SQL) là một ngôn ngữ lập trình phục vụ việc lưu trữ và xử lý thông tin trong cơ sở dữ liệu quan hệ. Cơ sở dữ liệu quan hệ lưu trữ thông tin dưới dạng bảng có các hàng và cột đại diện cho những thuộc tính dữ liệu và nhiều mối quan hệ khác nhau giữa các giá trị dữ liệu. Bạn có thể sử dụng các câu lệnh SQL để lưu trữ, cập nhật, loại bỏ, tìm kiếm và truy xuất thông tin từ cơ sở dữ liệu. Bạn cũng có thể sử dụng SQL để duy trì và tối ưu hóa hiệu suất cơ sở dữ liệu.

Tại sao SQL lại quan trọng?

Ngôn ngữ truy vấn có cấu trúc (SQL) là một ngôn ngữ truy vấn phổ biến thường được sử dụng trong tất cả các loại ứng dụng. Các nhà phân tích và phát triển dữ liệu tìm hiểu và sử dụng SQL do ngôn ngữ này tích hợp hiệu quả với nhiều ngôn ngữ lập trình khác nhau. Ví dụ: họ có thể nhúng truy vấn SQL với ngôn ngữ lập trình Java để xây dựng ứng dụng xử lý dữ liệu hiệu năng cao có các hệ thống cơ sở dữ liệu SQL chính như Oracle hoặc MS SQL Server. SQL cũng khá dễ tìm hiểu do nó sử dụng những từ khóa tiếng Anh phổ biến trong các câu lệnh

Lịch sử của SQL

SQL ra đời vào những năm 1970 dựa trên mô hình dữ liệu quan hệ. Ban đầu nó được gọi là ngôn ngữ truy vấn tiếng Anh có cấu trúc (SEQUEL). Thuật ngữ này sau đó được rút ngắn thành SQL. Oracle, trước đây được gọi là Relational Software, đã trở thành nhà cung cấp đầu tiên mang đến một hệ thống quản lý cơ sở dữ liệu quan hệ SQL thương mại.

Một hệ thống SQL gồm những thành phần gì?

Hệ thống quản lý cơ sở dữ liệu quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc (SQL) để lưu trữ và quản lý dữ liệu. Hệ thống này lưu trữ nhiều bảng cơ sở dữ liệu có liên quan đến nhau. MS SQL Server, MySQL hoặc MS Access là những ví dụ về hệ thống quản lý cơ sở dữ liệu quan hệ. Một hệ thống như vậy có các thành phần sau. 

Bảng SQL

Bảng SQL là phần tử cơ bản của cơ sở dữ liệu quan hệ. Bảng cơ sở dữ liệu SQL bao gồm các hàng và cột. Kỹ sư cơ sở dữ liệu tạo ra các mối quan hệ giữa nhiều bảng cơ sở dữ liệu để tối ưu hóa không gian kho lưu trữ dữ liệu.

Giả sử kỹ sư cơ sở dữ liệu tạo một bảng SQL cho các sản phẩm trong cửa hàng: 

ID sản phẩm

Tên sản phẩm

ID màu

0001

Đệm

Màu 1

0002

Gối

Màu 2

Sau đó, kỹ sư cơ sở dữ liệu liên kết bảng sản phẩm với bảng màu có ID màu:

ID màu

Tên màu

Màu 1

Màu xanh lam

Màu 2

Màu đỏ

Câu lệnh SQL

Câu lệnh SQL, hoặc truy vấn SQL, là các lệnh hướng dẫn hợp lệ mà hệ thống quản lý cơ sở dữ liệu quan hệ hiểu được. Nhà phát triển phần mềm xây dựng các câu lệnh SQL bằng nhiều phần tử ngôn ngữ SQL khác nhau. Phần tử ngôn ngữ SQL là các thành phần như mã định danh, biến và điều kiện tìm kiếm tạo thành một câu lệnh SQL đúng.

Giả sử câu lệnh SQL sau sử dụng lệnh SQL INSERT để lưu trữ Đệm thương hiệu A có giá 499 USD vào bảng có tên Mattress_table với các cột tên brand_name cost:

INSERT INTO Mattress_table (brand_name, cost)

VALUES(‘A’,’499’);

Quy trình được lưu trữ

Quy trình được lưu trữ là tập hợp bao gồm một hoặc nhiều câu lệnh SQL được lưu trữ trong cơ sở dữ liệu quan hệ. Nhà phát triển phần mềm sử dụng các quy trình được lưu trữ để cải thiện hiệu quả và hiệu suất. Ví dụ: họ có thể tạo một quy trình được lưu trữ để cập nhật bảng bán hàng thay vì viết cùng một câu lệnh SQL trong nhiều ứng dụng khác nhau. 

SQL hoạt động như thế nào?

Việc triển khai ngôn ngữ truy vấn có cấu trúc (SQL) liên quan đến một máy chủ xử lý truy vấn cơ sở dữ liệu và trả về kết quả. Quá trình SQL đi qua một số thành phần phần mềm, bao gồm những thành phần sau. 

Trình phân tích cú pháp

Trình phân tích cú pháp bắt đầu bằng cách token hóa hoặc thay thế một số từ trong câu lệnh SQL bằng các ký hiệu đặc biệt. Sau đó, nó sẽ kiểm tra câu lệnh để tìm kiếm những yếu tố sau:

Tính đúng đắn

Trình phân tích cú pháp xác minh rằng câu lệnh SQL tuân theo ngữ nghĩa SQL, hay các quy tắc, đảm bảo tính đúng đắn của câu lệnh truy vấn. Ví dụ: trình phân tích cú pháp kiểm tra xem lệnh SQL có kết thúc bằng dấu chấm phẩy hay không. Nếu thiếu dấu chấm phẩy, trình phân tích cú pháp sẽ trả về lỗi.

Quyền hạn

Trình phân tích cú pháp cũng xác thực rằng người dùng đang chạy truy vấn có quyền cần thiết để thao tác với dữ liệu tương ứng. Ví dụ: chỉ người dùng quản trị mới có quyền xóa dữ liệu. 

Công cụ quan hệ

Công cụ quan hệ, hay bộ xử lý truy vấn, tạo kế hoạch truy xuất, ghi hoặc cập nhật dữ liệu tương ứng theo cách hiệu quả nhất. Ví dụ: công cụ này kiểm tra các truy vấn tương tự, sử dụng lại các phương pháp thao tác dữ liệu trước đó hoặc tạo một phương pháp mới. Công cụ quan hệ viết kế hoạch trong mã byte, một dạng biểu diễn trung cấp của câu lệnh SQL. Cơ sở dữ liệu quan hệ sử dụng mã byte để thực hiện tìm kiếm và điều chỉnh cơ sở dữ liệu một cách hiệu quả. 

Công cụ lưu trữ

Công cụ lưu trữ, hoặc công cụ cơ sở dữ liệu, là thành phần phần mềm xử lý mã byte và chạy câu lệnh SQL dự định. Công cụ này đọc và lưu trữ dữ liệu trong các tệp cơ sở dữ liệu trên ổ đĩa lưu trữ vật lý. Sau khi hoàn tất, công cụ lưu trữ trả về kết quả cho ứng dụng yêu cầu.

Lệnh SQL là gì?

Lệnh ngôn ngữ truy vấn có cấu trúc (SQL) là những từ khóa hoặc câu lệnh SQL cụ thể được các nhà phát triển sử dụng để thao tác với dữ liệu được lưu trữ trong cơ sở dữ liệu quan hệ. Bạn có thể phân loại các lệnh SQL như sau.

Ngôn ngữ định nghĩa dữ liệu

Ngôn ngữ định nghĩa dữ liệu (DDL) là các lệnh SQL thiết kế cấu trúc cơ sở dữ liệu. Các kỹ sư cơ sở dữ liệu sử dụng DDL để tạo và điều chỉnh các đối tượng cơ sở dữ liệu dựa trên các yêu cầu nghiệp vụ. Ví dụ: kỹ sư cơ sở dữ liệu sử dụng lệnh CREATE để tạo các đối tượng cơ sở dữ liệu như bảng, chế độ xem và chỉ mục.

Ngôn ngữ truy vấn dữ liệu

Ngôn ngữ truy vấn dữ liệu (DQL) bao gồm các lệnh hướng dẫn để truy xuất dữ liệu được lưu trữ trong cơ sở dữ liệu quan hệ. Các ứng dụng phần mềm sử dụng lệnh SELECT để lọc và trả về kết quả cụ thể từ một bảng SQL. 

Ngôn ngữ thao tác dữ liệu

Các câu lệnh ngôn ngữ thao tác dữ liệu (DML) viết thông tin mới hoặc điều chỉnh các bản ghi hiện có trong cơ sở dữ liệu quan hệ. Ví dụ: một ứng dụng sử dụng lệnh INSERT để lưu trữ một bản ghi mới trong cơ sở dữ liệu.

Ngôn ngữ kiểm soát dữ liệu

Quản trị viên cơ sở dữ liệu sử dụng ngôn ngữ kiểm soát dữ liệu (DCL) để quản lý hoặc cấp quyền truy cập cơ sở dữ liệu cho người dùng khác. Ví dụ: họ có thể sử dụng lệnh GRANT để cho phép các ứng dụng nhất định thao tác với một hoặc nhiều bảng. 

Ngôn ngữ kiểm soát giao dịch

Công cụ quan hệ sử dụng ngôn ngữ kiểm soát giao dịch (TCL) để tự động thực hiện các thay đổi đối với cơ sở dữ liệu. Ví dụ: cơ sở dữ liệu sử dụng lệnh ROLLBACK để hoàn tác một giao dịch bị lỗi. 

Tiêu chuẩn SQL là gì?

Tiêu chuẩn SQL là tập hợp các hướng dẫn được quy định chính thức về ngôn ngữ truy vấn có cấu trúc (SQL). Viện tiêu chuẩn quốc gia hoa kỳ (ANSI) và Tổ chức tiêu chuẩn hóa quốc tế (ISO) đã thông qua các tiêu chuẩn SQL vào năm 1986. Nhà cung cấp phần mềm sử dụng các tiêu chuẩn SQL theo ANSI để xây dựng phần mềm cơ sở dữ liệu SQL cho nhiều nhà phát triển.

Hành động đưa SQL vào là gì?

Hành động đưa SQL vào là một hình thức tấn công mạng liên quan đến việc đánh lừa cơ sở dữ liệu bằng các truy vấn SQL. Tin tặc đưa SQL vào để truy xuất, điều chỉnh hoặc phá hoại dữ liệu trong cơ sở dữ liệu SQL. Ví dụ: chúng có thể điền một truy vấn SQL thay vì tên của một người vào trong biểu mẫu gửi đi để thực hiện tấn công đưa SQL vào.

MySQL là gì?

MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ nguồn mở do Oracle cung cấp. Nhà phát triển có thể tải xuống và sử dụng MySQL mà không phải trả phí cấp phép. Họ có thể cài đặt MySQL trên nhiều hệ điều hành hoặc máy chủ đám mây khác nhau. MySQL là một hệ thống cơ sở dữ liệu phổ biến cho các ứng dụng web. 

SQL so với MySQL

Ngôn ngữ truy vấn có cấu trúc (SQL) là một ngôn ngữ tiêu chuẩn để tạo và thao tác với cơ sở dữ liệu. MySQL là một chương trình cơ sở dữ liệu quan hệ sử dụng các truy vấn SQL. Các lệnh SQL được quy định theo tiêu chuẩn quốc tế, còn phần mềm MySQL thì được nâng cấp và cải tiến liên tục.

NoSQL là gì?

NoSQL là cơ sở dữ liệu phi quan hệ không sử dụng bảng để lưu trữ dữ liệu. Nhà phát triển lưu trữ thông tin trong nhiều loại cơ sở dữ liệu NoSQL khác nhau, bao gồm đồ thị, tài liệu và dạng khóa-giá trị. Cơ sở dữ liệu NoSQL rất phổ biến đối với các ứng dụng hiện đại nhờ khả năng thay đổi quy mô theo chiều ngang. Thay đổi quy mô theo chiều ngang tức là tăng khả năng xử lý bằng cách bổ sung thêm nhiều máy tính chạy phần mềm NoSQL.

SQL so với NoSQL

Ngôn ngữ truy vấn có cấu trúc (SQL) cung cấp một ngôn ngữ thao tác dữ liệu thống nhất, tuy nhiên việc triển khai NoSQL lại phụ thuộc vào nhiều công nghệ khác nhau. Nhà phát triển sử dụng SQL cho các ứng dụng giao dịch và phân tích, trong khi NoSQL lại phù hợp cho các ứng dụng phản hồi, thiên về mức sử dụng. 

Máy chủ SQL là gì?

SQL Server là tên chính thức của hệ thống quản lý cơ sở dữ liệu quan hệ của Microsoft có thể thao tác dữ liệu với SQL. MS SQL Server có một số phiên bản và mỗi phiên bản đều được thiết kế dành cho các khối lượng công việc và yêu cầu cụ thể.

AWS hỗ trợ SQL như thế nào?

Microsoft SQL Server trên AWS cho phép các nhà phát triển chạy khối lượng công việc Microsoft SQL trên AWS. Hệ thống cơ sở dữ liệu SQL hoạt động tốt hơn với các tài nguyên điện toán AWS có quy mô linh hoạt. Bằng cách chạy MS SQL trên AWS, các công ty đã nâng cao khả năng sẵn sàng của dịch vụ do AWS có cơ sở hạ tầng toàn cầu rộng lớn nhất trên 24 khu vực. SQL Server trên AWS tích hợp với hơn 230 dịch vụ bảo mật, tuân thủ và quản trị để bảo vệ dữ liệu của bạn khỏi các mối đe dọa từ bên ngoài. AWS hỗ trợ SQL bằng một số cách khác như sau:

Bắt đầu sử dụng SQL Server trên AWS bằng cách đăng ký tài khoản AWS ngay hôm nay.

Các bước tiếp theo để sử dụng SQL trên AWS

Tham khảo các tài nguyên bổ sung liên quan đến sản phẩm
Tham khảo các khóa đào tạo miễn phí về Công cụ dành cho nhà phát triển 
Đăng ký tài khoản miễn phí

Nhận ngay quyền sử dụng bậc miễn phí của AWS. 

Đăng ký 
Bắt đầu xây dựng trong bảng điều khiển

Bắt đầu xây dựng trong AWS Management Console.

Đăng nhập