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ó ampliamente y esencialmente 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ó inequívocamente SQL , 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 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 simple de "llamada" 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: [1]
T1 = RESUMEN (EMP, GROUP (DEPTNUM), EMPS = COUNT, SALSUM = SUM (SALARY)) T2 = UNIRSE (T1, DEPT) T3 = SELECCIONAR (T2, SALSUM> PRESUPUESTO)
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:
- (Versión SQL) SELECCIONAR d . Deptnum , Count ( * ) como Emps , Sum ( e . Salario ) como Salsum , Budget FROM Emp como e JOIN Dept as d ON e . Deptnum = d . Deptnum GROUP BY d . Departamento , Presupuesto TENIENDO Suma ( e . Salario ) > Presupuesto
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