Structured query language là gì

  • Techblog
  • Kiến thức cơ bản

Trong hệ thống thông tin, có hàng triệu điểm dữ liệu được tạo ra mỗi phút. Các nhà lập trình viên trích xuất để phân tích chúng bằng cách sử dụng ngôn ngữ SQL với các cú pháp tương đối dễ hiểu. Vậy SQL là gì và các cú pháp mà developer sử dụng để truy vấn dữ liệu là gì? Hãy cùng Bizfly Cloud tìm hiểu chi tiết qua bài viết dưới đây và áp dụng vào quá trình làm việc với cơ sở dữ liệu nhé!

SQL là gì?

SQL là một khái niệm vốn đã quen thuộc với người làm công nghệ nhờ những ưu điểm vượt trội mà nó mang lại. Tuy nhiên nhiều người mới tìm hiểu về hệ thống cơ sở dữ liệu và cơ sở máy tính vẫn chưa hiểu SQL là gì. SQL [Structured Query Language] hay còn được gọi là ngôn ngữ truy vấn cấu trúc, một công cụ quan trọng với các chuyên gia phân tích dữ liệu. Đây là một trong những ngôn ngữ quan trọng nhất để bạn tìm kiếm việc làm trong lĩnh vực phân tích hay nghiên cứu về khoa học dữ liệu.

SQL là ngôn ngữ chuẩn nhất để trích xuất hoặc tổ chức dữ liệu được lưu trữ trong cơ sở data quan hệ. Nó tạo điều kiện để nhà phân tích có thể truy xuất thông tin cụ thể từ cơ sở dữ liệu trên nhiều nền tảng. Ngay cả khi phân tích trên Python hoặc R, SQL cũng được sử dụng để truy vấn data từ hệ thống của công ty. Ngôn ngữ data này quản lý một lượng lớn dữ liệu đặc biệt là những thông tin được ghi đồng thời và có nhiều giao dịch.

SQL đã được Donald Chamberlin và Raymond Boyce phát triển phiên bản đầu tiên vào năm 1970. Hiện nay có nhiều hệ thống quản lý data quan hệ như MS Access, MySQL, Oracle, Postgres, SQL Server,... Trong đó, giải pháp mã nguồn mở MySQL là phổ biến hơn cả. Nó tạo điều kiện để phát huy vai trò của SQL trong quá trình backend ứng dụng web.

SQL dùng để trích xuất hoặc tổ chức dữ liệu được lưu trữ trong cơ sở data quan hệ

Lý do nên sử dụng SQL? 

Ở phần trên, ta đã biết SQL là gì, trong phần này, Bizfly Cloud sẽ giúp bạn tìm hiểu những lợi ích mà SQL mang lại. Ngôn ngữ dữ liệu này đa mục đích sử dụng và đặc biệt hữu ích cho các nhà phân tích và nghiên cứu về khoa học dữ liệu.

  • SQL cho phép thực hiện các phép truy vấn và lấy data từ cơ sở dữ liệu. Chỉ cần có các thao tác cơ bản là bạn đã có thể lấy được dữ liệu cụ thể theo yêu cầu của người dùng chính xác và hiệu quả.
  • Thực hiện các thao tác mô tả/chèn/cập nhật/xóa bản ghi khỏi các cơ sở data hoặc tạo dữ liệu trong bản ghi mới. Thao tác dễ dàng, nhanh chóng hơn bao giờ hết chỉ với những lệnh đơn giản. Ví dụ, nếu bạn cần thông tin của người dùng với email có chứa đuôi "gmail", bạn chỉ cần chạy lệnh "mysql> select * from users where email like "%gmail%".
  • Cho phép người dùng đặt các chế độ xem, chức năng, quyền trên bảng và thủ tục lưu trữ trong hệ thống cơ sở dữ liệu.
  • Quản lý hiệu quả, truy vấn các dữ liệu nhanh chóng, bảo trì và bảo mật thông tin một cách an toàn và dễ dàng hơn.

SQL cho phép thực hiện các phép truy vấn và lấy data từ cơ sở dữ liệu

Hơn thế nữa, việc sử dụng được SQL còn mang đến cơ hội việc làm tốt phát triển sự nghiệp cho các SQL Developer và Database Developer. Hiện nay, người học SQL có thể phát triển theo hai hướng là thiên về kỹ thuật hoặc hướng thiên về quản lý.

  • Hướng thiên về kỹ thuật có khá nhiều cơ hội rộng mở với đa dạng vai trò. Bạn có thể trở thành Data Architect thiết kế các cơ sở dữ liệu cho doanh nghiệp. Hay Data Scientist là một công việc đang khát nhân lực có trình độ cao trong tương lai, đặc biệt là khi AI và BigData trở nên phát triển hơn. Bên cạnh đó, để phát triển nghề nghiệp theo hướng này, các developer cũng cần có thêm các kỹ năng khác như xác suất thống kê, ngôn ngữ lập trình Python bên cạnh am hiểu và thành thạo SQL.
  • Hướng thiên về quản lý cơ sở dữ liệu thường có hai mảng chính là Business Analyst hoặc Project Manager.

Cách SQL hoạt động

SQL có vai trò đặc biệt quan trọng trong hệ thống cơ sở dữ liệu như vậy nên hầu như các công ty lớn hiện nay đều sử dụng ngôn ngữ lập trình này. Nhiều công ty công nghệ hàng đầu hiện nay như Facebook, Instagram, Whatsapp,... cũng đang sử dụng SQL để lưu trữ và xử lý dữ liệu backend. SQL sẽ xử lý một truy vấn [thường là dạng viết dưới dạng phân tích cú pháp] từ người dùng thông qua các trình tối ưu hoá. Truy vấn sẽ được xử lý qua ba giai đoạn chính là:

  • Phân tích cú pháp là quá trình kiểm tra cú pháp truy vấn đã đúng chưa.
  • Ràng buộc là quy trình kiểm tra ngữ nghĩa của truy vấn đảm bảo tính chính xác và xác định dữ liệu một cách hiệu quả nhất.
  • Quá trình tối ưu hoá là tạo các kế hoạch triển khai và thực hiện truy vấn quan trọng để trích xuất cơ sở dữ liệu từ hệ thống. Trong bước này, người dùng có thể tạo ra toàn bộ hoán vị và kết hợp để tìm ra phương án thực hiện truy vấn tối ưu nhất. Thời gian càng ngắn thì truy vấn càng hiệu quả và kết quả càng khả quan.

SQL đặc biệt quan trọng trong hệ thống cơ sở dữ liệu, giúp lưu trữ và xử lý dữ liệu backend

Một số câu lệnh SQL hay dùng 

Bên cạnh quy trình hoạt động, nhiều người dùng mới cũng băn khoăn về vấn đề các câu lệnh thường dùng trong SQL là gì. Có một số lệnh căn bản mà developer có thể thực hiện với cơ sở dữ liệu quan hệ như CREATE, SELECT, INSERT, UPDATE, DELETE và DROP. Dựa trên bản chất của từng lệnh mà chúng được chia thành các nhóm lệnh khác nhau.

Đầu tiên là nhóm Ngôn ngữ dữ liệu Data Definition Language [DDL]. Nhóm này bao gồm 3 lệnh cơ bản là CREATE, ALTER và DROP:

  • Lệnh CREATE cho phép người dùng tạo ra một bảng mới hoặc các đối tượng khác trong cơ sở dữ liệu mà bạn đang thao tác.
  • Lệnh ALTER cho phép sử đổi đối tượng cơ sở dữ liệu bất kỳ trong cơ sở dữ liệu hiện có như một bảng biểu cụ thể.
  • Lệnh DROP cho phép developer xóa toàn bộ bảng hay các đối tượng khác trong cơ sở dữ liệu đang thao tác.

Nhóm thứ hai là Ngôn ngữ thao tác dữ liệu Data Manipulation Language [DML]. Nó gồm 4 lệnh cơ bản dưới đây:

  • Lệnh SELECT cho phép trích xuất các bản ghi cụ thể từ một hay nhiều bảng khác nhau.
  • Lệnh INSERT cho phép người dùng tạo ra một bản ghi mới trong cơ sở dữ liệu hệ thống.
  • Lệnh UPDATE cho phép chỉnh sửa các thông tin, bản ghi trong cơ sở dữ liệu.
  • Lệnh DELETE cho phép xoá bản ghi khỏi cơ sở dữ liệu hệ thống.

Nhóm cuối cùng là Ngôn ngữ điều khiển dữ liệu Data Control Language [DCL]. Đặc điểm của nhóm là cho phép người dùng thực hiện các quyền để xử lý cơ sở dữ liệu hệ thống. Nó gồm 2 lệnh cơ bản là GRANT và REVOKE.

  • Lệnh GRANT cung cấp cho người dùng một quyền cụ thể nào đó để thực hiện điều khiển cơ sở dữ liệu.
  • Lệnh REVOKE lấy lại các quyền được cấp cho người dùng trước đó.

Những cú pháp truy vấn hay dùng với SQL 

Ở các phần trên, ta đã biết SQL là gì và các lệnh cơ bản thường thấy trong cơ sở dữ liệu. Tiếp theo, Bizfly Cloud sẽ cung cấp cho bạn một số cú pháp truy vấn dữ liệu đơn giản với cơ sở dữ liệu có sử dụng ngôn ngữ SQL.

  • Thuật toán sử dụng mệnh đề AND OR cần sự kết hợp của nhiều điều kiện khác nhau trong ngôn ngữ SQL. Để tạo ra thuật toán này, bước đầu tiên là tạo cú pháp SELECT cot1, cot2, cotN. Tiếp đó, bạn tạo FROM ten_bang và cuối cùng là WHERE [dieu_kien_1] AND [dieu_kien_2]... AND [dieu_kien_N].
  • Cú pháp có sử dụng mệnh đề WHERE để tương tác với cơ sở dữ liệu hệ thống. Cú pháp này được thực hiện khi bạn muốn xác định điều kiện để lấy một số dữ liệu trong bảng. Bước 1, hãy tạo cú pháp SELECT cot1, cot 2, cotN. Bước hai, bạn gõ FROM ten_bang và hoàn tất bằng cú pháp WHERE [dieu_kien].
  • Mệnh đề Distinct được tạo ra bằng cách thực hiện lần lượt các thao tác sau: SELECT DISTINCT cot1, cot2,.... cotN; FROM ten_bang và cuối cùng là WHERE [dieu_kien].
  • Mệnh đề Group By được sử dụng trong SQL với một số cú pháp khá phức tạp. Bước 1, bạn tạo ra cú pháp SELECT cot1, cot2 sau đó tạo FROM ten_bang. Tiếp đó, bấm WHERE [dieu_kien] và GROUP BY cot1, cot2. Cuối cùng kết thúc bằng cú pháp ORDER BY cot1, cot2.
  • Mệnh đề ORDER BY được tạo ra để truy xuất thông tin về ngôn ngữ SQL. Bước đầu tiên, bạn tạo cú pháp SELECT danh_sach_cot. Sau đó lần lượt bấm FROM ten_bang và [WHERE dieu_kien]. Cuối cùng là [ORDER BY cot1, cot2, ...cotN] [ASC | DESC].
  • Cú pháp truy vấn Select để xác định các cột giá trị mà bạn muốn lấy trong bảng. Bạn chỉ cần nhập SELECT cot1, cot2, cotN FROM ten_bang. Muốn xác định thao tác của các cột, nhập SELECT * FROM ten_bang.
  • Truy vấn INSERT sử dụng ngôn ngữ SQL để xác định các cột chèn dữ liệu. Bạn nhập cú pháp sau INSERT INTO TABLE_TEN [cot1, cot2, cot3, …cotN] VALUES [giaitri1, giaitri2, giaitri3, …giaitriN]. Muốn thực hiện thao tác trên tất cả các cột, bạn chỉ cần nhập INSERT INTO TABLE_TEN VALUES [giaitri1, giaitri2, giaitri3, ...giaitriN].
  • Cú pháp truy vấn Update trong cơ sở dữ liệu có sử dụng ngôn ngữ SQL được tạo ra bằng cách nhập lần lượt UPDATE: ten_bang; SET cot1=giaitri1, cot2=giaitri2, cotN=giaitriN và cuối cùng là WHERE [dieu_kien].

SQL làm việc với các bảng dữ liệu 

Trong phần cuối của bài viết, SQL sẽ giúp bạn hiểu rõ hơn cách thức làm việc với các bảng dữ liệu của SQL là gì nhé! Mỗi mệnh đề nối trong ngôn ngữ SQL cũng giống như một phép nối trong quan hệ toán đại số. Nó kết hợp nhiều cột từ một hoặc một số bảng khác nhau của cơ sở dữ liệu quan hệ và tạo nên một tập hợp được lưu dưới dạng bảng. Mỗi JOIN là một phương tiện để để người dùng kết hợp các cột bằng cách sử dụng giá trị chung.

JOINS giúp bạn hoàn thành nhiều hoạt động liên quan tới cơ sở dữ liệu phức tạp. Đồng thời, bạn sẽ có nhiều lợi thế hơn khi sở hữu khả năng thao tác với các truy vấn JOIN với độ chính xác cao. Có 4 JOIN chính để kết hợp dữ liệu là JOIN INNER, JOIN chỗ nối bên trái, JOIN đúng và JOIN đầy đủ. THAM GIA là một lệnh SQL của mệnh đề FROM trong các truy vấn mà bạn đang sử dụng để xác định bảng bạn truy cập. Có một số khóa chính và khoá ngoại mà bạn cần nắm được trước khi nối các bảng:

  • Phím chính là những mã định danh duy nhất của mỗi hàng trong bảng và rất phổ biến với cơ sở dữ liệu có một cột là Id [customerID, emailID, EmployeeID] được chỉ định làm khóa chính.
  • Phím ngoại là các cột trong bảng được chỉ định kết nối với khóa chính trong bảng khác.

Nếu bạn muốn có một bảng chỉ có những người dùng đã thực hiện hành động, kết nối bên trong sẽ kết hợp các cột trên một thứ nguyên chung [N cột đầu tiên]. Khi bạn muốn có một bảng chứa toàn bộ dữ liệu của người dùng và chỉ hành động mà họ đã thực hiện, bạn sử dụng kết nối trái để nối bảng lại với nhau. Phép nối này sẽ kết hợp các cột trên một thứ nguyên chung [N cột đầu tiên]. Đồng thời trả về toàn bộ hàng từ bảng đầu tiên với các hàng phù hợp trong bảng liên tiếp.

Mỗi phép kết nối hoạt động như một phép nối trái và điểm khác biệt duy nhất là thao tác trong bảng cơ sở. Đối với phép ghép nối bên trái, bảng 1 được coi là bảng cơ sở trong quá trình ghép với bảng bên phải. Phép nối ghép này cần được thực hiện dựa trên một thứ nguyên chung là N cột đầu tiên khi có thể. Đồng thời trả về các hàng phù hợp trong bảng đầu tiên từ bảng bên phải.

Như vậy, Bizfly Cloud đã tóm tắt cho bạn đọc SQL là gì, cách thức hoạt động và những lệnh cơ bản được sử dụng. SQL là một trong những kỹ năng thiết yếu và quan trọng nhất đối với các chuyên gia phân tích dữ liệu. Do đó, nếu bạn đang muốn phát triển nghề nghiệp của mình trong lĩnh vực khoa học dữ liệu, hãy liên hệ với Bizfly Cloud để được tư vấn chi tiết về SQL nhé!

BizFly Cloud là nhà cung cấp dịch vụ điện toán đám mây với chi phí thấp, được vận hành bởi VCCorp.

BizFly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch thúc đẩy chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT; đáp ứng đầy đủ toàn bộ tiêu chí, chỉ tiêu kỹ thuật của nền tảng điện toán đám mây phục vụ Chính phủ điện tử/chính quyền điện tử.

Độc giả quan tâm đến các giải pháp của BizFly Cloud có thể truy cập tại đây.

DÙNG THỬ MIỄN PHÍ và NHẬN ƯU ĐÃI 3 THÁNG tại: Manage.bizflycloud

Chủ Đề