IBM Business System 12 - IBM Business System 12
Business System 12 , o simplemente BS12 , fue uno de los primeros sistemas de administración de bases de datos completamente relacionales , diseñado e implementado por la subsidiaria Bureau Service de IBM en el centro de desarrollo internacional de la compañía en Uithoorn , Holanda . La programación comenzó en 1978 y la primera versión se entregó en 1982. Nunca se usó mucho y desapareció poco después de que se cerró la división en 1985, posiblemente porque IBM y otras compañías se decidieron por SQL como estándar.
La contribución 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 . También se consultó a los desarrolladores del famoso System R en curso en los EE. UU. Sobre ciertos asuntos relacionados con el motor, pero el equipo de BS12 rechazó SQL de manera inequívoca, convencido de que este lenguaje aparentemente poco sólido y difícil de usar (que en ese momento también era relacionalmente incompleto) nunca se pondría de moda.
BS12 incluyó una serie de características interesantes que aún no han aparecido en la mayoría de los sistemas basados en SQL, algunas como consecuencia de seguir el precedente ISBL, otras debido a un diseño deliberado. Por ejemplo, se podría parametrizar una vista y los parámetros podrían ser del tipo TABLE. Por lo tanto, una vista podría ser en efecto un nuevo operador relacional definido en términos de los operadores existentes. Codd 's operador DIVIDE se puso en práctica de esa manera.
Otra característica que podría haberse incluido fácilmente en los sistemas SQL fue el soporte para operaciones de actualización en las tablas del 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 TABLES
catálogo y luego agregar columnas insertando en COLUMNS
.
Además, BS12 estaba por delante de SQL en el soporte de funciones y procedimientos definidos por el usuario, utilizando un sublenguaje computacionalmente completo , disparadores y una interfaz de "llamada" simple para uso de programas de aplicación, todo en su primer lanzamiento en 1982.
Ejemplo
Consulta de muestra para determinar qué departamentos están por encima de sus presupuestos salariales:
T1 = SUMMARY(EMP, GROUP(DEPTNUM), EMPS=COUNT, SALSUM=SUM(SALARY)) T2 = JOIN(T1, DEPT) T3 = SELECT(T2, SALSUM > BUDGET)
Tenga en cuenta la "unión natural" en la columna común, DEPTNUM . Aunque algunos dialectos SQL admiten combinaciones naturales, para familiaridad, el ejemplo mostrará solo una combinación "tradicional". Aquí está el SQL equivalente para comparar:
-- (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
Ver también
- El Tercer Manifiesto : un refinamiento de las ideas que guiaron a BS12
- D (especificación del lenguaje de datos) : un supuesto sucesor del lenguaje de consulta de BS12