Business System 12
Encyclopedia
Business System 12, or simply BS12, was one of the first fully relational database management system
Relational database management system
A relational database management system is a database management system that is based on the relational model as introduced by E. F. Codd. Most popular databases currently in use are based on the relational database model....

s, designed and implemented by IBM's Bureau Service subsidiary at the company's international development centre in Uithoorn
Uithoorn
Uithoorn is a municipality and a town in the Netherlands, in the province of North Holland.-Population centres :The municipality of Uithoorn consists of the following cities, towns, villages and/or districts: De Kwakel and Uithoorn.- History :...

, Netherlands
Netherlands
The Netherlands is a constituent country of the Kingdom of the Netherlands, located mainly in North-West Europe and with several islands in the Caribbean. Mainland Netherlands borders the North Sea to the north and west, Belgium to the south, and Germany to the east, and shares maritime borders...

. Programming started in 1978 and the first version was delivered in 1982. It was never widely used and essentially disappeared soon after the division was shut down in 1985, possibly because IBM and other companies settled on SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....

 as the standard.

BS12's lasting contribution to history was the use of a new query language based on ISBL
ISBL
ISBL is the relational algebra notation that was invented for PRTV, one of the earliest database management systems to implement E.F. Codd's relational model of data.-See also:...

, created at IBM's UK Scientific Centre. Developers of the famous System R
System R
IBM System R is a database system built as a research project at IBM San Jose Research in the 1970s. System R was a seminal project: it was a precursor of SQL, which has since become the standard relational data query language...

 underway in the US at the same time were also consulted on certain matters concerning the engine, but the BS12 team rejected SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....

 unequivocally, being convinced that this apparently unsound and difficult-to-use language (which at that time was also relationally incomplete) would never catch on.

BS12 included a number of interesting features that still have yet to appear on most SQL-based systems, some a consequence of following the ISBL precedent, others due to deliberate design. For instance, a view could be parameterised and parameter
Parameter
Parameter from Ancient Greek παρά also “para” meaning “beside, subsidiary” and μέτρον also “metron” meaning “measure”, can be interpreted in mathematics, logic, linguistics, environmental science and other disciplines....

s could be of type TABLE. Thus, a view could in effect be a new relational operator
Relational operator
In computer science, a relational operator is a programming language construct or operator that tests or defines some kind of relation between two entities. These include numerical equality and inequalities...

 defined in terms of the existing operators. Codd
Codd
Codd is a surname and may refer to:*Edgar F. Codd , British computer scientist*Frederick Codd , English Gothic revival architect*Hiram Codd , English engineer who invented and patented the Codd Bottle...

's DIVIDE operator was in fact implemented that way.

Another feature that could have easily been included in SQL systems was the support for update operations on the catalog tables (system tables describing the structure of the database, as in SQL). A new table could be created by inserting a row into the TABLES catalog, and then columns added to it by inserting into COLUMNS.

In addition, BS12 was ahead of SQL in supporting user-defined functions and procedures, using a computationally complete sublanguage, triggers, and a simple "call" interface for use by application programs, all in its very first release in 1982.

Example

Sample query from BS12 article on System R website for determining which departments are over their salary budgets:

T1 = SUMMARY(EMP, GROUP(DEPTNUM), EMPS=COUNT, SALSUM=SUM(SALARY))
T2 = JOIN(T1, DEPT)
T3 = SELECT(T2, SALSUM > BUDGET)

Note the "natural join" on the common column, DEPTNUM. Although some SQL dialects support natural joins, for familiarity, the example will show only a "traditional" join. Here is the equivalent SQL for comparison:

-- (SQL Version)
SELECT d.Deptnum, Count(*) as Emps,
Sum(e.Salary) as Salsum, Budget
FROM Emp as e
JOIN Dept as d ON e.Deptnum = d.Deptnum
GROUP BY d.Deptnum, Budget
HAVING Sum(e.Salary) > Budget

See also

  • The Third Manifesto
    The Third Manifesto
    The Third Manifesto is Christopher J. Date's and Hugh Darwen's proposal for future database management systems, a response to two earlier Manifestos with the same purpose. The theme of the manifestos is how to avoid the 'object-relational impedance mismatch' between object-oriented programming...

     (a refinement of the ideas that guided BS12)
  • D (data language specification)
    D (data language specification)
    D is a set of requirements for what Christopher J. Date and Hugh Darwen believe a relational database query language ought to be like. It is proposed in their book The Third Manifesto.-Overview:...

    (an alleged successor of BS12's query language)

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK