Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
IBM Business System 12
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{refimprove|date=September 2016}} <!-- Image with disputed fair-use status removed: [[Image:IBM_logo.svg|right|50px|IBM logo]] --> {{Infobox software | title = IBM Business System 12 | name = IBM Business System 12 | logo = <!-- File name without 'File:' --> | logo caption = | logo alt = | logo size = | collapsible = <!-- Any text here will collapse the screenshot. --> | screenshot = <!-- File name without 'File:' --> | screenshot size = | screenshot alt = | caption = | other_names = | author = | developer = [[IBM]] | released = 1982 <!-- {{Start date and age|1982}} --> | ver layout = <!-- simple (default) or stacked --> | discontinued = <!-- Set to yes, if software is discontinued, otherwise omit. --> | latest release version = | latest release date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | latest preview version = | latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | repo = <!-- {{URL|example.org}} --> | qid = | programming language = | middleware = | engine = <!-- or |engines= --> | operating system = | platform = | included with = | replaces = | replaced_by = | service_name = | size = | standard = | language = | language count = <!-- Number only --> | language footnote = | genre = [[Relational database management system]] | license = Proprietary | website = <!-- {{URL|example.org}} or {{official URL}} --> | AsOf = }} '''Business System 12''', or simply '''BS12''', was one of the first fully [[relational database management system]]s, designed and implemented by [[International Business Machines|IBM]]'s ''Bureau Service'' subsidiary at the company's international development centre in [[Uithoorn]], [[Netherlands]]. 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]] as the standard. BS12's lasting contribution to history was the use of a new query language based on [[ISBL]], created at IBM's UK ''Scientific Centre''. Developers of the famous [[IBM System R|System R]] underway in the US at the same time were also consulted on certain matters concerning the engine, but the BS12 team rejected [[SQL]] 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 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]]s could be of type TABLE. Thus, a view could in effect be a new [[relational operator]] defined in terms of the existing operators. [[Edgar F. Codd|Codd]]'s [[Relational_algebra#Division (Γ·)|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 <code>TABLES</code> catalog, and then columns added to it by inserting into <code>COLUMNS</code>. In addition, BS12 was ahead of SQL in supporting user-defined functions and procedures, using a [[Turing complete]] sublanguage, [[Database trigger|triggers]], and a simple "call" interface for use by application programs, all in its very first release in 1982. ==Example== Sample query for determining which departments are over their salary budgets:<ref>[http://www.mcjones.org/System_R/bs12.html BS12 article on System R website] </ref> 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: <syntaxhighlight lang="sql"> -- (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 </syntaxhighlight> ==References== {{Reflist}} ==External links== *[http://www.mcjones.org/System_R/bs12.html Business System 12 (BS12)] *[http://www.c2.com/cgi/wiki?TopsQueryLanguage TQL/SMEQL - A draft query language influenced by BS12] [[Category:IBM software|Business System 12]] [[Category:Proprietary database management systems]] [[Category:1982 software]] [[Category:Query languages]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:Refimprove
(
edit
)
Template:Reflist
(
edit
)
Template:Template other
(
edit
)