• Znaczenie pojęcia:

    własność domkniętości

    Pozostałe definicje na literę W.

    ang. closure property

    W modelu relacyjnym jest to własność algebry relacji lub języka zapytań mówiąca o tym, że argumentami wyrażeń algebraicznych lub zapytań są relacje i ich wynikiem są także relacje. Zdaniem niektórych autorów, ta własność umożliwia dowolne zagnieżdżanie zapytań. Własność domkniętości jest także uważana za pożądaną cechę dla obiektowych języków zapytań, przy czym zarówno argumentami jak i wynikiem zapytań powinny być obiekty (kolekcje obiektów). Niestety, zarówno pojęcie domkniętości, jak i sposób rozumowania jego propagatorów, są oparte na formalnym nieporozumieniu, z kilku powodów:Własność domkniętości nie obowiązuje w pełni dla relacyjnych języków zapytań, gdyż semantyczne własności zapamiętanych relacji są różne od semantycznych własności relacji wygenerowanych przez zapytanie (np. zapamiętana relacja musi mieć nazwę i nazwy dla wszystkich atrybutów, zaś wyprodukowana w zasadzie nie musi; zapamiętaną relację można aktualizować, zaś wyprodukowanej nie można);Relacyjne języki zapytań włączają do nich byty nie będące relacjami, (np. stałe, zmienne programistyczne, warunki, wołania funkcji) i mogą wygenerować byt nie będący relacją (np. pojedynczą liczbę);Własność domkniętości nie jest niezbędnym warunkiem do zagnieżdżania zapytań, np. wyrażenia języka programowania, które można dowolnie zagnieżdżać, operują na zmiennych programistycznych, funkcjach i wartościach, ale mogą zwrócić tylko wartości (nie zwracają zmiennych i funkcji).Formalistyczne przeniesienie własności domkniętości na grunt obiektowych języków zapytań rodzi dyskusje, czy zapytanie ma zwracać "istniejące obiekty" (co bardzo ograniczyłoby moc języka zapytań), czy też ma tworzyć nowe obiekty z nowymi unikalnymi identyfikatorami (co rodzi problemy zarówno koncepcyjne, jak i implementacyjne). Uniknięcie tych pseudoproblemów jest bardzo proste: wystarczy zrezygnować z podanej wyżej własności domkniętości i przyjąć inną: mianowicie, że nazwy występujące w zapytaniu zawsze zwracają referencje do obiektów, zaś dowolne zapytanie zwraca pewną strukturę zbudowaną z referencji, nazw i wartości - nigdy nie zwraca obiektów. Te założenia pozwalają na zbudowanie poprawnej semantyki obiektowego języka zapytań umożliwiającego dowolne zagnieżdżanie zapytań. Reasumując, podejścia do semantyki języków zapytań oparte o własność domkniętości są naiwne, są pseudokoncepcjami nie oddającymi istoty problemu. Dodać należy, że większość formalnych podejść do obiektowych języków zapytań (F-logika, rachunek monoidów, algebry obiektowe) - poza podejściem stosowym (stack-based approach) - przyjmuje mniej lub bardziej explicite własność domkniętości. Jest to wystarczający powód, aby te podejścia były nieadekwatne do opisu semantyki rzeczywistych języków zapytań takich jak OQL

    domkniętości własność,
    property closure