FACTOID # 165: Bolivia has 4,500 Navy personnel - which seems like quite a lot for a landlocked country.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


.QL
Paradigm: multi-paradigm,logic-paradigm,object-oriented-paradigm
Appeared in: 2007
Developer: Semmle
Typing discipline: static, strong
Major implementations: SemmleCode

.QL [ˈdotˈkjuˈɛl] is an object-oriented query language used to retrieve data from relational database management systems. It has flavours of a standard query language SQL and an object-oriented programming language Java. .QL is an object-oriented variant of the logic programming language, known in the databases community as Datalog. Hierarchical data can therefore be naturally queried in .QL in recursive manner. A programming paradigm is a paradigmatic style of programming (compare with a methodology, which is a paradigmatic style of doing software engineering). ... A multiparadigm programming language is a programming language that supports more than one programming paradigm. ... Logic programming (sometimes called logical programming) is programming that makes use of pattern-directed invocation of procedures from assertions and goals. ... An object-oriented programming language (also called an OO language) is one that allows or encourages, to some degree, object-oriented programming techniques such as encapsulation, inheritance, interfaces, and polymorphism. ... A software developer is a person who is concerned with one or more facets of the software development process, a somewhat broader scope of computer programming or a specialty of project managing. ... In computer science, a type system defines how a programming language classifies values and expressions into types, how it can manipulate those types and how they interact. ... On computer science, a datatype (often simply type) is a name or label for a set of values and some operations which can be performed on that set of values. ... In computing, strongly-typed, when applied to a programming language, is used to describe how the language handles datatypes. ... Look up Implementation in Wiktionary, the free dictionary. ... A database management system (DBMS) is computer software designed for the purpose of managing databases. ... SQL (IPA: or IPA: ), commonly expanded as Structured Query Language, is a computer language designed for the retrieval and management of data in relational database management systems, database schema creation and modification, and database object access control management. ... Java (Indonesian, Javanese, and Sundanese: Jawa) is an island of Indonesia and the site of its capital city, Jakarta. ... Datalog is a query and rule language for deductive databases that syntactically is a subset of Prolog. ...


Queries written in .QL are optimised, compiled into SQL and can then be executed in any major relational database management system. .QL query language is being used in SemmleCode to query a relational representation of Java programs.


.QL is developed at Semmle Limited and is based on the company's proprietary technology.

Contents

Language Features

.QL has several language features to make queries concise, intuitive and reusable:

  • Extensible type hierarchy
  • Methods and predicates
  • Definition before use

Example query

The sample query below illustrates use of .QL to query a Java program. This is how one would select all classes that contain more than ten public methods:

 from Class c, int numofm where numofm = count(Method m| m.getDeclaringType()=c and m.hasModifier("public")) and numofm > 10 select c.getPackage(), c, numofm 

In fact, this query selects not only all classes with more than ten public methods, but also their corresponding packages and the number of methods each class has.


See also

  • SQL - Structured Query Language
  • OQL - Object Query Language
  • Datalog - logic programming language
  • SemmleCode - Software testing tool that uses .QL language

SQL (IPA: or IPA: ), commonly expanded as Structured Query Language, is a computer language designed for the retrieval and management of data in relational database management systems, database schema creation and modification, and database object access control management. ... OQL (Object Query Language) is strongly simplified an object-based version of SQL designed specifically around the operational needs of the MWFM NMOS architecture. ... Datalog is a query and rule language for deductive databases that syntactically is a subset of Prolog. ... Software testing is the process used to help identify the correctness, completeness, security, and quality of developed computer software. ...

References

  • Hervé Gallaire and Jack Minker. Logic and Databases. Plenum Press, New York,1978.
  • Serge Abiteboul and Paris C. Kanellakis. Object identity as a query language primitive. In SIGMOD Rec, pages 159-173, ACM Press, 1989.
  • Oege de Moor, Elnar Hajiyev and Mathieu Verbaere. Object-oriented queries over software systems. In proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, page 91, ACM Press, 2007.

External Links

  • .QL language reference
  • Semmle Limited creators of .QL
Topics in database management systems (DBMS)view  talk  edit )

Concepts
Database • Database models • Database storage • Relational model • Distributed DBMS • ACID • Null
Relational database • Relational algebra • Relational calculus • Database normalization • Referential integrity • Relational DBMS 
Primary key, Foreign key, Surrogate key, Superkey, Candidate key  A database management system (DBMS) is computer software designed for the purpose of managing databases. ... In computing , a database can be defined as a structured collection of records or data that is stored in a computer so that a program can consult it to answer queries. ... A data model is not just a way of structuring data: it also defines a set of operations that can be performed on the data. ... Database tables/indexes are typically stored in memory or on hard disk in one of many forms, ordered/unordered Flat files, ISAM, Heaps, Hash buckets or B+ Trees. ... The relational model for database management is a database model based on predicate logic and set theory. ... According to Elmasri and Navathe (2004, p. ... Acidity redirects here. ... Columns in Relational database management systems (RDBMS) can optionally store NULL values. ... A relational database is a database that conforms to the relational model, and refers to a databases data and schema (the databases structure of how that data is arranged). ... Relational algebra, an offshoot of first-order logic, is a set of relations closed under operators. ... The relational calculus refers to the two calculi, the tuple calculus and the domain calculus, that are part of the relational model for databases and that provide a declarative way to specify database queries. ... Database normalization is a design technique for structuring relational database tables. ... An example of a database that has not enforced referential integrity. ... A relational database management system (RDBMS) is a database management system (DBMS) that is based on the relational model as introduced by E. F. Codd. ... In database design, a primary key is a value that can be used to identify a unique row in a table. ... In the context of relational databases, a foreign key is a referential constraint between two tables[1]. The foreign key identifies a column or a set of columns in one (referencing) table that refers to a column or set of columns in another (referenced) table. ... A surrogate key is a unique primary key generated by the relational database management system that is not derived from any data in the database and whose only significance is to act as the primary key. ... A superkey is defined in the relational model as a set of attributes of a relation variable (relvar) for which it holds that in all relations assigned to that variable there are no two distinct tuples (rows) that have the same values for the attributes in this set. ... In the relational model a candidate key of a relation variable (relvar) is a set of attributes of that relvar such that (1) at all times it holds in the relation assigned to that variable that there are no two distinct tuples with the same values for these attributes and...

Objects
Trigger • View • Table • Cursor • Log • Transaction • Index 
Stored procedure • Partition A database trigger is procedural code that is automatically executed in response to certain events on a particular table in a database. ... In database theory, a view is a virtual or logical table composed of the result set of a query. ... In relational databases, SQL databases, and flat file databases, a table is a set of data elements (values) that is organized using a model of horizontal rows and vertical columns. ... In database packages, the term cursor refers to a control structure for the successive traversal (and potential processing) of records in a result set as returned by a query. ... In in the field of databases in computer science, a transaction log (also database log or binary log) is a history of actions executed by a database management system to guarantee ACID properties over crashes or hardware failures. ... A database transaction is a unit of interaction with a database management system or similar system that is treated in a coherent and reliable way independent of other transactions that must be either entirely completed or aborted. ... It has been suggested that Bitmap index be merged into this article or section. ... A stored procedure is a subroutine available to applications accessing a relational database system. ... A partition is a division of a logical database or its constituting elements into distinct independent parts. ...

Topics in SQL
Select • Insert • Update • Merge • Delete • Join • Union • Create • Drop
  Begin work • Commit • Rollback • Truncate • Alter SQL (IPA: or IPA: ), commonly expanded as Structured Query Language, is a computer language designed for the retrieval and management of data in relational database management systems, database schema creation and modification, and database object access control management. ... A SELECT statement in SQL returns a result set of records from one or more tables. ... An SQL INSERT statement adds one or more records to a table in a relational database. ... An UPDATE statement in SQL changes data in one or more records in a relational database management system. ... Wikipedia does not have an article with this exact name. ... It has been suggested that this article or section be merged into Data Manipulation Language. ... A join combines records from two tables in a relational database and results in a new (temporary) table, also called joined table. ... In SQL the UNION operator combines the results of two SQL queries into a single table of all matching rows. ... A CREATE statement in SQL creates an object inside of a relational database management system (RDBMS). ... A DROP statement in SQL removes an object from a relational database management system (RDBMS). ... A BEGIN WORK statement in SQL starts a transaction within a relational database management system (RDBMS). ... A COMMIT statement in SQL ends a transaction within a relational database management system (RDBMS) and makes all changes visible to other users. ... In database technologies, a rollback is an operation which returns the database to some previous state. ... The Truncate statement removes all the data from a table. ... An ALTER statement in SQL changes the properties of an object inside of a relational database management system (RDBMS). ...

Implementations of database management systems

Types of implementations
Relational • Flat file • Deductive • Dimensional • Hierarchical • Object oriented • Object relational • Temporal • XML data stores A relational database is a database that conforms to the relational model, and refers to a databases data and schema (the databases structure of how that data is arranged). ... A simple diagram depicting conversion of a CSV-format flat file database table into a relational database table. ... A deductive database system is a database system which can make deductions (ie: infer additional rules or facts) based on rules and facts stored in the (deductive) database. ... A dimensional database is one which, rather than storing data in multiple two dimensional tables (as a relational databases does), represents key data entities as different dimensions. ... In a hierarchical data model, data are organized into a tree-like structure. ... In an object oriented database, information is represented in the form of objects like in object oriented programming. ... An object-relational database (ORD) or object-relational database management system (ORDBMS) is a relational database management system that allows developers to integrate the database with their own custom data types and methods. ... A temporal database is a database management system with built-in time aspects, e. ... In Software engineering, an XML database is a data persistence software system that allows data to be imported, accessed and exported in the XML format. ...

Database products
Object-oriented (comparison) • Relational (comparison) The following is a list of object-oriented database management systems. ... This article or section is not written in the formal tone expected of an encyclopedia article. ... // 4th Dimension Greenplum CA-Datacom Dataphor Daffodil database EnterpriseDB eXtremeDB DB2 FileMaker Greenplum Helix database Informix InterBase Kognitio, WX2 Linter Matisse Microsoft Jet Database Engine (part of Microsoft Access) Microsoft SQL Server Microsoft Visual FoxPro Mimer SQL mSQL Netezza NonStop SQL Openbase Oracle Oracle Rdb for OpenVMS OpenLink Virtuoso Universal... The following tables compare general and technical information for a number of relational database management systems. ...

Components
Query language • Query optimizer • Query plan • ODBC • JDBC Query languages are computer languages used to make queries into databases and information systems. ... The query optimizer is a component of database management system that is used to analyzes queries submitted to database server for execution, and then determines the optimal way to execute the query. ... A query plan (or query execution plan) is an set of steps used to access information in a SQL relational database management system. ... In computing, Open Database Connectivity (ODBC) provides a standard software API method for using database management systems (DBMS). ... Java Database Connectivity, or JDBC, is an API for the Java programming language that defines how a client may access a database. ...


  Results from FactBites:
 
Sinclair QL - Wikipedia, the free encyclopedia (1502 words)
Physically, the QL was the same fl colour as the preceding ZX81 and ZX Spectrum models, but introduced a new angular styling theme and keyboard design which would later be seen in the ZX Spectrum+.
Due to its rushed development, the QL was plagued by a number of problems from release, particularly bugs in the QDOS operating system and SuperBASIC which lead to multiple releases of the firmware.
QLs built by Samsung for export markets had DE-9 sockets for the RS-232 and joystick ports, instead of the unusual and UK-specific BS 6312 sockets found on UK-built QLs.
  More results at FactBites »


 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m