Sublanguage
A sublanguage is a subset of a language. Sublanguages occur in natural language, computer language, and relational databases.
In natural language
In informatics, natural language processing, and machine translation, a sublanguage is the language of a restricted domain, particularly a technical domain. In mathematical terms, "a subset of the sentences of a language forms a sublanguage of that language if it is closed under some operations of the language: e.g., if when two members of a subset are operated on, as by and or because, the resultant is also a member of that subset" [1] [2][3]. This is a specific term for what in most linguistic study is referred to a language variety or register [4].
In computer languages
The term sublanguage has also sometimes been used to denote a computer language that is a subset of another language. A sublanguage may be restricted syntactically (it accepts a subgrammar of the original language), and/or semantically (the set of possible outcomes for any given program is a subset of the possible outcomes in the original language).
Examples
For instance, ALGOL 68S was a subset of ALGOL 68 designed to make it possible to write a single-pass compiler for this sublanguage.
SQL (Structured Query Language) statements are classified in various ways,[5] which can be grouped into sublanguages, commonly: a data query language (DQL), a data definition language (DDL), a data control language (DCL), and a data manipulation language (DML).[6]
In relational database theory
In relational database theory, the term "sublanguage", first used for this purpose by E. F. Codd in 1970, refers to a computer language used to define or manipulate the structure and contents of a relational database management system (RDBMS). Typical sublanguages associated with modern RDBMS's are QBE (Query by Example) and SQL (Structured Query Language). In 1985, Codd encapsulated his thinking in twelve rules which every database must satisfy in order to be truly relational [7][8]. The fifth rule is known as the Comprehensive data sublanguage rule, and states:
- A relational system may support several languages and various modes of terminal use (for example, the fill-in-the-blanks mode). However, there must be at least one language whose statements are expressible, per some well-defined syntax, as character strings, and that is comprehensive in supporting all of the following items:
- Data definition
- View definition
- Data manipulation (interactive and by program)
- Integrity constraints
- Authorization
- Transaction boundaries (begin, commit, and rollback)
References
- Harris, Zellig (1988). Language and Information. New York: Columbia University Press.
- Kittredge, Richard; Lehrberger, John (1982). Sublanguage: Studies of language in restricted semantic domains. Berlin: Walter de Gruyter.
- Sager, Naomi; Nhàn, Ngô Thanh (2002). "The computability of strings, transformations, and sublanguage". In Nevin, Bruce E; Johnson, Stephen M (eds.). The Legacy of Zellig Harris (PDF). Amsterdam/Philadelphia: John Benjamins. pp. 79–120. Retrieved 22 September 2020.
- Karlgren, Jussi (1993). "Sublanguages and Registers – A Note On Terminology" (PDF). Interacting with Computers. 5 (3): 348–350. Retrieved 22 September 2020.
- SQL-92, 4.22 SQL-statements, 4.22.1 Classes of SQL-statements "There are at least five ways of classifying SQL-statements:", 4.22.2, SQL statements classified by function "The following are the main classes of SQL-statements:"; SQL:2003 4.11 SQL-statements, and later revisions.
- Chatham, Mark (2012). Structured Query Language By Example - Volume I: Data Query Language. p. 8. ISBN 978-1-29119951-2.
- Codd, E (October 14, 1985). "Computer World". Is Your DBMS Really Relational?.
- Codd, E (October 21, 1985). "Computer World". Does Your DBMS Run By The Rules?.