Theo Immerman , lớp phức tạp liên quan đến các truy vấn SQL chính xác là lớp truy vấn an toàn trong (truy vấn bậc một cộng với toán tử đếm): SQL nắm bắt các truy vấn an toàn. (Nói cách khác, tất cả các truy vấn SQL có độ phức tạp trong và tất cả các vấn đề trong có thể được biểu thị dưới dạng truy vấn SQL.)
Dựa trên kết quả này, từ quan điểm lý thuyết, có nhiều vấn đề thú vị có thể được giải quyết hiệu quả nhưng không thể diễn tả được trong SQL. Do đó, một phần mở rộng của SQL vẫn còn hiệu quả có vẻ thú vị. Vì vậy, đây là câu hỏi của tôi:
Có phần mở rộng của SQL (được triển khai và sử dụng trong ngành ) để nắm bắt (nghĩa là có thể diễn tả tất cả các truy vấn tính toán theo thời gian đa thức và không có truy vấn nào khác) không?
Tôi muốn một ngôn ngữ truy vấn cơ sở dữ liệu đáp ứng cả ba điều kiện. Thật dễ dàng để xác định một phần mở rộng sẽ mở rộng SQL và sẽ nắm bắt . Nhưng câu hỏi của tôi là nếu một ngôn ngữ như vậy có ý nghĩa từ quan điểm thực tế, vì vậy tôi muốn một ngôn ngữ đang được sử dụng trong thực tế. Nếu đây không phải là trường hợp và không có ngôn ngữ như vậy, thì tôi muốn biết liệu có lý do nào khiến ngôn ngữ đó không thú vị theo quan điểm thực tế không? Ví dụ, các truy vấn tăng trong thực tế thường đủ đơn giản để không cần một ngôn ngữ như vậy?