Giới thiệu về thuật toán rút gọn của Codd


12

Thuật toán của Codd chuyển đổi một biểu thức trong phép tính quan hệ tuple thành Đại số quan hệ.

  1. Có một thực hiện tiêu chuẩn của thuật toán?
  2. Là thuật toán này được sử dụng bất cứ nơi nào? (Có vẻ như ngành công nghiệp chỉ cần SQL và các biến thể, tôi không chắc về các nhà lý thuyết cơ sở dữ liệu trong giới hàn lâm.)
  3. Sự phức tạp của việc giảm là gì?

Điều này đã được đăng trên SO hơn một năm trước, nhưng nó không nhận được câu trả lời hay.

Câu trả lời:


8

Sự giảm này là kỹ thuật chứng minh mang tính xây dựng để chỉ ra rằng một tập hợp con (được đặt tên là an toàn) Tính toán quan hệ Tuple (TRC) ít biểu cảm hơn Đại số quan hệ (RA). Một cách khác cũng đúng, Safe-TRC và RA có sức mạnh biểu cảm tương đương. Xem Định lý 5.3.10 chẳng hạn. Hạn chế "an toàn" cú pháp đảm bảo thuộc tính độc lập miền của phép tính và là cần thiết.

Trong R-DBMS, SQL có thể được xem là ngôn ngữ cụ thể (khai báo) cho TRC. Bản sao RA là kế hoạch thủ tục (một chuỗi các hoạt động) trong đó một biểu thức SQL được biên dịch thành. Vì vậy, việc chuyển đổi thực sự là mô tả chính thức của quá trình biên dịch. Lưu ý rằng SQL giới thiệu các phần mở rộng như DISTINCT, ORDER BY, GROUP BY rõ ràng nằm ngoài phạm vi của lý thuyết TRC và RA.

Tôi không biết độ phức tạp lý thuyết chính xác của việc chuyển đổi, nhưng rõ ràng nó phải "rẻ". Photon Kola viêm nói rằng nó là tuyến tính.

Tôi không biết về việc triển khai bằng chứng khái niệm thuật toán này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.