SQL - Overview

Xin chào các bạn đang học lập trình! Tôi rất vui mừng được làm hướng dẫn viên của bạn trong hành trình thú vị vào thế giới của SQL. Là một ai đó đã dạy khoa học máy tính hơn một thập kỷ, tôi có thể告诉 bạn rằng SQL giống như chiếc dao quân đội Thụy Sĩ của thế giới dữ liệu - rất linh hoạt và hoàn toàn thiết yếu. Vậy, hãy cùng nhau lặn vào và giải mã SQL nhé!

SQL - Overview

SQL là gì?

SQL, viết tắt của Structured Query Language, là một ngôn ngữ lập trình đặc biệt được thiết kế để quản lý và thao tác các cơ sở dữ liệu quan hệ. Bây giờ, tôi biết điều đó có thể听起来有点吓人, nhưng hãy nghĩ theo cách này: nếu dữ liệu là một thư viện lớn, thì SQL sẽ là người thư ký biết chính xác mỗi cuốn sách ở đâu và có thể lấy bất kỳ thông tin nào bạn cần trong nháy mắt.

Các đặc điểm chính của SQL

  1. Ngôn ngữ declarative: Bạn告诉 SQL bạn muốn gì, không phải là cách để đạt được nó.
  2. Set-based: Nó hoạt động trên các tập dữ liệu, không chỉ các bản ghi cá nhân.
  3. Non-procedural: Bạn không cần phải chỉ định các bước chính xác để truy xuất dữ liệu.

Dưới đây là một ví dụ đơn giản để minh họa SQL trông như thế nào:

SELECT first_name, last_name
FROM employees
WHERE department = 'Sales';

Truy vấn này đang yêu cầu cơ sở dữ liệu cung cấp cho chúng ta tên đầu tiên và tên cuối cùng của tất cả nhân viên trong bộ phận Bán hàng. Rất đơn giản, phải không?

Tại sao nên học SQL?

Bây giờ, bạn có thể tự hỏi, "Tại sao tôi nên học SQL?" Hãy để tôi kể cho bạn một câu chuyện nhỏ. Cách đây vài năm, một trong những sinh viên của tôi đã tìm được một công việc rất tốt ngay sau khi tốt nghiệp, chỉ vì cô ấy biết SQL. Công ty có rất nhiều dữ liệu nhưng gặp khó khăn trong việc hiểu nó. Kỹ năng SQL của cô ấy đã biến cô ấy thành một anh hùng ngay lập tức!

Dưới đây là một số lý do thuyết phục để học SQL:

  1. Ngôn ngữ phổ biến: Hầu như tất cả các cơ sở dữ liệu quan hệ đều hiểu SQL.
  2. Dữ liệu ở mọi nơi: Từ doanh nghiệp nhỏ đến các tập đoàn công nghệ, mọi người đều sử dụng cơ sở dữ liệu.
  3. Cơ hội nghề nghiệp: Kỹ năng SQL được săn đón mạnh mẽ trong nhiều ngành công nghiệp.
  4. Điều khiển dữ liệu mạnh mẽ: SQL có thể xử lý các bộ dữ liệu lớn một cách dễ dàng.

Lịch sử ngắn gọn về SQL

SQL đã có từ lâu hơn nhiều người trong chúng ta! Nó ra đời vào những năm 1970, điều đó trong thế giới công nghệ gần như là cổ xưa. Các nhà nghiên cứu của IBM Donald Chamberlin và Raymond Boyce đã phát triển SQL dựa trên mô hình quan hệ của Edgar Codd. Điều này giống như họ là Dr. Frankenstein của dữ liệu, mang đến sự sống cho một ngôn ngữ có thể giao tiếp với cơ sở dữ liệu!

Các mốc quan trọng

Năm Sự kiện
1970 Edgar Codd đề xuất mô hình quan hệ
1974 SQL ra đời tại IBM
1986 SQL trở thành tiêu chuẩn ANSI
1987 SQL trở thành tiêu chuẩn ISO
1990s Nhiều hệ thống cơ sở dữ liệu adopt SQL

SQL hoạt động như thế nào?

Bây giờ, hãy nhìn vào bên trong và xem SQL thực sự hoạt động như thế nào. SQL hoạt động theo mô hình client-server. Hãy tưởng tượng nó như một nhà hàng: bạn (người khách) đặt订单, và nhà bếp (máy chủ) chuẩn bị và phục vụ bữa ăn của bạn.

Quá trình SQL

  1. Kết nối: Ứng dụng của bạn kết nối với máy chủ cơ sở dữ liệu.
  2. Truy vấn: Bạn gửi một truy vấn SQL đến máy chủ.
  3. Xử lý: Máy chủ xử lý truy vấn của bạn.
  4. Kết quả: Máy chủ trả về kết quả cho ứng dụng của bạn.

Hãy nhìn vào một ví dụ phức tạp hơn để minh họa quá trình này:

SELECT c.customer_name, SUM(o.total_amount) as total_spent
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
GROUP BY c.customer_name
HAVING SUM(o.total_amount) > 1000
ORDER BY total_spent DESC;

Truy vấn này đang thực hiện một số điều:

  1. Nó đang join hai bảng: customersorders.
  2. Nó đang tính tổng số tiền chi tiêu của mỗi khách hàng.
  3. Nó đang lọc để hiển thị chỉ những khách hàng đã chi tiêu hơn $1000.
  4. Cuối cùng, nó đang sắp xếp kết quả theo thứ tự giảm dần của tổng chi tiêu.

Khi bạn chạy truy vấn này, SQL sẽ thực hiện nhiều bước:

  1. Nó đầu tiên join các bảng customersorders.
  2. Sau đó, nó nhóm kết quả theo tên khách hàng.
  3. Nó tính tổng total_amount cho mỗi khách hàng.
  4. Nó áp dụng điều kiện HAVING để lọc bỏ các khách hàng không chi tiêu quá $1000.
  5. Cuối cùng, nó sắp xếp kết quả theo thứ tự giảm dần của tổng chi tiêu.

Tất cả những điều này xảy ra sau hậu trường, và bạn nhận được một bảng kết quả sạch sẽ!

SQL trong hành động

Để thực sự hiểu cách SQL hoạt động, hãy tạo một cơ sở dữ liệu đơn giản và chạy một số truy vấn. Hãy tưởng tượng chúng ta đang quản lý một cửa hàng sách nhỏ:

-- Tạo bảng cho sách
CREATE TABLE books (
book_id INT PRIMARY KEY,
title VARCHAR(100),
author VARCHAR(50),
price DECIMAL(5,2)
);

-- Chèn một số dữ liệu
INSERT INTO books VALUES
(1, 'To Kill a Mockingbird', 'Harper Lee', 12.99),
(2, '1984', 'George Orwell', 10.99),
(3, 'Pride and Prejudice', 'Jane Austen', 9.99);

-- Truy vấn để tìm sách có giá trên $10
SELECT title, price
FROM books
WHERE price > 10
ORDER BY price DESC;

Khi bạn chạy truy vấn cuối cùng này, SQL sẽ:

  1. Nhìn vào tất cả các bản ghi trong bảng books.
  2. Kiểm tra giá của mỗi sách so với điều kiện (> 10).
  3. Đối với các sách đáp ứng điều kiện, nó sẽ chọn tiêu đề và giá.
  4. Cuối cùng, nó sẽ sắp xếp kết quả theo giá giảm dần.

Kết quả có thể trông như thế này:

title price
To Kill a Mockingbird 12.99
1984 10.99

Và thế là bạn đã chứng kiến SQL trong hành động, từ việc tạo bảng đến chèn dữ liệu và truy vấn nó.

Nhớ rằng, học SQL giống như học骑自行车。Ban đầu có thể看起来有点摇摇晃晃, 但随着练习, 你会很快地在数据库中穿梭。继续尝试, 保持好奇心, 不要害怕犯错 - 这是我们学习最好的方式!

Credits: Image by storyset