Tin tức & Sự kiện
Blog

Ngôn ngữ SQL là gì? Điều cần biết về ngôn ngữ SQL cơ bản

time 16 tháng 11, 2023

Ngôn ngữ có cấu trúc SQL là loại ngôn ngữ truy vấn phổ biến hiện nay. Vậy SQL là gì, được ứng dụng trong những trường hợp nào, hãy cùng Elcom tìm hiểu trong bài viết này.

Ngôn ngữ truy vấn có cấu trúc (SQL - Structured Query Language) ra đời từ những năm 1970, được sử dụng nhằm mục đích lưu trữ vào quản lý dữ liệu. Đối với lập trình viên, khả năng hiểu và sử dụng được ngôn ngữ SQL vô cùng quan trọng.

1. SQL là gì?

Ngôn ngữ SQL là ngôn ngữ lập trình được tiêu chuẩn hóa, sử dụng để quản lý cơ sở dữ liệu quan hệ (RDBMS - Relational database management systems) và thực hiện những hoạt động khác nhau trên dữ liệu trong đó.

Dù ra đời đã lâu, tới nay, ngôn ngữ SQL cơ bản không chỉ được sử dụng thường xuyên bởi các quản trị viên cơ sở dữ liệu (CSDL) mà nhiều nhà phát triển vẫn sử dụng nó viết tập lệnh tích hợp dữ liệu và các nhà phân tích dữ liệu đang tìm cách thiết lập, cũng như chạy truy vấn phân tích.

Xem thêm bài viết: Truy vấn cơ sở dữ liệu đóng vai trò gì trong quản lý cơ sở dữ liệu?

SQL được sử dụng cho mục đích sau:

  • Sửa đổi cấu trúc bảng CSDL và chỉ mục;

  • Thêm, cập nhật và xóa các dòng dữ liệu;

  • Truy xuất tập hợp thông tin từ bên trong hệ thống quản lý. Thông tin này có thể được sử dụng trong xử lý giao dịch, ứng dụng phân tích và những ứng dụng khác yêu cầu giao tiếp với RDBMS.

Truy vấn SQL và các hoạt động khác được viết dưới dạng câu lệnh, tổng hợp thành chương trình cho phép người dùng thêm, sửa đổi hoặc truy xuất dữ liệu từ bảng CSDL.

Index trong SQL là gì?

Index (hay chỉ mục) là một cấu trúc dữ liệu để tăng hiệu suất truy vấn của cơ sở dữ liệu. Index cho phép CSDL thực hiện một số câu truy vấn có điều kiện nhanh hơn thông thường. Nhưng index cũng được lưu trên bộ nhớ và tiêu tốn không gian cũng như thời gian để tạo, cập nhật nên khi sử dụng index cần tính toán kỹ lưỡng.

2. Hệ thống SQL gồm những thành phần gì?

Hệ thống quản lý RDBMS 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 bao gồm thành phần như sau:

Bảng SQL

Bảng là đơn vị cơ bản nhất của CSDL, bao gồm các hàng và cột dữ liệu. Một bảng duy nhất chứa nhiều bản ghi, mỗi bản được lưu trữ trong một hàng. Bảng là loại đối tượng/cấu trúc CSDL được sử dụng nhiều nhất để chứa hoặc tham chiếu dữ liệu trong RDBMS. Những đối tượng CSDL khác bao gồm:

  • Chế độ xem: Cách biểu diễn logic dữ liệu tập hợp từ một hoặc nhiều bảng.

  • Chỉ mục: Bảng tra cứu giúp tăng tốc chức năng tìm kiếm trong CSDL.

  • Báo cáo: Bao gồm dữ liệu được truy xuất từ ​​một hoặc nhiều bảng, thường là tập hợp con của dữ liệu đó, được chọn dựa trên tiêu chí tìm kiếm.

Mỗi cột trong bảng tương ứng với một danh mục dữ liệu, ví dụ như tên hoặc địa chỉ khách hàng, trong khi mỗi hàng chứa một giá trị dữ liệu cho cột giao nhau.

RDBMS bao gồm các bảng có liên quan với nhau. Ví dụ: CSDL SQL được sử dụng cho dịch vụ khách hàng có thể bao gồm một bảng tên và địa chỉ của khách hàng, bảng khác chứa thông tin giao dịch mua hàng cụ thể, mã sản phẩm và địa chỉ liên hệ của khách hàng.

Bảng theo dõi thông tin liên hệ khách hàng thường sử dụng mã định danh khách hàng duy nhất, gọi là khóa (key) hoặc khóa chính (primary key), để tham chiếu bản ghi của khách hàng trong một bảng riêng lưu trữ dữ liệu, chẳng hạn như tên, địa chỉ,...


Bảng là đơn vị cơ bản nhất của cơ sở dữ liệu - Ảnh: Internet

Câu lệnh SQL

Về cơ bản, SQL là ngôn ngữ lập trình được thiết kế để truy cập, sửa đổi và trích xuất thông tin từ cơ sở dữ liệu quan hệ. SQL có lệnh và cú pháp để đưa ra các lệnh đó.

Lệnh SQL được chia thành nhiều loại khác nhau, bao gồm:

  • Lệnh Ngôn ngữ định nghĩa dữ liệu (DDL - Data Definition Language), còn được gọi là lệnh định nghĩa dữ liệu vì chúng được sử dụng để xác định bảng dữ liệu.

  • Lệnh Ngôn ngữ thao tác dữ liệu (DML - Data Manipulation Language) được sử dụng để thao tác dữ liệu trong bảng hiện có bằng cách thêm, thay đổi hoặc xóa dữ liệu. Không giống như lệnh DDL xác định cách lưu trữ dữ liệu, lệnh DML hoạt động trong các bảng được xác định bằng lệnh DDL.

  • Ngôn ngữ truy vấn dữ liệu (Data Query Language) chỉ bao gồm một lệnh “SELECT”, sử dụng để lấy dữ liệu cụ thể từ bảng. Lệnh này đôi khi được nhóm với các lệnh DML.

  • Lệnh Ngôn ngữ kiểm soát dữ liệu (Data Control Language) sử dụng để cấp hoặc thu hồi đặc quyền truy cập của người dùng.

  • Lệnh Ngôn ngữ kiểm soát giao dịch (Transaction Control Language) sử dụng để thay đổi trạng thái của một số dữ liệu. Ví dụ: COMMIT (CAM KẾT) hoặc ROLLBACK (HỦY) thay đổi giao dịch.

Cú pháp SQL

Cú pháp SQL là tập hợp các quy tắc về cách viết và định dạng câu lệnh SQL, tương tự như những ngôn ngữ lập trình khác. Một số thành phần của cú pháp SQL bao gồm:

- Các câu lệnh SQL bắt đầu bằng lệnh SQL (SQL command) và kết thúc bằng dấu chấm phẩy ( ; ), ví dụ: Câu lệnh trích xuất tất cả nội dung của bảng có tên là “Customer”:

SELECT * FROM customers;

- Các câu lệnh SQL không phân biệt chữ hoa chữ thường, nghĩa là chúng có thể được viết bằng chữ thường, chữ hoa hoặc kết hợp. Tuy nhiên, theo thông lệ, người ta thường viết từ khóa SQL (lệnh hoặc toán tử điều khiển) bằng chữ in hoa toàn bộ và tên bảng/cột bằng chữ thường. Từ ngữ trong câu lệnh có thể phân biệt chữ hoa chữ thường bằng cách sử dụng dấu ngoặc kép.

Ví dụ, hai câu lệnh sau đây tạo ra kết quả giống hệt nhau:

SELECT * FROM customers;

select * from CUSTOMERS;

Nhưng hai câu lệnh sau đây lại khác nhau:

SELECT * FROM customers;

SELECT * FROM "Customers";

- Các câu lệnh SQL chỉ được kết thúc bằng dấu chấm phẩy, nghĩa là những câu lệnh phức tạp có thể được hiển thị trên nhiều dòng, chẳng hạn, lệnh chọn nội dung cột tên, số điện thoại và tuổi trong bảng khách hàng:

SELECT name, telephone, age

FROM customers;

- Câu lệnh SQL có thể kết hợp quyền chỉ huy luồng chương trình, nghĩa là câu lệnh kết hợp việc chọn bảng và hàng như trong ví dụ trước, rồi thao tác trên dữ liệu có trong các cột đó. Ví dụ: Lệnh chọn tên, số điện thoại và ngày sinh cho tất cả khách hàng có độ tuổi trên 21:

SELECT name, telephone, age

FROM customers

WHERE age > 21;

3. Ví dụ về câu lệnh SQL thường được sử dụng

Hầu hết lệnh SQL được sử dụng cùng với các toán tử để sửa đổi hoặc giảm phạm vi dữ liệu mà câu lệnh vận hành. Dưới đây là một số ví dụ về lệnh SQL thường được sử dụng:

SQL SELECT

Lệnh SELECT sử dụng để lấy một số hoặc tất cả dữ liệu trong bảng. SELECT có thể được sử dụng với các toán tử để thu hẹp lượng dữ liệu được chọn:

SELECT title, author, pub_date

FROM catalog

WHERE pub_date = 2021;

SQL CREATE

Lệnh CREATE được sử dụng để tạo cơ sở dữ liệu SQL hoặc bảng SQL mới. Hầu hết các phiên bản SQL đều tạo CSDL mới bằng cách tạo một thư mục mới, trong đó bảng và những đối tượng cơ sở dữ liệu khác được lưu trữ dưới dạng tệp.

Ví dụ, câu lệnh CREATE DATABASE tạo một CSDL SQL mới có tên “Human_Resources”:

CREATE DATABASE Human_Resources;

Lệnh CREATE TABLE được sử dụng để tạo bảng trong SQL. Câu lệnh tạo một bảng tên nhân viên có ba cột: “member_ID”, “Last_name” và “First_name”, với cột đầu tiên lưu trữ dữ liệu số nguyên (int) và các cột khác lưu trữ dữ liệu ký tự biến đổi thuộc loại varchar và tối đa 255 ký tự.

CREATE TABLE Employees (

    employee_ID int,

    last_name varchar(255),

    first_name varchar(255)

);

TẠO BẢNG Nhân viên ( 

    nhân viên_ID int, 

    họ_varchar(255), 

    first_name varchar(255) 

);

SQL DELETE

Lệnh DELETE xóa các hàng khỏi bảng được đặt tên. Ví dụ, xóa tất cả hồ sơ của nhân viên có họ “Smithee”, câu lệnh này trả về số hàng bị xóa khi nó chạy xong:

DELETE FROM Employees WHERE last_name='Smithee';

SQL INSERT INTO

Lệnh INSERT INTO được sử dụng để thêm bản ghi vào bảng cơ sở dữ liệu. Câu lệnh thêm một bản ghi mới “Alan”, “Smithee” vào bảng “Employees” như sau:

INSERT INTO Employees (

    last_name,

    first_name

)

VALUES (

    'Alan',

    'Smithee'

);

SQL UPDATE

Lệnh UPDATE được sử dụng để thực hiện thay đổi đối với các hàng hoặc bản ghi trong một bảng cụ thể. Ví dụ: câu lệnh sau cập nhật tất cả bản ghi bao gồm giá trị “last_name” của “Smithee” bằng cách đổi tên thành “Smith”:

UPDATE Employees

SET last_name = 'Smith',

WHERE last_name = 'Smithee';

Câu lệnh SQL có thể sử dụng vòng lặp, biến và các thành phần khác của ngôn ngữ lập trình để cập nhật bản ghi dựa trên những tiêu chí khác nhau.


Sử dụng câu lệnh SQL theo những mục đích khác nhau - Ảnh: Internet

4. Lợi ích khi sử dụng SQL

Cơ sở dữ liệu quan hệ mang lại nhiều lợi ích và là lựa chọn ưa thích cho doanh nghiệp nhờ:

Tính linh hoạt cao hơn

Với SQL là ngôn ngữ lập trình tiêu chuẩn, cơ sở dữ liệu quan hệ tận dụng DDL của nó để sửa đổi lược đồ một cách liền mạch trong thời gian thực. Nó cho phép người dùng thêm bảng và cột mới, thay đổi mối quan hệ,... ngay lập tức mà không làm gián đoạn bất kỳ hoạt động nào của cơ sở dữ liệu.

Tính nhất quán dữ liệu tốt hơn

Cơ sở dữ liệu SQL duy trì tính nhất quán dữ liệu một cách hiệu quả trên ứng dụng và phiên bản máy chủ cơ sở dữ liệu SQL. Các loại cơ sở dữ liệu khác gặp khó khăn trong việc duy trì tính nhất quán theo thời gian thực cho khối lượng dữ liệu lớn. Các ứng dụng xử lý giao dịch kinh doanh quan trọng có thể dựa vào cơ sở dữ liệu quan hệ để duy trì tính nhất quán của dữ liệu.

Dự phòng tối thiểu

RDBMS giảm dư thừa dữ liệu nhờ triển khai chuẩn hóa. Thông qua quá trình này, dữ liệu được tổ chức để loại bỏ bất thường liên quan đến việc chèn, cập nhật và xóa dữ liệu.

Tối ưu hóa hiệu suất

Với một loạt tính năng giá trị gia tăng (VAS), RDBMS đảm bảo thực hiện các hoạt động cơ sở dữ liệu một cách dễ dàng và nhanh chóng. Tối ưu sử dụng bộ nhớ, giảm chi phí lưu trữ và xử lý tốc độ cao giúp tăng hiệu suất cơ sở dữ liệu cho tất cả ứng dụng.

Dễ bảo trì

Công cụ tự động hóa tích hợp trong hệ thống RDBMS giúp hợp lý hóa việc sửa chữa, kiểm soát và bảo trì cơ sở dữ liệu SQL. Nó giúp quản trị viên và kỹ thuật viên dễ dàng hơn trong việc duy trì, cũng như cập nhật cơ sở dữ liệu một cách chủ động.

Ngoài ra, việc sử dụng thêm công cụ bên ngoài để giám sát cơ sở dữ liệu SQL có thể mang lại cơ hội quản lý theo cách tùy chỉnh cho từng tổ chức sử dụng cơ sở dữ liệu.

5. Kỹ năng SQL và nghề nghiệp liên quan

Kỹ năng SQL được vận dụng cho nhiều nghề nghiệp, không chỉ nghề quản trị viên cơ sở dữ liệu, kiến ​​trúc sư kho dữ liệu, lập trình viên và những người khác có vai trò trực tiếp sử dụng SQL như nhà khoa học dữ liệu, nhà phân tích kinh doanh, nhà phân tích dữ liệu, kỹ sư đám mây,...

Với tuổi thọ và tầm quan trọng đối với rất nhiều ứng dụng khác nhau, việc học ngôn ngữ SQL cơ bản, thậm chí nâng cao có thể là một mục tiêu nghề nghiệp quan trọng.

Nguồn tham khảo:

https://www.techtarget.com/searchdatamanagement/definition/SQL


Data Lakehouse là gì? Sự khác biệt so với Data Warehouse và Data Lake
Data Lakehouse là gì? Sự khác biệt so với Data Warehouse và Data Lake
time 25/11/2024
Data Lakehouse (Hồ dữ liệu tích hợp) là giải pháp kiến trúc dữ liệu hiện đại, giúp doanh nghiệp lưu trữ linh hoạt, giảm chi phí và tối ưu phân tích dữ liệu trong kỷ nguyên chuyển đổi số.
Blockchain là gì? Điểm mạnh của Blockchain (Chuỗi khối)
Blockchain là gì? Điểm mạnh của Blockchain (Chuỗi khối)
time 16/08/2024
Một khi dữ liệu đã được mạng Blockchain (Chuỗi khối) chấp nhận, sẽ không cách nào thay đổi được. Cụ thể, chuỗi khối là gì? Hãy cùng tham khảo trong bài viết này.
Ví Blockchain là gì? Ví blockchain nào tốt nhất?
Ví Blockchain là gì? Ví blockchain nào tốt nhất?
time 09/08/2024
Ví blockchain là một trong những dạng ví tiền điện tử có độ bảo mật cao nhất. Vậy ví blockchain là gì? Loại ví blockchain nào tốt nhất?
10 ứng dụng nổi bật của công nghệ Blockchain trong thực tiễn
10 ứng dụng nổi bật của công nghệ Blockchain trong thực tiễn
time 08/08/2024
Không chỉ hoạt động hiệu quả với Bitcoin và các loại tiền điện tử khác, công nghệ Blockchain (Chuỗi khối) còn được ứng dụng trong nhiều ngành công nghiệp khác.
Ý nghĩa của trí tuệ nhân tạo với ngành Y tế - Chăm sóc sức khỏe
Ý nghĩa của trí tuệ nhân tạo với ngành Y tế - Chăm sóc sức khỏe
time 07/08/2024
Trí tuệ nhân tạo (AI) tạo ra tác động lớn trong lĩnh vực chăm sóc sức khỏe, đặc biệt là sau thời kỳ dịch bệnh Covid-19. Ứng dụng công nghệ AI trong y tế đã từng là giấc mơ, nhưng nó đang dần được hiện thực hóa.