SQL là gì? Tìm hiểu căn bản và cách sử dụng SQL


SQL là gì?





SQL là ngôn ngữ tiêu chuẩn để xử lý Cơ sở dữ liệu quan hệ (Relational Databases).





SQL có thể được sử dụng để chèn, tìm kiếm, cập nhật và xóa các bản ghi cơ sở dữ liệu. SQL có thể thực hiện nhiều hoạt động khác, bao gồm tối ưu hóa và bảo trì cơ sở dữ liệu.





SQL là viết tắt của Ngôn ngữ truy vấn có cấu trúc (Structured Query Language), được phát âm là “S-Q-L” hoặc đôi khi là “See-Quel”…





Các cơ sở dữ liệu quan hệ như MySQL Database, Oracle, MS SQL Server, Sybase… sử dụng ANSI SQL.





SQL là gì?
SQL là gì?









Dừng lại chút nào, nếu bạn đang #open_to_work, thử nghía qua các công việc đang tuyển trên Gamba nhé. Vào LINK NÀY để xem các job SQL hoặc scan QR Code ở bên dưới nhé.





Xem và ứng tuyển các SQL job
Xem và ứng tuyển các SQL job









Cách sử dụng SQL





Ví dụ về Code SQL:





SELECT * FROM Members WHERE Age > 30




Các cú pháp SQL được sử dụng trong các cơ sở dữ liệu khác nhau gần như tương tự nhau, mặc dù một số RDBMS (Relational Database Management System – hệ quản trị CSDL quan hệ) sử dụng một vài lệnh khác nhau và thậm chí cả các cú pháp SQL độc quyền.











SQL được sử dụng để làm gì?





Đây là những lý do quan trọng để sử dụng SQL





  • Giúp người dùng truy cập dữ liệu trong hệ thống RDBMS.
  • Giúp mô tả dữ liệu.
  • Cho phép xác định dữ liệu trong cơ sở dữ liệu và thao tác với dữ liệu cụ thể.
  • Với sự trợ giúp của SQL, bạn có thể tạo và thả cơ sở dữ liệu và bảng.
  • SQL cung cấp cách sử dụng hàm trong cơ sở dữ liệu, tạo dạng xem và thủ tục lưu trữ.
  • Có thể phân quyền trên bảng, thủ tục và dạng xem.




Sơ lược lịch sử SQL





Dưới đây là những dấu mốc quan trọng trong lịch sử của SQL:





  • 1970 – Tiến sĩ Edgar F. “Ted” Codd mô tả một mô hình quan hệ cho cơ sở dữ liệu.
  • 1974 – Ngôn ngữ truy vấn có cấu trúc (SQL) xuất hiện.
  • 1978 – IBM phát hành một sản phẩm có tên là System/R.
  • 1986 – IBM phát triển nguyên mẫu của cơ sở dữ liệu quan hệ, được tiêu chuẩn hóa bởi ANSI.
  • 1989 – Phiên bản SQL đầu tiên ra mắt
  • 1999 – SQL 3 ra mắt với các tính năng như trình kích hoạt, hướng đối tượng, v.v.
  • SQL 2003 – các hàm window, các tính năng liên quan đến XML, v.v.
  • SQL 2006 – Hỗ trợ ngôn ngữ truy vấn XML
  • SQL 2011 – Hỗ trợ cải tiến cho cơ sở dữ liệu tạm thời




Các loại câu lệnh SQL





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 (DDL)
  • Ngôn ngữ thao tác dữ liệu (DML)
  • Ngôn ngữ kiểm soát dữ liệu (DCL)
  • Ngôn ngữ kiểm soát giao dịch (TCL)
  • Ngôn ngữ truy vấn dữ liệu (DQL)




Danh sách các lệnh SQL





Dưới đây là danh sách một số lệnh SQL được sử dụng phổ biến nhất:





  • CREATE – xác định lược đồ (schema) cấu trúc cơ sở dữ liệu
  • INSERT – chèn dữ liệu vào hàng của bảng
  • UPDATE- cập nhật dữ liệu trong cơ sở dữ liệu
  • DELETE – xóa một hoặc nhiều hàng khỏi bảng
  • SELECT – chọn thuộc tính dựa trên điều kiện được mô tả bởi mệnh đề WHERE
  • DROP – xóa bảng và cơ sở dữ liệu




Quy trình SQL





Khi bạn muốn thực thi một lệnh SQL cho bất kỳ hệ thống DBMS nào, bạn cần tìm phương pháp tốt nhất để thực hiện yêu cầu của mình và công cụ SQL xác định cách diễn giải tác vụ cụ thể đó.





Các thành phần quan trọng được bao gồm trong quy trình SQL này là:





  • Công cụ truy vấn SQL (SQL Query Engine)
  • Công cụ tối ưu hóa (Optimization Engines)
  • Điều phối viên truy vấn (Query Dispatcher)
  • Công cụ truy vấn cổ điển (Classic Query Engine)




Một Classic Query Engine cho phép bạn quản lý tất cả các truy vấn không phải SQL (non-SQL).





Quy trình SQL
Quy trình SQL




Tiêu chuẩn SQL





SQL là một ngôn ngữ để vận hành cơ sở dữ liệu. Nó bao gồm tạo cơ sở dữ liệu, xóa, tìm nạp hàng, sửa đổi hàng,…





SQL là ngôn ngữ chuẩn ANSI (Viện tiêu chuẩn quốc gia Hoa Kỳ – American National Standard Institute). Các tiêu chuẩn SQL được chia thành nhiều phần.





Dưới đây là một số phần quan trọng của tiêu chuẩn SQL:





Thành phầnMô tả
Phần 1 – SQL / FrameworkNó đưa ra các khái niệm logic.
Phần 2 – SQL / FoundationNó bao gồm các yếu tố trung tâm của SQL.
Phần 3 – SQL / CLITiêu chuẩn này bao gồm các yếu tố trung tâm của SQL.
Phần 4 – Mô-đun được lưu trữ liên tụcQuy trình được lưu trữ, quy trình bên ngoài và phần mở rộng ngôn ngữ thủ tục cho SQL.
Phần 9 – Quản lý Dữ liệu Bên ngoàiThêm cú pháp và định nghĩa vào SQL / Foundation, cho phép SQL truy cập vào các nguồn (tệp) dữ liệu không phải SQL.
Phần 10 – Các ràng buộc ngôn ngữ đối tượngLiên kết ngôn ngữ đối tượng: Phần này chỉ định cú pháp và ngữ nghĩa của việc nhúng SQL vào Java ™.
Phần 11 – SQL / SchemaLược đồ Thông tin và Định nghĩa
Phần 12 – SQL / ReplicationDự án này bắt đầu vào năm 2000. Phần này giúp xác định cú pháp và ngữ nghĩa để cho phép định nghĩa các sơ đồ và quy tắc sao chép.
Phần 13 – Quy trình và Loại JavaQuy trình và Loại Java: Phần này của các quy trình sử dụng Ngôn ngữ lập trình Java.
Phần 14 – SQL / XMLSQL và XML
Phần 15 – SQL / MDACung cấp hỗ trợ SQL cho Mảng đa chiều (Multi-Dimensional Arrays)




Các phần tử ngôn ngữ SQL





Dưới đây là các yếu tố quan trọng của ngôn ngữ SQL:





  • Từ khóa (Keywords): Mỗi câu lệnh SQL chứa một hoặc nhiều từ khóa.
  • Số nhận dạng (Identifiers): Số nhận dạng là tên của các đối tượng trong cơ sở dữ liệu, như ID người dùng, bảng và cột.
  • Chuỗi (Strings): Chuỗi có thể là chuỗi ký tự hoặc biểu thức với kiểu dữ liệu VARCHAR hoặc CHAR.
  • Biểu thức (Expressions): Biểu thức được hình thành từ một số phần tử, như hằng số, toán tử SQL, tên cột và truy vấn con.
  • Điều kiện tìm kiếm (Search Conditions): Điều kiện được sử dụng để chọn một tập hợp con của các hàng từ bảng hoặc được sử dụng để điều khiển các câu lệnh như câu lệnh IF để xác định quyền kiểm soát luồng.
  • Giá trị đặc biệt (Special Values): Giá trị đặc biệt nên được sử dụng trong biểu thức và làm giá trị mặc định của cột khi xây dựng bảng.
  • Biến (Variables): Sybase IQ hỗ trợ các biến cục bộ, biến toàn cục và biến mức kết nối.
  • Chú thích (Comment): Chú thích là một phần tử SQL khác được sử dụng để đính kèm văn bản giải thích vào các câu lệnh hoặc khối câu lệnh SQL. Máy chủ cơ sở dữ liệu không thực hiện bất kỳ bình luận nào.
  • Giá trị NULL: Sử dụng NULL, giúp bạn chỉ định một giá trị không xác định, bị thiếu hoặc không áp dụng được.




Cơ sở dữ liệu trong SQL là gì?





Cơ sở dữ liệu được tạo thành từ một tập hợp các bảng lưu trữ một bộ dữ liệu có cấu trúc chi tiết. Nó là một bảng chứa một tập hợp các hàng, được gọi là bản ghi hoặc bộ dữ liệu, và các cột cũng được gọi là thuộc tính.





Mỗi cột trong bảng được thiết kế để lưu trữ một loại thông tin cụ thể, chẳng hạn như tên, ngày tháng, số tiền và số.





NoSQL là gì?





NoSQL là một danh mục sắp ra mắt của Hệ thống quản lý cơ sở dữ liệu. Đặc điểm chính của nó là không tuân thủ các khái niệm cơ sở dữ liệu quan hệ. NoSQL có nghĩa là “Không chỉ SQL”.





Khái niệm về cơ sở dữ liệu NoSQL đã phát triển với những gã khổng lồ internet như Google, Facebook, Amazon… những người xử lý khối lượng dữ liệu khổng lồ.





Khi bạn sử dụng cơ sở dữ liệu quan hệ cho khối lượng lớn dữ liệu, hệ thống bắt đầu chậm lại về thời gian phản hồi.





Để khắc phục điều này, chúng ta có thể “mở rộng quy mô” hệ thống của mình bằng cách nâng cấp phần cứng hiện có.





Một giải pháp khác cho vấn đề trên là phân phối tải cơ sở dữ liệu trên nhiều máy chủ khi tải tăng lên. Điều này được gọi là “mở rộng quy mô”.





Cơ sở dữ liệu NoSQL là cơ sở dữ liệu không quan hệ có quy mô tốt hơn cơ sở dữ liệu quan hệ và được thiết kế với các ứng dụng web.





Họ không sử dụng SQL để truy vấn dữ liệu và không tuân theo các lược đồ nghiêm ngặt như các mô hình quan hệ.





Với NoSQL, các tính năng ACID (Atomicity, Consistency, Isolation, Durability) không phải lúc nào cũng được đảm bảo.





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





Với những ưu điểm của cơ sở dữ liệu NoSQL đã nêu, bạn có thể thắc mắc tại sao người ta vẫn muốn tìm hiểu về cơ sở dữ liệu SQL?





Cơ sở dữ liệu NoSQL là các hệ thống chuyên biệt cao và có cách sử dụng cũng như hạn chế đặc biệt của chúng. NoSQL phù hợp hơn với những ai xử lý khối lượng dữ liệu khổng lồ.





Phần lớn sẽ sử dụng cơ sở dữ liệu quan hệ và các công cụ liên quan.





Cơ sở dữ liệu quan hệ có những ưu điểm sau so với cơ sở dữ liệu NoSQL.





  • Cơ sở dữ liệu (quan hệ) SQL có mô hình quản lý và lưu trữ dữ liệu hoàn thiện (mature). Điều này rất quan trọng đối với người dùng doanh nghiệp.
  • Cơ sở dữ liệu SQL hỗ trợ khái niệm dạng xem cho phép người dùng chỉ xem dữ liệu mà họ được phép xem. Dữ liệu mà họ không được phép xem sẽ được ẩn.
  • Cơ sở dữ liệu SQL hỗ trợ thủ tục SQL được lưu trữ cho phép các nhà phát triển cơ sở dữ liệu triển khai một phần logic nghiệp vụ vào cơ sở dữ liệu.
  • Cơ sở dữ liệu SQL có mô hình bảo mật tốt hơn so với cơ sở dữ liệu NoSQL.




Thế giới đã không đi chệch hướng trong việc sử dụng cơ sở dữ liệu quan hệ. Ngày càng có nhiều nhu cầu về các chuyên gia có thể xử lý cơ sở dữ liệu quan hệ. Vì vậy, việc học cơ sở dữ liệu và các kiến ​​thức cơ bản về SQL vẫn có giá trị.





Sách học SQL





Dưới đây là một số sách SQL hàng đầu





SQL Tutorial for Beginners





Trong quyển này, bạn sẽ học các khái niệm Cơ sở dữ liệu cơ bản, các lệnh MS-SQL và các chủ đề nâng cao như SQL nối, Tạo, thêm và thả bảng, v.v.





SQL in 10 Minutes





SQL in 10 Minutes
SQL in 10 Minutes




Cuốn sách này cung cấp các ví dụ mã đầy đủ màu sắc để giúp bạn hiểu cách các câu lệnh SQL được cấu trúc. Bạn cũng sẽ có kiến ​​thức về các phím tắt và giải pháp.





SQL Cookbook





SQL Cookbook
SQL Cookbook




Trong cuốn này, bạn sẽ có thể học kỹ thuật đi bộ một chuỗi cho phép bạn sử dụng SQL để phân tích cú pháp các ký tự, từ hoặc các phần tử được phân tách của một chuỗi.





SQL: The Complete Reference





SQL: The Complete Reference
SQL: The Complete Reference




Cuốn sách này bao gồm các chủ đề Microsoft SQL quan trọng như các hàm Window, Xoay các hàng thành cột, xoay ngược các cột thành các hàng.





QL Pocket Guide: A Guide to SQL Usage





SQL Pocket Guide: A Guide to SQL Usage
SQL Pocket Guide: A Guide to SQL Usage




Cuốn sách hướng dẫn bạn cách hệ thống sử dụng các hàm SQL, cú pháp biểu thức chính quy và các hàm chuyển đổi kiểu. MUA NGAY





Bài học rút ra





  • Ngôn ngữ SQL được sử dụng để truy vấn cơ sở dữ liệu
  • SQL là viết tắt của gì hay SQL có nghĩa là: Ngôn ngữ truy vấn có cấu trúc
  • SQL được sử dụng cho:
    • Hệ thống RDBMS
    • Mô tả, xác định và thao tác dữ liệu
    • Tạo và thả Cơ sở dữ liệu & bảng
  • Các loại câu lệnh SQL: DDL, DML, DCL, TCL, DQL
  • Danh sách lệnh SQL: CREATE, INSERT, UPDATE, DELETE, SELECT, DROP
  • Các phần tử ngôn ngữ SQL: Từ khóa, Số nhận dạng, Chuỗi, Biểu thức, Biến, v.v.
  • NoSQL: có nghĩa là “Không chỉ SQL” là danh mục sắp tới của Hệ thống quản lý cơ sở dữ liệu
  • Phương pháp tiếp cận cơ sở dữ liệu có nhiều ưu điểm khi lưu trữ dữ liệu so với các hệ thống dựa trên tệp phẳng truyền thống




Nguồn: guru99.com