SQL là gì? Ưu & nhược điểm của Structured Query Language

Mục lục

SQL là gì? Các câu lệnh trong Structured Query Language là gì? Các ưu, nhược điểm và ứng dụng của SQL là gì? Vì sao SQL phổ biến ở mọi lĩnh vực? SQL là gì mà lại quan trọng đối với các lập trình viên? Nếu bạn đang có những thắc mắc như vậy, hãy theo dõi bài viết bên dưới của 200Lab để được giải đáp nhé!

SQL là gì?

sql là gì
SQL là gì?

Trước khi bắt đầu học một ngôn ngữ lập trình mới, bạn có thể sẽ tự hỏi: "SQL là gì?". SQL, viết tắt của Structured Query Language, là một ngôn ngữ truy vấn có cấu trúc, phổ biến trong lĩnh vực lưu trữ, xử lý và truy xuất dữ liệu trong cơ sở dữ liệu quan hệ. SQL thường được sử dụng làm ngôn ngữ chuẩn cho các hệ quản trị cơ sở dữ liệu quan hệ.

SQL thực ra được phát âm là 'sequel' nhưng mọi người vẫn chỉ đọc các từ viết tắt là S, Q và L thành SQL.

SQL đóng một vai trò quan trọng trong việc quản lý thông tin trong cơ sở dữ liệu quan hệ, mà tổ chức dữ liệu dưới dạng bảng với các hàng và cột đại diện cho các thuộc tính dữ liệu và mối quan hệ giữa chúng. Bằng cách sử dụng SQL, người dùng có khả năng thực hiện các thao tác như lưu trữ, cập nhật, xóa, tìm kiếm và truy xuất thông tin từ cơ sở dữ liệu. SQL cũng đóng vai trò quan trọng trong việc duy trì và tối ưu hiệu suất của cơ sở dữ liệu.

SQL không chỉ phổ biến trong lĩnh vực quản lý cơ sở dữ liệu mà còn là một ngôn ngữ truy vấn được sử dụng rộng rãi trong đa dạng các ứng dụng. Người làm việc trong lĩnh vực phân tích và phát triển dữ liệu thường cần nắm vững và sử dụng SQL, nhờ vào tính linh hoạt và khả năng tích hợp của nó với nhiều ngôn ngữ lập trình khác.

SQL được phát triển vào năm nào?

sql là gì
Lịch sử hình thành SQL

SQL được phát minh vào năm 1960 nhưng mãi đến năm 1980 mới được ra mắt công chúng. Đây là ngôn ngữ cơ sở dữ liệu được sử dụng để tạo, xóa, tìm nạp và sửa đổi các hàng.

Vì sao ngôn ngữ SQL lại phổ biến trong nhiều ngành nghề?

sql là gì
SQL trở nên phổ biến do đâu

Sau đây là những lý do giải thích tại sao SQL được sử dụng rộng rãi và phổ biến:

Các ứng dụng của Structured Query Language

sql là gì
SQL được ứng dụng vào đâu?

Dữ liệu có mặt ở khắp mọi nơi. Theo Diễn đàn kinh tế thế giới, trong thời đại kỹ thuật số vào năm 2020 sẽ có tới 44 Zettabytevới 1.000.000.000.000.000.000.000 byte dữ liệu.

Lúc này chúng ta sẽ đặt ra câu hỏi, vậy với nguồn dữ liệu khổng lồ như vậy thì sẽ được lưu trữ ở đâu?

Sẽ được lưu trữ trong SQL, nếu không có SQL thì những byte dữ liệu đó sẽ là vô nghĩa. Vậy đâu là những ngành có khối lượng dữ liệu lớn cần duy trì.

1. Ứng dụng SQL trong ngành tài chính

Các ngân hàng đều lưu trữ mọi thông tin giao dịch của khách hàng thông qua hệ thống của họ. Vì thế mà các văn phòng tín dụng sẽ có hồ sơ về các khoản thế chấp, thẻ tín dụng và các khoản vay sinh viên.

Các công ty bảo hiểm cũng lưu giữ hồ sơ về chính sách, thanh toán, khiếu nại và thông tin cá nhân nhạy cảm. Tất cả các dữ liệu này sẽ nằm trong cơ sở dữ liệu được mức bảo mật ở mức cao nhất trong ngôn ngữ SQL.

2. Ứng dụng SQL trong thương mại điện tử (E-commerce)

Khi khách hàng đến mua hàng, nhân viên cửa hàng sẽ thu thập thông tin cá nhân của khách hàng như mô tả sản phẩm cá nhân, tên, số điện thoại, địa chỉ, thời gian mua,...

Các công ty sẽ sử dụng thông tin trong cơ sở dữ liệu như lịch sử mua hàng và sở thích mua sắm của khách hàng để cho ra các ưu đãi khuyến mãi trực tuyến.

3. Ứng dụng SQL trong phương tiện truyền thông xã hội (Social Media)

Mỗi bài đăng trên Facebook, ảnh Instagram hoặc tin nhắn Snapchat sẽ được lưu trữ ở đâu đó. Quá trình truy vấn dữ liệu sẽ yêu cầu SQL.

Nếu không có ngôn ngữ lập trình tiêu chuẩn, sẽ không thể thao tác dữ liệu để trả lời yêu cầu tìm kiếm tùy chỉnh của người dùng.

Facebook hoặc các ứng dụng khác sẽ không thể quảng cáo và đưa ra các khuyến mãi cho đúng đối tượng người dùng được nếu không có cơ sở dữ liệu.

Ba ngành trên chỉ là một phần nhỏ những ngành cần đến cơ sở dữ liệu. Vì cơ sở dữ liệu và nhu cầu về SQL có ở khắp mọi nơi trên thế giới.

SQL Cheat Sheet dành cho người mới

Các điểm của ngôn ngữ SQL

sql là gì
Ưu điểm của SQL

1. Tốc độ cao

Bằng cách sử dụng các truy vấn SQL, người dùng có thể truy xuất nhanh chóng một lượng lớn hồ sơ từ cơ sở dữ liệu.

2. Không cần code

Rất dễ để quản lý các hệ thống cơ sở dữ liệu bằng việc sử dụng SQL chuẩn mà không cần phải viết code.

3. Tiêu chuẩn được xác định rõ

SQL đã được thiết lập từ lâu và được công bố chuẩn đầu tiên bởi ISO và ANSI.

4. Tính linh hoạt

SQL có thể sử dụng trên PC, server và thậm chí là trên smart phone.

5. Ngôn ngữ tương tác

Ngôn ngữ truy vấn cấu trúc dữ liệu có thể được sử dụng để giao tiếp với cơ sở dữ liệu và nhận câu trả lời cho các câu hỏi phức tạp trong vài giây.

6. Multiple data views

Với sự trợ giúp của ngôn ngữ SQL, người dùng có thể tạo các hiển thị khác nhau về cấu trúc cơ sở dữ liệu và cơ sở dữ liệu cho những người dùng khác.

Các nhược điểm của ngôn ngữ SQL

SQL là gì? Ưu & nhược điểm của Structured Query Language
Nhược điểm của SQL

1. Chi phí cao

Chi phí vận hành của một số phiên bản SQL khá cao. Đó là lý do tại sao một số lập trình viên không thể sử dụng SQL được.

2. Giao diện phức tạp

Một bất lợi lớn khác là giao diện của SQL khá là phức tạp, điều này đã gây ra cản trở cho những người dùng SQL trong việc truy cập và quản lý nó.

3. 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 do các quy tắc nghiệp vụ bị ẩn.

Những câu lệnh SQL bạn cần biết

SQL là gì? Ưu & nhược điểm của Structured Query Language
Câu lệnh 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.

Dưới đây là năm loại truy vấn SQL được sử dụng rộng rãi.

1. Ngôn ngữ định nghĩa dữ liệu (Data Definition Language)

Data Definition Language hay còn gọi là ngôn ngữ định nghĩa dữ liệu được viế tắt là DDL.

Được gọi là lệnh định nghĩa dữ liệu vì chúng thay đổi cấu trúc của bảng như tạo bảng, xóa bảng, thay đổi bảng.

Tất cả lệnh của DDL đều được tự động cam kết nghĩa là nó lưu vĩnh viễn tất cả các thay đổi trong cơ sở dữ liệu.

Dưới đây là một số lệnh thuộc DDL:

1.1. Create

Tạo một bảng mới trong cơ sở dữ liệu với cú pháp:

CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);

Ví dụ:

CREATE TABLE EMPLOYEE(Name VARCHAR2(20), Email VARCHAR2(100), DOB DATE);

1.2. Drop

Được sử dụng để xóa toàn bộ một bảng hoặc các đối tượng khác được lưu trữ trong bảng với cú pháp

DROP TABLE table_name;

Ví dụ:

DROP TABLE EMPLOYEE;

1.3. Alter

Được sử dụng để sửa đổi một đối tượng của cơ sở dữ liệu. Thay đổi này có thể là sửa đổi các đặc điểm của một thuộc tính hiện có hoặc thêm một thuộc tính mới.

Cú pháp: thêm một cột mới vào bảng

ALTER TABLE table_name ADD column_name COLUMN-definition;

Để sửa đổi cột hiện có trong bảng, sử dụng cú pháp:

ALTER TABLE table_name MODIFY(column_definitions....);

Ví dụ:

ALTER TABLE STU_DETAILS ADD(ADDRESS VARCHAR2(20)); ALTER TABLE STU_DETAILS MODIFY (NAME VARCHAR2(20));

1.4. 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.

TRUNCATE TABLE table_name;

Ví dụ:

TRUNCATE TABLE EMPLOYEE;

2. Ngôn ngữ thao tác dữ liệu (Data Manipulation Language)

Data Manipulation Language hay còn gọi là ngôn ngữ thao tác dữ liệu thường được viết tắt là DML.

Được sử dụng để sửa đổi cơ sở dữ liệu trong các 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 với các lệnh DDL.

Dưới đây là một số lệnh thuộc DML:

2.1. Insert

Tạo một bảng ghi với cú pháp

INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN);

Hoặc

INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);

Ví dụ

INSERT INTO javatpoint (Author, Subject) VALUES ("Sonoo", "DBMS");

2.2. Update

Cập nhật hoặc sửa đổi giá trị của một cột trong bảng với cú pháp

UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]

Ví dụ

UPDATE students SET User_Name = 'Sonoo' WHERE Student_Id = '3'

2.3. Delete

Xóa bảng ghi với cú pháp

DELETE FROM table_name [WHERE condition];

Ví dụ

DELETE FROM javatpoint WHERE Author="Sonoo";

3. Ngôn ngữ điều khiển dữ liệu (Data Control Language)

Data Control Language hay còn gọi là ngôn ngữ điều khiển dữ liệu thường được viết tắt là DCL.

Được sử dụng để cấp hoặc thu hồi đặc quyền truy cập người dùng.

Dưới đây là một số lệnh thuộc DML:

3.1. Grant

Cung cấp một quyền cho người dùng với ví dụ sau

GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;

3.2. Revoke

Lấy lại các quyền được cấp từ người dùng với ví dụ sau:‌

REVOKE SELECT, UPDATE ON MY_TABLE FROM USER1, USER2;

4. Ngôn ngữ kiểm soát giao dịch (Transaction Control Language)

Transaction Control Language hay còn gọi là ngôn ngữ kiểm soát giao dịch thường được viết tắt là TCL.

Được sử dụng để thay đổi trạng thái của một số dữ liệu. Ví dụ, để commit các thay đổi giao dịch hoặc thay đổi giao dịch rollback.

Dưới đây là một số lệnh thuộc TCL:

4.1. Commit

Được sử dụng để lưu tất cả các giao dịch vào cơ sở dữ liệu với cú pháp

COMMIT;

Ví dụ

DELETE FROM CUSTOMERS WHERE AGE = 25; COMMIT;

4.2. Rollback

Được sử dụng để hoàn tác các giao dịch chưa được lưu vào cơ sở dữ liệu với cú pháp

ROLLBACK;

Ví dụ

DELETE FROM CUSTOMERS WHERE AGE = 25; ROLLBACK;

4.3. Savepoint

Được sử dụng để 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 với cú pháp

SAVEPOINT SAVEPOINT_NAME;

5. Ngôn ngữ truy vấn dữ liệu (Data Query Language)

Data Query Language hay còn gọi là ngôn ngữ truy vấn dữ liệu thường được viết tắt là DQL.

DQL chỉ bao gồm một lệnh, chọn, được sử dụng để lấy dữ liệu cụ thể từ các bảng. Lệnh này đôi khi được nhóm lại với các lệnh DML.

Tất cả lệnh của DDL đều được tự động cam kết nghĩa là nó lưu vĩnh viễn tất cả các thay đổi trong cơ sở dữ liệu. Nó chỉ sử dụng một lệnh:

5.1. Select

Được sử dụng để chọn thuộc tính dựa trên điều kiện được mô tả bởi mệnh đề WHERE với cú pháp

SELECT expressions FROM TABLES WHERE conditions;

Ví dụ

SELECT emp_name FROM employee WHERE age > 20;
SQL Server là gì? Hướng dẫn cài đặt SQL Server 2019

Hy vọng rằng những chia sẻ của 200Lab có thể giúp bạn hiểu rõ hơn về ngôn ngữ SQL - Structured Query Language. Bên cạnh đó, bạn cũng có thể cập nhật kiến thức cơ bản về các câu lệnh thường gặp trong SQL, cũng như lịch sử hình thành thú vị của ngôn ngữ này.

Con đường trở thành Data Analyst không đơn giản nhưng cũng đỡ vất vả hơn với sự đồng hành của 200Lab. Đừng quên theo dõi trang Blog của 200Lab để học hỏi thêm nhiều thông tin hữu ích và tìm đọc các bài viết có liên quan nữa nhé!

Bạn đã bắt đầu học SQL hay chưa?

Một vài bài viết có thể bạn sẽ thích:

Link nội dung: https://khangdienreal.vn/ngon-ngu-co-so-du-lieu-duoc-su-dung-pho-bien-hien-nay-a42008.html