Articulo de referencia

IBM Business System 12

Business System 12 , o simplemente BS12 , fue uno de los primeros sistemas de gestión de bases de datos totalmente relacionales , diseñado e implementado por la filial Bureau Se...

Business System 12 , o simplemente BS12 , fue uno de los primeros sistemas de gestión de bases de datos totalmente relacionales , diseñado e implementado por la filial Bureau Service de IBM en el centro de desarrollo internacional de la compañía en Uithoorn , Países Bajos . La programación comenzó en 1978 y la primera versión se entregó en 1982. Nunca tuvo una amplia difusión y prácticamente desapareció poco después del cierre de la división en 1985, posiblemente porque IBM y otras compañías adoptaron SQL como estándar.

La contribución más duradera de BS12 a la historia fue el uso de un nuevo lenguaje de consulta basado en ISBL , creado en el Centro Científico de IBM en el Reino Unido . Los desarrolladores del famoso System R, que se estaba desarrollando en Estados Unidos al mismo tiempo, también fueron consultados sobre ciertos asuntos relacionados con el motor, pero el equipo de BS12 rechazó SQL de forma inequívoca, convencido de que este lenguaje, aparentemente poco sólido y difícil de usar (que en aquel entonces también era relacionalmente incompleto), nunca se popularizaría.

BS12 incluía varias características interesantes que aún no se encuentran en la mayoría de los sistemas basados ​​en SQL, algunas como consecuencia de seguir el precedente de ISBL, otras debido a un diseño deliberado. Por ejemplo, una vista podía parametrizarse y los parámetros podían ser de tipo TABLA. De este modo, una vista podía ser, en efecto, un nuevo operador relacional definido en términos de los operadores existentes. El operador DIVIDE de Codd se implementó de esa manera.

Otra característica que podría haberse incluido fácilmente en los sistemas SQL era la compatibilidad con operaciones de actualización en las tablas de catálogo (tablas del sistema que describen la estructura de la base de datos, como en SQL). Se podría crear una nueva tabla insertando una fila en el TABLEScatálogo y luego agregarle columnas insertándolas en COLUMNS.

Además, BS12 se adelantó a SQL en cuanto a la compatibilidad con funciones y procedimientos definidos por el usuario, utilizando un sublenguaje Turing completo , disparadores y una interfaz de "llamada" sencilla para su uso por programas de aplicación, todo ello en su primera versión de 1982.

Ejemplo

Ejemplo de consulta para determinar qué departamentos superan sus presupuestos salariales: [ 1 ]

T1 = RESUMEN(EMP, GRUPO(DEPTNUM), EMPS=CONTADOR, SALSUM=SUM(SALARIO)) T2 = UNIR(T1, DEPT) T3 = SELECCIONAR(T2, SALSUM > PRESUPUESTO)

Observe la "unión natural" en la columna común, DEPTNUM . Si bien algunos dialectos SQL admiten uniones naturales, para mayor familiaridad, el ejemplo mostrará solo una unión "tradicional". Aquí está el código SQL equivalente para comparar:

-- ( Versión SQL ) 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

Referencias

  1. Artículo BS12 en el sitio web de System R
  • Sistema Empresarial 12 (BS12)
  • TQL/SMEQL: un borrador de lenguaje de consulta influenciado por BS12.