, October 02, 2022

0 kết quả được tìm thấy

SQL là gì? Ưu điểm, nhược điểm và các câu lệnh trong SQL

  • Đăng bởi  Pum
  •  Jul 29, 2022

  •   12 min reads
SQL là gì? Ưu điểm, nhược điểm và các câu lệnh trong SQL

SQL là gì? Các câu lệnh trong SQL là gì? Các ưu, nhược điểm và ứng dụng của chúng? SQL là gì mà được ứng dụng 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à thuật ngữ được viết tắt từ Structured Query Language, là ngôn ngữ máy tính cơ sở dữ liệu được thiết kế để truy xuất và quản lý dữ liệu trong cơ sở dữ liệu quan hệ.

Nó đượ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 được sử dụng để xử lý dữ liệu có tổ chức bao gồm các thực thể (biến) và mối quan hệ giữa các thực thể khác nhau của dữ liệu.

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.

Lịch sử hình thành SQL

  • 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
  • 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.
  • 1979 Oracle xuất xưởng RDBMS thương mại đầu tiên cho các hệ thống máy tính mini của Digital Equipment Corp.
  • 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.
  • 1986 ANSI ISO công bố chuẩn đầu tiên cho SQL.
  • 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 (XML).
  • 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.

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:

  • SQL giúp người dùng truy xuất dữ liệu từ các hệ thống quản lý cơ sở dữ liệu quan hệ.
  • SQL cũng giúp người dùng mô tả dữ liệu có cấu trúc.
  • SQL cho phép người dùng tạo, thả và thực hiện các thao tác trên cơ sở dữ liệu quan hệ và các bảng của nó.
  • SQL cũng giúp tạo ra chế độ xem, thủ tục lưu trữ và các chức năng khác trong cơ sở dữ liệu quan hệ.
  • SQL cho phép bạn xác định và sửa đổi dữ liệu được lưu trữ trong cơ sở dữ liệu quan hệ.

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 Zettabyte vớ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ì.

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.

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.

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.

Ưu điểm của SQL

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.

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.

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.

Tính linh hoạt

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

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

Language này 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.

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.

Nhược điểm của SQL

Chi phí

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.

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

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.

Các câu lệnh SQL

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.

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:

  • Creat
  • Alter
  • Drop
  • Truncate

Creat

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);  

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;  

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));

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; 

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

  • Insert
  • Update
  • Delete

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"); 

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'  

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";

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:

  • Grant
  • Revoke

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;

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;  

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:

  • Commit
  • Rollback
  • Savepoint

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;  

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;  

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;

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

  • Select

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;  

Lời kết

Hy vọng là bài viết này của 200Lab sẽ giúp bạn có cái nhìn tổng quan hơn về SQL cũng như các ưu, nhược điểm của chúng. Bên cạnh đó, một số lệnh, truy vấn hay gặp được đề cập trong bài viết mong là sẽ hữu ích với bạn.

Nếu bạn có định hướng trở thành Data Analyst chuyên nghiệp thì bạn có thể tham khảo bộ khóa học toàn diện chuyên nghiệp với combo 4 khóa học trong 1 bootcamp của 200Lab tại đây.

Ngoài ra, bạn có thể nhấn vào link này để tham gia vào nhóm và nhận thêm nhiều tài liệu hữu ích khác về Data nhé!

Bài viết liên quan

Master data là gì? Sự khác nhau giữa Master data và Transaction data

Master data là tập hợp các định danh thống nhất và các thuộc tính mở rộng. Nó mô tả các thực thể cốt lõi của doanh nghiệp bao gồm khách hàng,.......

Master data là gì? Sự khác nhau giữa Master data và Transaction data
Danh mục các loại biểu đồ trong Data Visualization

Bạn có thể tìm thấy danh sách các loại biểu đồ, nó sẽ hoạt động như một hướng dẫn đầy hữu ích giúp bạn lựa chọn được biểu đồ phù hợp với nhu cầu của bản thân....

Danh mục các loại biểu đồ trong Data Visualization
Data Analysis with Excel: Analysis ToolPak

Bộ công cụ Analysis ToolPak trên Excel sẽ giúp bạn tiết kiệm thời gian và đơn giản hóa các bước phân tích dữ liệu tài chính, thống kê ....

Data Analysis with Excel: Analysis ToolPak
Data Analysis with Excel: Solver

Excel có một công cụ được gọi là solver cung cấp các lệnh và các tính năng tùy chỉnh để giải quyết các vấn đề quyết định....

Data Analysis with Excel: Solver
Data Analysis with Excel: What-If Analysis

What-If Analysis trong Excel cho phép bạn thử các giá trị (scenarios) khác nhau cho các công thức....

Data Analysis with Excel: What-If Analysis
You've successfully subscribed to 200Lab Blog
Great! Next, complete checkout for full access to 200Lab Blog
Xin chào mừng bạn đã quay trở lại
OK! Tài khoản của bạn đã kích hoạt thành công.
Success! Your billing info is updated.
Billing info update failed.
Your link has expired.