Projeksiyon (ilişkisel cebir) - Projection (relational algebra)
Gelen ilişkisel cebir , bir projeksiyon a, tekli işlem olarak yazılır , bir ilişkidir ve öznitelik isimleridir. Bu sonuç olarak tanımlanır grubu bileşenleri elde edilen dizilerini de set kısıtlanır - bu atar (veya hariç ), diğer özellikler.
Pratik anlamda, bir ilişki bir tablo olarak düşünülürse, projeksiyon, sütunlarının bir alt kümesini seçmek olarak düşünülebilir. Örneğin, öznitelikler (ad, yaş) ise, {(Alice, 5), (Bob, 8)} ilişkisinin öznitelik listesine (yaş) projeksiyonu {5,8} verir - isimleri attık, ve sadece hangi yaşların mevcut olduğunu bilir.
Öngörüler, öznitelik değerlerini de değiştirebilir. Örneğin, özellikleri olan , , , değerleri nerede ardından sayılardır gibidir , ancak tüm ile -değerlerinin yarıya.
Ilgili kavramlar
Küme teorisindeki yakından ilişkili kavram (bakınız: projeksiyon (küme teorisi) ) ilişkisel cebirinkinden farklıdır, çünkü küme teorisinde, niteliklere değil, sıralı bileşenlere projeksiyon yapılır. Örneğin , ikinci bileşene projeksiyon yapmak 7 verir.
Projeksiyon ilişkisel cebir yaptığı işin varoluşsal ölçümü de yüklem mantığı . Dahil edilmeyen öznitelikler , uzantısı işlenen ilişkisinin temsil ettiği yüklemdeki varoluşsal olarak nicelenmiş değişkenlere karşılık gelir . Aşağıdaki örnek bu noktayı göstermektedir.
Varoluşsal nicelemeyle uyuşma nedeniyle, bazı otoriteler projeksiyonu hariç tutulan nitelikler açısından tanımlamayı tercih eder. Bir bilgisayar dilinde, elbette her ikisi için de notasyonlar sağlamak mümkündür ve bu ISBL'de ve ISBL'den ipuçlarını almış birkaç dilde yapılmıştır.
Bir neredeyse aynı kavram kategorisinde oluşur Monoids bir adlandırılan, dize projeksiyon harflerin tamamını kaldırıp oluşur dize verilen bir ait olmayan alfabe .
SQL standardında uygulandığında , "varsayılan projeksiyon" bir set yerine bir çoklu set döndürür ve π projeksiyon, yinelenen verileri ortadan kaldırmak için DISTINCT
anahtar kelimenin eklenmesi ile elde edilir .
Misal
Bir örnek olarak, aşağıdaki iki tabloda gösterilen, Kişi ilişkisi ve bunun Yaş ve Kilo niteliklerine (bazıları "üzerinde" diyor) izdüşümü olan ilişkileri düşünün :
|
|
Kişinin yüklemi varsayalım "dir Adı olduğu yaş yaşında ve ağırlığında kilo ." Sonra verilen projeksiyon yüklem "söz konusudur, temsil Ad öyle ki adı olan yaş yaşında ve ağırlığında kilo ."
Harry ve Peter'ın aynı yaş ve kiloya sahip olduğuna dikkat edin, ancak sonuç bir ilişki ve dolayısıyla bir küme olduğundan, bu kombinasyon sonuçta yalnızca bir kez görünür.
Daha resmi olarak, projeksiyonun semantiği şu şekilde tanımlanır:
tuple'ın setle sınırlandırılması nerede , böylece
burada bir öznitelik değeri, bir öznitelik adı ve bu özniteliğin etki alanının bir öğesidir - bkz. İlişki (veritabanı) .
Bir çıkıntı sonucu sadece tanımlanan a, alt küme ve başlığın arasında .
Hiçbir öznitelik üzerinde projeksiyon mümkün değildir ve sıfır derece ilişkisini verir. Bu durumda, işlenen boşsa sonucun önem derecesi sıfırdır, aksi takdirde birdir. Sıfır derecesinin iki ilişkisi tablo olarak gösterilemeyen tek ilişkidir.