En sevdiğim örnek, Ashok Chandra ve Philip Merlin'in klasik bir 1977 sonucudur . Sorgu çevreleme sorununun konjonktürel sorgular için kararsız olduğunu gösterdiler. Bağlantılı sorgu içerme sorunu, iki giriş sorgusu arasında bir homomorfizm olup olmadığına karar vermeyle eşdeğerdir. Bu, sonsuz bir küme üzerinde nicelemeyi içeren, yalnızca sınırlı sayıda olası homomorfizmayı kontrol etmeyi gerektiren, sözdizimsel bir problemi tekrarlayan bir anlambilimsel problemi yeniden ifade eder. Homomorfizm sertifikası sadece doğrusal boyuttadır ve bu yüzden sorun NP cinsindendir.
Bu teorem, veritabanı sorgu optimizasyonu teorisinin temellerinden birini sağlar. Fikir, bir sorguyu bir başkasına daha hızlı bir şekilde dönüştürmektir. Bununla birlikte, biri optimizasyon işleminin, orijinal sorgunun sonuç ürettiği bazı veritabanlarına cevap veremeyen yeni bir sorgu oluşturmadığı güvencesini almak ister.
Resmen, bir veritabanı sorgusu biçiminin bir ifadesidir , burada , serbest değişkenlerin bir listesidir, bağımlı değişkenlerin bir listesidir ve , ilişkisel sembolleri olan bir dilin ve değişkenleriyle birinci dereceden bir formüldür . sorgusu varoluşsal ve evrensel niceleyiciler içerebilir, formül ilişkisel atomların bağlanma ve ayrılmalarını içerebilir ve olumsuzlama da görünebilir. Bir sorgu kümesi olan bir veritabanı örneğine ( uygulanır . Sonuç, bir takım kümelerdir; ne zamanx.Q(x,y)xyQ(x,y)xyQIt sonuç için ikame sonra formül sağlanabilir. Bir sonra iki sorgu karşılaştırabilirsiniz: bulunan zaman eğer keyfi bir veritabanı örneğine uygulanan bazı sonuçlar üretir, daha sonra aynı örneğine uygulanan de bazı sonuçlar üretir. ( sonuç ancak sonuç veriyorsa değil , ancak sınırlandırma için uygulamanın her olası örnek için geçerli olması gerekir.) Sorgu tutma sorunu sorar: iki veritabanı sorgusu verildixQ(t,y)Q1Q2Q1IQ2IQ1Q2Q1ve , , yer mu?Q2Q1Q2
Chandra-Merlin'den önce sorunun çözülebilir olduğu açık değildi. Sadece tanımını kullanarak, olası tüm veritabanlarının sonsuz kümesini ölçmek gerekir. Sorgular sınırlanmayan, o zaman bir sorun, aslında, undecidable: let daima doğrudur bir formül, daha sonra bulunan IFF geçerlidir. (Bu Hilbert'in 1936'da Kilise ve Turing tarafından kararsız olarak gösterilen Entscheidungsproblem'idir .)Q1Q1Q2Q2
Kararsızlığı önlemek için konjonktürel bir sorgu oldukça sınırlı bir şekle sahiptir: sadece varolan nicelleştiricileri içerir ve olumsuzlama ve ayrılmaya izin verilmez. Bu nedenle, yalnızca ilişkisel atomların birleşimiyle pozitif bir varoluşsal formüldür. Bu küçük bir mantık parçasıdır, ancak büyük miktarda yararlı veritabanı sorgusunu ifade etmek yeterlidir. SQL'deki klasik ifade, konjonktürel sorguları ifade eder; çoğu arama motoru sorgusu konjonktürel sorgulardır.QQSELECT ... FROM
Biri, sorgular arasındaki homomorfizmleri basit bir şekilde tanımlayabilir (biraz fazladan defter tutma ile grafik homomorfizmine benzer). Chandra-Merlin teoremi der ki: iki birletimli sorguları verilen ve , bulunan bir sorgu homomorfizması bir iff için . Bu, NP üyeliğini oluşturur ve bunun da NP zor olduğunu göstermek kolaydır.Q1Q2Q1Q2Q2Q1
- Ashok K. Chandra ve Philip M. Merlin, İlişkisel Veri Tabanlarında Konjonktürel Sorguların Optimal Uygulanması , STOC '77 77-90. doi: 10.1145 / 800105.803397
Sorgu çevrelemenin karar verilebilirliği daha sonra konjonktürel sorgular birliğine (ayrılmaya izin verilen yerde varolan pozitif sorgular) genişletildi, ancak izin verilmesi karmaşıklığı yükseltir . Karar alma ve karar verilemezlik sonuçları, daha genel bir sorgu tutma şekli için, cevap sayısını sayarken, ek açıklamaları provenatta birleştirirken veya sorguların sonuçlarını olasılık veritabanlarında birleştirirken ortaya çıkan semiring değerlerini içeren bir sonuç ortaya koymuştur.ΠP2