Ngôn ngữ truy vấn

Bách khoa toàn thư mở Wikipedia
Các kiểu dữ liệu trong ngôn ngữ SQL, một trong những ngôn ngữ truy vấn phổ biến nhất với các lập trình viên.

Ngôn ngữ truy vấn (tiếng Anh: Query language) là tên gọi chung để chỉ các ngôn ngữ máy tính được dùng để tạo các truy vấn trong các cơ sở dữ liệu và các hệ thống thông tin.

Phân loại[sửa | sửa mã nguồn]

Nhìn chung, ngôn ngữ truy vấn được phân loại tùy theo việc mục đích sử dụng cho cơ sở dữ liệu hoặc để truy xuất dữ liệu trong hệ thống thông tin. Khác biệt giữa 2 loại ngôn ngữ này ở chỗ ngôn ngữ truy vấn cho cơ sở dữ liệu cung cấp cho người dùng kết quả của việc truy xuất còn ngôn ngữ truy vấn cho hệ thống thông tin sẽ tìm trong hệ thống những dữ liệu liệu chứ thông tin liên quan đến vấn đề yêu cầu.

Ví dụ[sửa | sửa mã nguồn]

Một số ví dụ tiêu biểu về ngôn ngữ truy vấn:

  • Attempto Controlled English[1][2] là một ngôn ngữ truy vấn, đồng thời cũng là một ngôn ngữ tự nhiên có kiểm soát (controlled natural languate).
  • AQL là ngôn ngữ truy vấn dùng cho cơ sở dữ liệu ArangoDB.[3]
  • .QL là một ngôn ngữ truy vấn hướng đối tượng dùng cho các cơ sở dữ liệu quan hệ, là ngôn ngữ kế thừa của Datalog.
  • CQL (Contextual Query Language) là một ngôn ngữ trang trọng (formal language) cho các truy vấn đại diện trong các hệ thống truy xuất thông tin như các chỉ mục trên websites hay các thư mục trong danh mục.
  • CQLF (CODYASYL Query Language, Flat) là một ngôn ngữ truy vấn cho các cơ sở dữ liệu dạng CODASYL.
  • Concept-Oriented Query Language (COQL)
  • Cypher là một ngôn ngữ truy vấn cho các đồ thị của cơ sở dữ liệu Neo4j;
  • DMX là ngôn ngữ truy vấn cho các mô hình Data Mining;
  • Datalog là ngôn ngữ truy vấn cho các cơ sở dữ liệu suy diễn (deductive databases);
  • F-logic
  • FQL
  • Gellish English
  • Gremlin
  • GraphQL là ngôn ngữ truy vấn phát triển bởi Facebook để thay thế cho REST và các kiến trúc webservice.
  • HTSQL là ngôn ngữ truy vấn dùng để chuyển đổi các HTTP queries thành SQL;
  • ISBL là ngôn ngữ truy vấn cho PRTV, một trong những hệ thống quản lí cơ sở dữ liệu quan hệ đầu tiên
  • LINQ: các mô tả truy vấn trong LinQ là cách để truy vấn dữ liệu từ các ngôn ngữ .NET
  • LDAP là một giao thức ứng dụng cho việc truy vấn và sửa đổi các dịch vụ thư mục chạy trên giao thức TCP/IP;
  • LogiQL;
  • MQL
  • MDX là ngôn ngữ truy vấn cho các cơ sở dữ liệu OLAP;
  • N1QL
  • NoSQL: NoSQL là một từ chung để chỉ các công nghệ thay thế cho kĩ thuật quản lí dữ liệu với bảng và ngôn ngữ cấu trúc (SQL), ví dụ điển hình cho NoSQL là MongoDB.[4]
  • OQL (Object Query Language) là ngôn ngữ truy vấn đối tượng;[5]
  • OCL (Object Constraint Language)
  • OttoQL, dùng cho các bảng truy vấn, kiểu dữ liệu XML và cơ sở dữ liệu.
  • OPath
  • Poliqarp Query Language là một ngôn ngữ truy vấn tìm kiếm đặc biệt được thiết kế để phân tích các đoạn văn bản chú thích, Ngôn ngữ này được dùng cho công cụ tìm kiếm Poligarp.[6][7]
  • PQL
  • QUEL là một ngôn ngữ tương tự như SQL, dùng để truy cập vào các cơ sở dữ liệu quan hệ
  • RDQL
  • ReQL là một ngôn ngữ truy vấn dùng trên RethinkDB;[8]
  • SMARTS
  • SPARQL
  • SPL là ngôn ngữ tìm kiếm cho các máy tính dữ liệu lớn, trên nền tảng Unix Pipping và SQL
  • SCL là một ngôn ngữ kiểm soát phần mềm cho truy vấn và kiểm soát các đối tượng Endevor
  • SQL là một trong những ngôn ngữ truy vấn phổ biến nhất với các lập trình viên, sử dụng cho các cơ sở dữ liệu quan hệ
  • SuprTool
  • TMQL (Topic Map Query Language) là một ngôn ngữ truy vấn cho Topic Maps
  • TQL là ngôn ngữ dùng cho các topo truy vấn[9]
  • Tutorial D là một ngôn ngữ truy vấn dùng cho các cơ sỡ liệu quan hệ quản lí hệ thống (TRDBMS: truly relational database management systems)[10]
  • XQuery là một ngôn ngữ truy vấn cho các dữ liệu kiểu XML[11]
  • XPath là ngôn ngữ khai báo (declarative language) để định hướng các dữ liệu XML;
  • XSPARQL
  • YQL là một ngôn ngữ truy vấn tương tự như SQL tạo bởi Yahoo!
  • Nhóm các ngôn ngữ truy vấn cho các công cụ tìm kiếm như Google hay Bing[12]

Chú thích[sửa | sửa mã nguồn]

  1. ^ “Attempto Project”. Truy cập ngày 1 tháng 8 năm 2020.
  2. ^ “Attempto Controlled English”. Truy cập ngày 1 tháng 8 năm 2020.
  3. ^ “ArangoDB v3.6.5 Documentation”. Bản gốc lưu trữ ngày 3 tháng 12 năm 2017. Truy cập ngày 1 tháng 8 năm 2020.
  4. ^ “No SQL Database; hostingdata.co.uk”. Truy cập ngày 1 tháng 8 năm 2020.
  5. ^ “OQL - Object Query Language; https://cse.buffalo.edu/”. Truy cập ngày 1 tháng 8 năm 2020. Liên kết ngoài trong |title= (trợ giúp)
  6. ^ “Trang web chính thức của Poligarp”.
  7. ^ “Poliqarp; poliqarp.sourceforge.net”. Truy cập ngày 1 tháng 8 năm 2020.
  8. ^ “Introduction to ReQL”. Truy cập ngày 1 tháng 8 năm 2020.
  9. ^ “Topology Query Language (TQL) Overview”.
  10. ^ 23 tháng 5 năm 2013.pdf “Tutorial D-ngày 23 tháng 5 năm 2013.pdf; dcs.warwick.ac.uk” Kiểm tra giá trị |url= (trợ giúp) (PDF). Truy cập ngày 1 tháng 8 năm 2020.[liên kết hỏng]
  11. ^ “XQuery Tutorial, w3schools.com”. Truy cập ngày 1 tháng 8 năm 2020.
  12. ^ “Web search Google”. Truy cập ngày 1 tháng 8 năm 2020.