Tổng quan về SQL trong thiết kế web

SQL

Trong thời 4.0 hiện đại hóa ngày nay , nhu cầu thiết yếu của con người lên cao đòi hỏi sự đa dạng công nghệ ngày càng được đẩy mạnh và tiến bộ . Những dữ liệu do con người tạo nên phát triển lên một tầm cao mới  . Chính vì thế người Tester ngoài việc có nền tảng cơ bản kiểm thử phần mềm thiết yếu và tiếng anh thì SQL cũng là một trong những kỹ năng về kĩ thuật buộc phải nắm vững .

Đối với những bạn học IT hay lập trình viên có thể đã quen thuộc khi nghe đến cụm từ này. Còn những bạn khác có lẽ vẫn chưa hiểu hoặc chưa từng nghe nói đến . Vậy SQL là gì mà nó lại quan trọng đến thế ? Những kiến thức nào xung quanh SQL mà chúng ta cần biết ? Và để giải đáp cho hàng loạt thắc mắc trên của các bạn , mình sẽ trình bày dưới đây một số kiến thức SQL căn bản . Các bạn cùng theo dõi nhé .

Tổng quan về SQL
Tổng quan về SQL – Những kiến thức cơ bản cần biết.

Tổng quan về SQL

SQL là gì ?

SQL là viết tắt của cụm từ tiếng anh Structured Query Language , là ngôn ngữ truy vấn có cấu trúc . Nó là công cụ được thiết kế nhằm để quản lý dữ liệu sử dụng trong nhiều lĩnh vực , cho phép bạn truy cập và và thực hiện các thao tác lấy các hàng hoặc sửa đổi các hàng, trích xuất ,tạo, xóa dữ liệu .

SQL cũng là ngôn ngữ tiêu chuẩn cho các hệ cơ sở dữ liệu quan hệ ( RDBMS ) . Hầu hết các ngôn ngữ bậc cao đều lấy SQL làm tiêu chuẩn như MySQL (hệ quản trị cơ sở dữ liệu thường được sử dụng cho những dịch vụ thiết kế website giá rẻ bởi nó hoàn toàn miễn phí) , MS Access, Oracle , Sybase, Visual C , Visual Basic , Postgres, Informix , SQL Server,..

SQL là gì
SQL là một trong những nền tảng cơ bản để xây dựng nên các HQTCSDL khác.

Nếu đọc thêm một vài thông tin về SQL Server của Microsoft bạn sẽ nhận thấy rằng ngoài SQL , thì T-SQL cũng được sử dụng như ngôn ngữ địa phương của hệ cơ sở dữ liệu này , Oracle SQL thì dùng kèm thêm PL/SQL,…Các chương trình ứng dụng  và công cụ của Oracle cho phép mọi người sử dụng truy cập thoải mái tới CSDL mà không cần thông qua SQL trực tiếp . Nhưng những ứng dụng này khi kích hoạt chạy thì phải sử dụng SQL.

Lịch sử phát triển

Vào những năm 70 ,SQL được hình thành từ ngôn ngữ SEQUEL 2  bởi IBM theo mô hình Codd tại một trung tâm nghiên cứu ở California cho hệ thống cơ sở dữ liệu lớn . Những ngày đầu SQL được sử dụng chạy trên các máy đơn lẻ . Song do tốc độ phát triển vượt bậc một cách nhanh chóng của nhu cầu xây dựng cơ sở dữ liệu lớn ( CSDL) theo mô hình khách chủ ( theo mô hình này thì toàn bộ CSDL được tập trung trên máy chủ (Server) ).

Lịch sử phát triển của SQL.
Lịch sử phát triển của SQL.

Bất kỳ thao tác xử lý dữ liệu nào cũng được thực hiện trên máy chủ bằng các lệnh SQL . Máy trạm chỉ giữ chức năng cập nhật hoặc thu thập thông tin từ máy chủ . Ngày nay với sự có mặt của SQL đã hỗ trợ nhiều cho hầu hết các ngôn ngữ lập trình bậc cao . Nhất là về mảng Internet thì SQL càng khẳng định vai trò quan trọng hơn . Nó được sử dụng để nhanh chóng tạo ra các trang web động.

SQL đã được viện tiêu chuẩn Quốc gia Mỹ ( ANSI ) và viện tiêu chuẩn quốc tế ( ISO ) chấp nhận như một ngôn ngữ đại diện chuẩn CSDL quan hệ, nhưng cho đến nay các tiêu chuẩn này vẫn chưa hoàn thiện . Nên các SQL nhúng trong các ngôn ngữ lập trình khác nhau đã được bổ sung các SQL chuẩn , để phù hợp với các ứng dụng của mình . Do vậy mới sự khác nhau rõ rệt giữa các SQL .

Những kiến thức cần biết xung quanh SQL

SQL cần thiết như thế nào ?

SQL cung cấp cho ta rất nhiều lợi ích :

  • Tạo ra cơ sở dữ liệu mới khi thiết kế website hoặc lập trình phần mềm.
  • Tạo bảng và view mới trong CSDL
  • Dễ dàng tạo , chèn , xóa các bản ghi trong một CSDL
  • Lấy dữ liệu từ một cơ sở dữ liệu

Các chức năng của SQL :

  • Cho phép chúng ta truy cập Database theo nhiều cách khác nhau , nhờ sử dụng các lệnh
  • Người dùng có thể truy cập dữ liệu từ cơ sở dữ liệu quan hệ
  • SQL còn cho phép người sử dụng miêu tả dữ liệu
  • Cho phép người dùng định nghĩa dữ liệu thao tác nó khi cần thiết trong một Database
  • Bạn có thể tạo , xóa Database và bảng
  • Cho phép người dùng tạo view , hàm ,procedure trong một Database
  • Người dùng được quyền truy cập vào bảng , thủ tục và view
Chức năng của SQL
SQL hỗ trợ nhiều chức năng cho các lập trình viên.

Đặc điểm và đối tượng của SQL :

1/ Đặc điểm

  • SQL là ngôn ngữ như tiếng Anh nên các lập trình viên cũng cần có một số vốn ngoại ngữ về chuyên ngành
  • SQL là ngôn ngữ phi thủ tục , không đòi hỏi chúng ta về cách thức truy cập dữ liệu thế nào . Tất cả các thông báo của SQL đều rất dễ sử dụng và hầu như giảm thiểu tối đa khả năng xảy ra lỗi
  • SQL cung cấp các tập lệnh đa dạng cho việc hỏi đáp dữ liệu
  • Chèn , update , xóa các hàng trong 1 quan hệ
  • Tạo ,xóa , sửa đổi và thêm các đối tượng trong của cơ sở dữ liệu
  • Điều khiển việc truy cập tới CSDL và các đối tượng của nó để đảm bảo tính năng bảo mật của CSDL
  • Luôn bảo đảm tính chất nhất quán và sự ràng buộc
  • Điều kiện tiên quyết để tiện lợi cho việc sử dụng các hỏi đáp là phải nắm vững được các cấu trúc cơ sở dữ liệu của mình

2/Đối tượng làm việc của SQL :

Là các bảng ( tổng quan là các quan hệ dữ liệu 2 chiều ) . Các bảng này thường chứa nhiều cột ( gọi là trường ) và nhiều hàng ( gọi là bản ghi ) . Cột với tên gọi và kiểu dữ liệu xác định tạo nên cấu trúc của bảng ( kiểu dữ liệu của cột là dạng duy nhất ) . Ta có thể dùng lệnh Desc[ribe] TABLE-name để tra xem cấu trúc của bảng .Phần tùy chọn [] có thể được để trong Oracle . Khi bảng đã được hệ thống cho một mục đích nào đó ta có một cơ sở dữ liệu .

3/Cách thức thực hiệu lệnh SQL :

Khi bạn thao tác lệnh SQL trên bất kì CSDL quan hệ nào , hệ thống sẽ tự động chọn lọc quyết định cách thức tốt nhất để tiến hành lệnh đó . Và engine SQL sẽ giúp bạn hiểu rõ nhiệm vụ được thông dịch như thế nào .

Có rất nhiều thành phần trong suốt quá trình này phải kể đến như : Classic Query Engine , Query Dispatcher , SQL Query Engine , Optimization Engines .

Các lệnh SQL :

Một số câu lệnh cơ bản của SQL.
Một số câu lệnh cơ bản của SQL.

Một số lệnh cơ bản được phân loại theo bản chất lệnh của SQL :

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

  • CREATE: Tạo ra bảng mới, view và các đối tượng khác trong cơ sở dữ liệu.
  • ALTER: Chỉnh sửa các đối tượng dữ liệu đã hiển thị, như bảng.
  • DROP: Xóa toàn bộ bảng, view của bảng hoặc các đối tượng trong cơ sở dữ liệu.

DML – Data Manipulation Language (Ngôn ngữ để thao tác với dữ liệu)

  • SELECT: Trích xuất bản ghi cụ thể từ một hoặc nhiều bảng
  • INSERT: Chèn dữ liệu mới thêm vào CSDL
  • UPDATE: Sửa đổi, cập nhật dữ liệu trong cơ sở dữ liệu.
  • DELETE: Xóa dữ liệu từ cơ sở dữ liệu.

DCL – Data Control Language (Ngôn ngữ kiểm soát dữ liệu)

  • GRANT: Cấp đặc quyền cho user
  • REVOKE: Lấy lại quyền đã cấp cho user
SQL có mối liên kết mật thiết với database.
SQL có mối liên kết mật thiết với database.

Một số mệnh đề truy vấn cơ bản trong SQL :

Mệnh đề WHERE :

Mệnh đề này trong SQL để xác định một điều kiện trong khi lấy dữ liệu từ bảng đơn hoặc có thể là nhiều bảng kết hợp lại

Nếu điều kiện đã cho được thỏa mãn xong,từ bảng đó  nó sẽ trả về các giá trị cụ thể. Bạn sẽ sử dụng mệnh đề WHERE để lọc và chỉ lấy các bản ghi thiết yếu

Mệnh đề WHERE không chỉ được sử dụng trong lệnh SELECT, ngoài ra nó còn hữu dụng trong các lệnh UPDATE, DELETE, …

Cú pháp của lệnh SELECT với mệnh đề WHERE trong SQL như sau:

SELECT cot1, cot2, cotN

FROM ten_bang

WHERE [dieu_kien]

Mệnh đề SELECT

Lệnh SELECT trong SQL được dùng để lấy dữ liệu từ một bảng trong Cơ sở dữ liệu mà trả về dữ liệu ở dạng bảng dữ liệu kết quả. Những bảng này được gọi chung là các tập hợp kết quả.

Cú pháp của lệnh SELECT trong SQL :

SELECT cot1, cot2, cotN FROM ten_bang;

Ở đây, cot1, cot2, … là các trường của một bảng có các giá trị mà bạn muốn lấy. Nếu bạn muốn lấy tất cả các trường có sẵn trong bảng, bạn có thể sử dụng cú pháp sau:

SELECT * FROM ten_bang;

Mệnh đề Order By và Group By

Order By

ORDER BY trong SQL được sử dụng để sắp xếp dữ liệu tùy theo thứ tự tăng dần hoặc là theo thứ tự giảm dần, nằm trên cùng một hoặc nhiều cột. Một số trường hợp khác ,Database đã sắp xếp kết quả truy vấn theo thứ tự tăng dần mặc định.

Cú pháp cơ bản của mệnh đề ORDER BY trong SQL :

SELECT danh_sach_cot

FROM ten_bang

[WHERE dieu_kien]

[ORDER BY cot1, cot2, .. cotN] [ASC | DESC];

Chúng ta còn có thể sử dụng nhiều hơn một cột trong mệnh đề ORDER BY. Chắn chắn  rằng, cho dù bạn đang sắp xếp cột nào thì nó đều phải có mặt xuất hiện trong danh sách cột

Group By

Mệnh đề GROUP BY trong SQL sử dụng kết hợp với lệnh SELECT nhằm sắp xếp dữ liệu đồng nhất vào trong các nhóm.

Trong SQL, mệnh đề GROUP BY  đi sau mệnh đề WHERE trong một lệnh SELECT và ở phía trước mệnh đề ORDER BY.

Mệnh đề GROUP BY phải tuân sau các điều kiện tiên quyết trong mệnh đề WHERE và buộc phải đứng trước ORDER BY nếu được sử dụng.

SELECT cot1, cot2

FROM ten_bang

WHERE [ dieu_kien ]

GROUP BY cot1, cot2

ORDER BY cot1, cot2

Mệnh đề JOIN , INNER JOIN , LEFT JOIN VÀ RIGHT JOIN

Các mệnh đề JOIN trong SQL được sử dụng với việc kết hợp các bản ghi từ hai bảng trở lên trong một Database. Một JOIN là một hình thức phương tiện để kết hợp các trường từ hai bảng bằng việc sử dụng các giá trị chung của mỗi bảng.

Trong SQL, một số loại JOIN có sẵn là:

  • INNER JOIN : Đưa về các hàng khi có một so khớp (match) trong các bảng.
  • LEFT JOIN :Từ bảng bên trái đưa trả về tất cả các hàng, mặc dù gặp trường hợp không có so khớp nào trong bảng bên phải.
  • RIGHT JOIN : như LEFT JOIN , cho dù không có so khớp nào bên bảng trái
  • FULL JOIN trong SQL: Khi xuất hiện một so khớp trong các hàng sẽ trả về các hàng
  • SELF JOIN : Được sử dụng cho việc kết hợp một bảng với chính bản thân nó, khi nếu table đó là hai bảng dữ liệu,phải thay tên tạm thời cho một trong hai bảng có trong lệnh SQL.
  • CARTESIAN JOIN : Hoàn về tích Đề-các của tập hợp các bản ghi từ hai bảng kết hợp trở lên .

Kết luận :

Như vậy chúng ta đã đi sơ qua một số kiến thức cở bản về SQL thường dùng . Có thể mới đầu bạn sẽ cảm thấy “ xoắn não “ với hàng tỉ chức năng, mệnh đề , các lệnh SQL cũng như sự hình thành phát triển của nó . Nhưng đừng lo , khi đã hiểu và thành thạo trong các bước này , bạn sẽ cảm thấy thú vị khi khám phá ra hàng ngàn lợi ích khác nhau của nó . Chúc các bạn thành công !