|=--------------------------------------------------=|
  _________________  .____     ___________________
 /   _____/\_____  \ |    |    \_   _____/\______ \
 \_____  \  /  / \  \|    |     |    __)_  |    |  \
 /        \/   \_/.  \    |___  |        \ |    `   \
/_______  /\_____\ \_/_______ \/_______  //_______  /
        \/        \__>       \/        \/         \/


|=--------------------------------------------------=|
. |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.



|=--------------------------------------------------=|
; | o | Thanks Linux and Vim | Visit SQLOK | Donate  ;
|=--------------------------------------------------=|