Języki i Środowiska Programowania Baz Danych | |
|
10. Nazwy, zakresy i wiązanie Konstrukcję semantyki języka będziemy opierać na pojęciach nazywania, zakresu i wiązania (naming, scoping, binding) znanych z języków programowania i realizowanych poprzez stos środowisk. Każda nazwa występująca w zapytaniu będzie wiązana do bytu programistycznego czasu wykonania (trwałych danych i obiektów, atrybutów obiektów, procedur, metod, parametrów procedur i metod, lokalnych danych procedur itd.) zgodnie z zakresem właściwym dla tej nazwy. Reguły zakresu dla wiązania nazw będą ustalone poprzez znany stos środowisk, inaczej stos wołań (environment stack, call stack) występujący w nieomal wszystkich językach programowania. W odróżnieniu od języków programowania, gdzie stos środowisk przechowuje również wartości zmiennych/obiektów, dla języków zapytań konieczne okazało się oddzielenie stosu środowisk (ustalającego zakresy nazw) od składu obiektów. Wynika to m.in. stąd, że odwołania do pewnego obiektu mogą jednocześnie pojawić się w kilku sekcjach stosu. Ponadto, zakresy dla pewnych nazw mogą dotyczyć bazy danych, natomiast stos jest strukturą ulotną, istniejącą tylko na czas działania danej aplikacji. Stos nie będzie więc przechowywał obiektów, a jedynie ich identyfikatory (oraz wraz z nimi inne elementy). Ze względu na makroskopowy charakter języków zapytań, wiązanie danej nazwy (poprzez stos) może być wielowartościowe, tj. jednej nazwie może być przypisana jednocześnie pewna kolekcja bytów czasu wykonania. |
Copyrights © 2006 PJWSTK Materiały zostały opracowane w PJWSTK w projekcie współfinansowanym ze środków EFS. |