Про алгоритм скорочення Кодда


12

Алгоритм Кодда перетворює вираз у кортежному реляційному обчисленні в реляційну алгебру.

  1. Чи є стандартна реалізація алгоритму?
  2. Чи використовується цей алгоритм де-небудь? (Здається, що галузі потрібні лише SQL та варіанти, я не впевнений у теоретиках баз даних в академічних колах.)
  3. У чому складність скорочення?

Це було опубліковано на SO понад рік тому, але воно не отримало хорошої відповіді.

Відповіді:


8

Це зменшення є конструктивною методикою підтвердження того, що підмножина (названа безпечним) реляційним численням Tuple (TRC) є менш виразною, ніж реляційна алгебра (RA). Інший спосіб бути істинним, Safe-TRC і RA мають еквівалентну виразність. Наприклад, дивіться теорему 5.3.10 . Синтаксичне обмеження "безпеки" забезпечує властивість обчислення, яке не залежить від домену, і воно необхідне.

У R-СУБД SQL може розглядатися як конкретна (декларативна) мова для TRC. Колектор RA - це процедурний план (послідовність операцій), в який складається компресія SQL. Отже, перетворення - це фактично формальний опис процесу компіляції. Зауважте, що SQL вводить такі розширення, як DISTINCT, ORDER BY, GROUP BY, які явно виходять за межі теорії TRC та RA.

Я не знаю точної теоретичної складності перетворення, але явно вона повинна бути "дешевою". Фотон Колайтіс зазначає, що це лінійно.

Мені невідома реалізація цього алгоритму з доказовою концепцією.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.