|=--------------------------------------------------=| _________________ .____ ___________________ / _____/\_____ \ | | \_ _____/\______ \ \_____ \ / / \ \| | | __)_ | | \ / \/ \_/. \ |___ | \ | ` \ /_______ /\_____\ \_/_______ \/_______ //_______ / \/ \__> \/ \/ \/ |=--------------------------------------------------=| . |02.06 - Query language . |=--------------------------------------------------=| Typical programming language consists of 3 main constructs. First is the language construct for data construction and definition. Using the language construct it's possible to create program's data structure. The second programming construct is the library of procedures and functions. These can be delivered together with the programming language or programmer can create own libraries. The third construct is the main algorithm translation to the programming language as a commands sequence. This sequence then controls the flow of the program. Formal language is composed from the alphabet or dictionary and contains final set of symbols. Word is composed from the alphabet's symbols of finite size. The sentence is composed from words. The language is any set of sentences. Grammar serves for exact definition of syntactical correctness of the composed sentence in given language. Except this grammar provides structural sentence description. Formal grammar and formal language come from the attempt to describe abstract principles of language structure. Formal grammar could be used for example to write a program to allow language analysis (Hopcroft and Ullman, 1969). The conceptual basis of query language is the formal language based on formal grammar apparatus. Formal language grammar in the context of query language is the complete set of rules to describe principle of composing word from syllable and sentences from words. Linguistic knows the term of generative grammar as structured set of basic elements. On this set applies rules. By application of rules on the elements structure it generates new data elements. There are two main principles for it's generation in generative grammar. The first principle advances from sentences categorization and applies rules for given part of sentences. In the next phase applies rules on the level of words. Second principle consists in the second direction so-called bottom-up. Second method implementation is more frequent in the field of categorical grammar and the initial point is the use of lexical elements called generators. To the generators are in the next phases applied rules. That create base. On the generators base are built more complex structures. Query language intended for communication with data basis is formal non-procedural language based on the principles of formal grammar. In the field of query languages the theoretical concept of formal language is applied as a mechanism to secure syntactical validity of queries. Codd specified relational operations for Query languages. It were operations of cartesian product, projection, joins, divisions and constraints. The relation operators provides different type of associative referencing. Except the principle of associative referencing there are other characteristics of non-procedural languages as aggregation operators. Aggregation operator are the basic principle enabling replacement of iteration known from procedural languages. Codd used concept of algebraic operators applied to relations. This is yet another character of non-procedural language. |=--------------------------------------------------=| |=--------------------------------------------------=|