T-SQL là gì? Ưu Điểm của T-SQL và So Sánh SQL, PL/SQL

Trong hệ quản trị cơ sở dữ liệu, T-SQL có vai trò quan trọng được sử dụng rộng rãi. Để hiểu rõ hơn về T-SQL, hãy cùng LANIT xem ngay bài viết dưới đây nhé!

Với khả năng mở rộng linh hoạt và tích hợp tốt với Microsoft SQL Server, T-SQL không chỉ đơn thuần là một ngôn ngữ truy vấn mạnh mẽ mà còn là công cụ đa nhiệm cho các nhu cầu quản lý cơ sở dữ liệu hiện đại.

T-SQL là gì?

T-SQL, viết tắt của Transact-SQL, là một phần mở rộng của ngôn ngữ truy vấn SQL, tuân theo tiêu chuẩn ISO và ANSI (American National Standards Institute). Được phát triển bởi Microsoft, T-SQL được sử dụng chủ yếu trong hệ thống SQL Server để thực hiện một loạt các thao tác với cơ sở dữ liệu.

T-SQL là gì?
T-SQL là gì?

Ngôn ngữ này không chỉ giúp thực hiện các thao tác cơ bản như định nghĩa, chèn, xóa, cập nhật, và truy vấn dữ liệu mà còn cung cấp khả năng mở rộng với các tính năng như kiểu dữ liệu đa dạng, đối tượng tạm thời, thủ tục hệ thống và thủ tục mở rộng. Ngoài ra, T-SQL cũng hỗ trợ việc sử dụng biến và xử lý linh hoạt các chuỗi và dữ liệu được thêm vào. Với tính năng mạnh mẽ và đa dạng, T-SQL đóng vai trò quan trọng trong việc quản lý cơ sở dữ liệu và thực hiện các hoạt động liên quan đến dữ liệu một cách hiệu quả.

Đánh giá ưu và nhược điểm của T-SQL 

Ưu điểm

  • T-SQL được tối ưu hóa để hoạt động tốt với SQL Server, giúp tận dụng tối đa các tính năng đặc biệt của hệ thống này.
  • Cung cấp nhiều công cụ mạnh mẽ cho việc truy vấn và xử lý dữ liệu phức tạp, giúp quản lý cơ sở dữ liệu một cách linh hoạt.
  • Với cú pháp rõ ràng và dễ hiểu, người dùng có thể dễ dàng viết và đọc mã T-SQL mà không gặp nhiều khó khăn.
  • SQL Server đi kèm với nhiều tài liệu và công cụ hỗ trợ phát triển và quản lý T-SQL, giúp người dùng làm việc hiệu quả hơn.

Nhược điểm

  • T-SQL không linh hoạt khi phải làm việc với các hệ thống quản trị cơ sở dữ liệu khác ngoài SQL Server.
  • Không được tối ưu cho việc xử lý dữ liệu trên các nền tảng di động.
  • Đôi khi, T-SQL gặp khó khăn khi phải xử lý các tính năng phức tạp hơn, như xử lý dữ liệu không gian hoặc đối tượng.
  • Mặc dù có thể mở rộng bằng gói lưu trữ và hàm, nhưng việc mở rộng mã T-SQL có thể gặp hạn chế so với các ngôn ngữ lập trình chuyên dụng khác.

Phân loại các nhóm lệnh trong T-SQL 

Trong T-SQL, các khối lệnh được phân loại thành 3 nhóm tương ứng với 3 chức năng chính sau:

  • Nhóm định nghĩa dữ liệu: Bao gồm các lệnh CREATE, ALTER, DROP table, được sử dụng để tạo, chỉnh sửa hoặc xóa bảng dữ liệu. Nhóm này chịu trách nhiệm định nghĩa cấu trúc của một table.
  • Nhóm điều khiển dữ liệu: Gồm các lệnh GRANT, DENY, REVOKE,… dùng để quản lý quyền truy cập của các đối tượng table, function, view,…
  • Nhóm thao tác dữ liệu: Bao gồm tập hợp các lệnh INSERT, UPDATE, SELECT, DELETE, được sử dụng để thao tác trực tiếp với dữ liệu trong bảng, giúp truy vấn và tìm kiếm dữ liệu một cách hiệu quả.

Cấu trúc của ngôn ngữ T-SQL được xây dựng từ các khối lệnh, mỗi khối lệnh bắt đầu bằng từ khóa BEGIN và kết thúc bằng từ khóa END. Bạn cũng có thể chứa một khối lệnh bên trong một khối lệnh khác, và mỗi câu lệnh trong khối lệnh được ngăn cách bằng dấu chấm phẩy.

BEGIN

 — Khai báo biến

 — Các câu lệnh T-SQL

END;

T-SQL Functions

Trong hệ thống quản lý cơ sở dữ liệu DBMS, T-SQL Functions là các khối mã được sử dụng để thực hiện một loạt các chức năng cụ thể. Các hàm T-SQL cung cấp cách thức tiện lợi để thực hiện các tác vụ trên dữ liệu trong cơ sở dữ liệu. Dưới đây là 4 hàm chính trong T-SQL:

  • Hàm Aggregate: Được sử dụng để thực hiện tính toán trên một tập hợp dữ liệu và trả về một giá trị duy nhất, chẳng hạn như SUM, AVG, MIN, MAX và COUNT.
  • Hàm Ranking: Được sử dụng để gán một xếp hạng cho từng hàng trong một tập hợp dữ liệu, chẳng hạn như RANK, DENSE_RANK, ROW_NUMBER và NTILE.
  • Hàm Rowset: Cho phép truy xuất dữ liệu từ kết quả của một truy vấn, như hàm OPENROWSET và hàm OPENQUERY.
  • Hàm Scalar: Thực hiện tính toán đơn giản và trả về một giá trị duy nhất, chẳng hạn như các hàm toán học, hàm chuỗi, và các hàm ngày tháng.

Join trong T-SQL 

Trong T-SQL, phép kết hợp các bảng dựa trên các cột liên kết được gọi là “Joins”. Cụ thể, “Joins” giúp SQL sử dụng dữ liệu từ một bảng để chọn các hàng từ bảng khác. Nó sử dụng một số ký hiệu như =, <, >, <>, <=, >=, !=, BETWEEN, LIKE và NOT để kết hợp các bảng.

Trong T-SQL, có nhiều loại “Joins” khác nhau như Inner Joins và “Outer Joins”. 

Khi sử dụng “Inner Joins”, nếu có các hàng trùng lặp trong các bảng, nó sẽ trả về các hàng đó dưới dạng mệnh đề FORM hoặc WHERE. 

Trong khi đó, “Outer Joins” chỉ trả về dữ liệu phù hợp nhất từ các bảng dưới dạng mệnh đề FORM, với nhiệm vụ tìm và trả về dữ liệu từ các bảng tương ứng.

So sánh giữa SQL vs PL/SQL

Dưới đây là bảng so sánh giữa SQL và PL/SQL:

So sánh giữa SQL vs PL/SQL
So sánh giữa SQL vs PL/SQL
Đặc điểmSQLPL/SQL
Định nghĩaMột ngôn ngữ truy vấn duy nhất dùng cho hoạt động DML và DDL.Một khối mã được sử dụng để viết chương trình, thủ tục, hàm, v.v…
Tính chấtTập trung vào việc khai báo và xác định việc cần thực hiện.Tập trung vào xác định cách thức thực hiện các công việc.
Phương thức thực thiThực thi dưới dạng câu lệnh duy nhất.Thực thi dưới dạng một khối mã.
Ứng dụngChủ yếu để thao tác với dữ liệu.Chủ yếu để tạo ứng dụng.
Database serverTương tác trực tiếp với Database server.Không tương tác trực tiếp với Database server
Mối quan hệ với SQLKhông thể chứa mã PL/SQL bên trong.Là một phần mở rộng của SQL, vì vậy có thể chứa SQL bên trong.

So sánh giữa T-SQL và PL-SQL

So sánh giữa T-SQL và PL-SQL

Dưới đây là bảng so sánh giữa T-SQL và PL/SQL:

Đặc điểmSQLPL/SQL
Xuất xứLà sản phẩm của Microsoft.Là sản phẩm của Microsoft.
Độ phức tạpDễ hiểu và đơn giản.Tính phức tạp cao.
Tính linh hoạtHỗ trợ chèn hàng với BULK INSERT.Hỗ trợ các khái niệm OOP như đóng gói dữ liệu, nạp chồng hàm và ẩn thông tin
Câu lệnh Sử dụng SELECT INTO.Sử dụng INSERT INTO
Tính năngSử dụng NOT EXISTS trong các câu lệnh SELECT.Sử dụng toán tử MINUS trong các câu lệnh SELECT.

So sánh giữa SQL và T-SQL

Dù cả hai ngôn ngữ này đều phục vụ cho mục tiêu quản lý cơ sở dữ liệu, nhưng vẫn tồn tại điểm khác nhau dưới đây:

So sánh giữa SQL và T-SQL
Đặc điểmSQLPL/SQL
Loại ngôn ngữNgôn ngữ lập trình quản lý cơ sở dữ liệu quan hệ.Extension thủ tục của SQL Server.
Tính chất truy vấnThực hiện truy vấn đơn lẻ.Thực hiện chương trình trong khối.
Cú pháp chuẩnCó cú pháp chuẩn cho nhiều lệnh cơ bản như SELECT, INSERT, UPDATE, DELETE, CREATE và DROP.Bao gồm cú pháp chuẩn, cùng với các hàm đặc biệt như date().
Tính linh hoạtThường không cho phép kiểm soát linh hoạt về cách chạy ứng dụng .Cung cấp khả năng kiểm soát linh hoạt hơn về cách chạy ứng dụng.
Sử dụng trong hệ thốngThường được sử dụng trong nhiều hệ thống quản lý cơ sở dữ liệu.Đặc biệt được sử dụng bởi SQL Server.

Tổng hợp các lệnh cơ bản trong T-SQL 

Dưới đây là một số các lệnh cơ bản được sử dụng phổ biến trong T-SQL :

1. CREATE TABLE: Lệnh này được sử dụng để tạo một bảng mới trong cơ sở dữ liệu.

CREATE TABLE <table_name>(

    <column1> <data_type>,

    <column2> <data_type>,

    …

);

2. ALTER TABLE: Lệnh này được sử dụng để thay đổi cấu trúc của bảng đã tồn tại.

ALTER TABLE <table_name>

    ADD <column_name> <data_type>,

    ALTER COLUMN <column_name> <new_data_type>,

    DROP COLUMN <column_name>;

3. DROP TABLE: Lệnh này được sử dụng để xóa bảng từ cơ sở dữ liệu.

DROP TABLE <table_name>;

4. INSERT INTO: Lệnh này được sử dụng để thêm dữ liệu mới vào bảng.

INSERT INTO <table_name> (column1, column2, ...)

VALUES (value1, value2, ...);

5. UPDATE: Lệnh này được sử dụng để cập nhật dữ liệu đã tồn tại trong bảng.

UPDATE <table_name>

SET column1 = value1, column2 = value2, ...

WHERE condition;

6. DELETE: Lệnh này được sử dụng để xóa dữ liệu từ bảng.

DELETE FROM <table_name>

WHERE condition;

7. SELECT: Lệnh này được sử dụng để truy vấn dữ liệu từ cơ sở dữ liệu.

SELECT column1, column2, ...

FROM table_name

WHERE condition;

8. IF-ELSE: Cấu trúc rẽ nhánh này được sử dụng để thực thi các lệnh khác nhau dựa trên một điều kiện.

IF <condition>

    statement1;

ELSE

    statement2;

9. WHILE: Vòng lặp WHILE được sử dụng để lặp lại một khối lệnh trong khi một điều kiện cụ thể vẫn đúng.

WHILE <condition>

BEGIN

    — các lệnh cần thực thi

END;

Lời kết

Trên đây là một toàn bộ kiến thức cơ bản về T-SQL, giúp bạn hiểu về bản chất của ngôn ngữ truy vấn này cũng như các câu lệnh quan trọng cần biết khi sử dụng. Với vai trò quan trọng của việc quản trị cơ sở dữ liệu trong thế giới lập trình, việc nắm vững các ngôn ngữ như SQL, T-SQL, PL/SQL là không thể thiếu.

LANIT JSC

Được thành lập năm 2017, Công ty cổ phần công nghệ và truyền thông LANIT (LANIT JSC) đã sớm khẳng định được vị trí của mình là một trong những đơn vị cung cấp dịch vụ lưu trữ dữ liệu hàng đầu với chất lượng tốt nhất, cùng chi phí hợp lý nhất.

Chat với chúng tôi qua Zalo!
Chat với chúng tôi qua Zalo!