Está en la página 1de 7

MultiBase

Herramienta 4GL-SQL para el


desarrollo de aplicaciones
MultiBase es un completo entorno de desarrollo constituido por
una base de datos relacional, un lenguaje de cuarta generacin
con interfaz SQL y un conjunto de herramientas Lower-CASE de
muy alta productividad.
MultiBase es independiente tanto del sistema operativo (el mismo
cdigo de una aplicacin es utilizable bajo UNIX o Windows), co-
mo del gestor de base de datos (que podr ser CTSQL propio de
MultiBase, Oracle o Informix).

MultiBase est orientado tanto a la pos mnimos de anlisis y programa-


creacin como a la utilizacin de apli- cin.
caciones de gestin, para lo que
cuenta con todas las caractersticas Adems, MultiBase presenta la ven-
necesarias para usuarios finales y taja de generar un cdigo nico para
programadores. Su interfaz da lugar a cualquier plataforma. Toda aplicacin
aplicaciones fciles de usar, autoex- desarrollada con MultiBase puede ser
plicativas y extraordinaria-
mente seguras. Sus sistemas
de ayuda en lnea y docu-
mentacin automtica cons-
tituyen una garanta de so-
porte al usuario. Al ser una
herramienta ligera, sus pres-
taciones son siempre bri-
llantes, aprovechando al
mximo los recursos hard-
ware disponibles.

Para el profesional, MultiBa-


se ofrece un entorno de utilizada bajo cualquier sistema ope-
desarrollo completo que permite rativo sin necesidad de realizar nin-
construir cualquier aplicacin. La guna transformacin o adaptacin de
combinacin del entorno de desarro- su cdigo. Programas cien por cien
llo TRANS y del lenguaje de cuarta transportables automticamente que
generacin CTL ofrece una elevada permiten obtener la mxima rentabi-
velocidad de desarrollo: generacin lidad a los desarrollos.
de prototipos altamente automatiza-
da, sistema integrado de depuracin Finalmente, por su arquitectura clien-
del cdigo, etc., lo que asegura tiem- te-servidor, MultiBase ofrece asimis-
mo una total independencia del ser- views, etc., todos los aspectos para down englobar todos los progra-
vidor de base de datos, pudiendo el mantenimiento de la estructura de mas generados.
emplear, adems del suyo propio la bases de datos que posteriormente
(CTSQL), los SGBD de Oracle o Infor- utilizarn las aplicaciones. Programacin
mix. Los mdulos del TRANS encargados
Catlogo de programacin de dar soporte de programacin
TRANS: Entorno de desarrollo A medida que el programador desa- permiten la clasificacin de mdulos
rrolla una aplicacin, TRANS mantie- y programas, definicin de progra-
de aplicaciones
ne automticamente un catlogo de mas, edicin, compilacin, ejecucin,
TRANS es la interfaz natural del pro-
programacin con toda la informa- depuracin y correccin de mdulos,
gramador con MultiBase. Un entorno
cin acerca de los objetos que com- enlazado de programas, cambios en
de desarrollo de aplicaciones alta-
ponen la aplicacin (programas, la clasificacin de un programa o
mente productivo que ofrece al pro-
mdulos, tablas, ndices, columnas, mdulo, renombrado de programas y
gramador, en un nico conjunto, to-
etc.). Entre otros, contiene datos co- mdulos, etc. En definitiva, todas
dos los elementos necesarios para
mo: aquellas tareas relativas al desarrollo
desarrollar su aplicacin.
de los programas de una aplicacin.
Quin edit un mdulo. Asimismo, TRANS se encarga del
TRANS engloba en un men estructu-
Cundo se edit un mdulo. mantenimiento de los ficheros de
rado, de manejo sencillo, todas aque-
Si un mdulo est compilado. ayuda de la aplicacin: su edicin y
llas funciones que un programador
Si un mdulo est compilado para compilacin.
necesita para desarrollar su aplica-
depuracin.
cin de forma muy automatizada.
Cmo estn clasificados los dife- Manejo interactivo del SQL
TRANS es una herramienta Lower- rentes mdulos y programas de la Para aquellas ocasiones en las que el
CASE para ayuda a la programacin aplicacin. programador necesita utilizar el SQL
que incluye: mantenimiento de es- Qu mdulos componen un pro- en modo interactivo, TRANS propor-
tructuras de bases de datos, desarro- grama. ciona un men con el que poder edi-
llo y mantenimiento de aplicaciones, Documentacin sobre todos los tar, probar, guardar, catalogar, etc.
generacin de prototipos, generacin objetos de la aplicacin. sentencias de SQL.
automtica de cdigo y documenta-
Aplicacin Necesidades habituales como probar
cin.
Durante el desarrollo de una aplica- sentencias de SQL que luego incluir
TRANS posee un entorno idntico cin sobre una base de datos, TRANS en programas, anulacin de opera-
bajo cualquier plataforma o sistema permite la compilacin automtica de ciones realizadas por un programa
operativo. Al incluir toda la funciona- todos sus mdulos y programas, la sobre la base de datos, o medida de
lidad necesaria no requiere del pro- generacin de un prototipo a partir tiempos de ejecucin de distintas
gramador ningn conocimiento del del esquema y la obtencin de infor- sentencias, obtienen as una respues-
sistema operativo. macin acerca de todos los elemen- ta sencilla y eficaz.
tos que la componen. Asimismo,
Mantenimiento de la base de datos TRANS permite definir los directorios Generacin de cdigo
TRANS incluye toda la funcionalidad en los que se irn guardando de for- Para crear rpidamente primeras
necesaria para la definicin y mante- ma automtica los distintos elemen- versiones de los distintos programas
nimiento de bases de datos. Permite tos. de una aplicacin, TRANS ofrece una
manejar el Lenguaje de Definicin de serie de opciones para la generacin
Datos del SQL (DDL) de una forma En el caso de la generacin de un de cdigo. Los programas generados
fcil, a travs de programas de entra- prototipo, TRANS escribir un pro- pasarn automticamente a formar
da de datos que hacen transparente grama de entrada de datos, un pro- parte del catlogo de programacin
al programador dicho manejo. grama de listado y un programa de del TRANS, con lo cual luego podrn
consulta para cada una de las tablas ser editados, modificados, etc. como
Creacin y mantenimiento de bases contenidas en la base de datos. Fi- si se tratase de programas creados
de datos, tablas, columnas, ndices, nalmente, un men de tipo pull- por el propio programador.

2
Los distintos tipos de programas que 1. Documentacin de Usuario: TRANS Los programas escritos con CTL son
el generador sabe crear son los si- permite la generacin automtica del 100% portables entre UNIX, Win-
guientes: manual de usuario de un programa o dows, redes de rea local, etc. CTL
una aplicacin, es decir, permite do- garantiza la escritura de un nico
Entrada de datos sobre una o va- cumentar un programa de forma ais- cdigo fuente portable a cualquier
rias tablas de la base de datos. lada o generar el manual de una apli- plataforma hardware.
Entrada de datos sobre dos tablas cacin completa a partir de un pro-
con estructura cabeceras-lneas. grama. En el segundo caso, se explora Caractersticas de implementacin
Listados a partir de sentencias de el programa de entrada, se documen- El lenguaje CTL posee dos comandos
SQL creadas con el EasySQL. ta y se hace lo mismo con todos los bien diferenciados, un compilador
Listados a partir de tablas comple- programas anidados hasta cualquier (ctlcomp) de cdigo fuente a pseudo-
tas de la base de datos. nivel. La documentacin generada cdigo, y un comando (ctl) que se
Listados a partir de views. puede ser impresa y editada para encarga de la ejecucin de dicho
Mens. introducir todas aquellas modifica- pseudo-cdigo, asegurando as la
ciones que el programador estime absoluta portabilidad del cdigo
En el caso de los mens, el generador fuente de unas plataformas a otras
convenientes.
de cdigo escribe un programa de sin modificacin alguna.
men que engloba todos los progra- 2. Documentacin de Programador:
mas desarrollados hasta ese momen- Para generar la documentacin del
to en la aplicacin. programador, TRANS utilizar toda la
informacin contenida en los catlo-
Generacin de documentacin
gos de programacin y en los catlo-
Una de las tareas que mayor tiempo
gos de sistema de la base de datos
consume es la documentacin de las
para elaborar un manual ordenado
aplicaciones desarrolladas. A este
que permita una rpida comprensin
respecto, TRANS proporciona un con-
de la aplicacin y su estructura, in-
junto de opciones que permiten la
formando de todos los aspectos par-
generacin automtica de documen-
ticulares de la misma.
tacin, tanto de usuario como de
programador, para cualquier aplica-
CTL: Lenguaje completo de
cin con l desarrollada. De esta for-
ma, la documentacin de una aplica- cuarta generacin Por otro lado, CTL posee su propio
cin no slo se convierte en algo ob- CTL es un lenguaje de programacin control de procesos, por lo que en el
vio, sino que, adems, se mantiene al que permite desarrollar cualquier caso de anidamiento de programas
da con el ltimo estado de la aplica- aplicacin de forma rpida y segura. no se realiza ninguna llamada al sis-
cin. Por su concepcin, CTL da lugar a tema operativo, sino que es el propio
programas muy potentes y de fcil lenguaje quien realiza la gestin de
Los generadores de documentacin mantenimiento, con un reducido los distintos procesos CTL que un
analizan y ordenan toda la informa- nmero de lneas. Entre otras, CTL usuario haya lanzado.
cin contenida en los catlogos de incluye todas las caractersticas de un
programacin, en la estructura de la autntico lenguaje de cuarta genera- Esta caracterstica reduce considera-
base de datos, en los ficheros de cin. blemente la carga del sistema opera-
ayuda y en los programas de la apli- tivo: por cada usuario que est ejecu-
cacin. Con toda esta informacin Dentro de la estructura cliente- tando una aplicacin solamente exis-
generan un manual estructurado en servidor propia de MultiBase, CTL tir en memoria un proceso.
captulos, secciones y subsecciones. acta como front-end frente al ser-
vidor de SQL (CTSQL). Asimismo, CTL Las aplicaciones desarrolladas con
Existen dos niveles de documenta- puede actuar tambin como cliente CTL no exigen al sistema operativo
cin: frente a otros servidores. ningn cambio de contexto, tarea
que en el caso del UNIX resulta de

3
costo muy elevado en trminos de En cualquier aplicacin real existen CTL est diseado para acoplarse
tiempo de ejecucin. elementos que slo pueden escribir- perfectamente con el SQL, eliminan-
se con mtodos procedurales. CTL do definitivamente estos problemas.
Todo esto proporciona una sorpren- resuelve este problema incluyendo Los tipos de datos en CTL y SQL son
dente velocidad de ejecucin de las en su gramtica no slo un rico con- idnticos, existiendo estructuras y
aplicaciones. Adems, los tiempos de junto de estructuras e instrucciones objetos especficos de comunicacin
carga de los distintos programas de la noprocedurales, sino tambin un entre ambos. El programador no
aplicacin son inapreciables, re- conjunto completo de instrucciones y aprecia diferencia alguna entre am-
sultndole al operador siempre ins- funciones procedurales equivalentes bos lenguajes, tratndose ambos
tantneos. a las del lenguaje de tercera genera- como uno solo.
cin ms avanzado.
Caracterstica fundamental de la im- 5. Interfaz con el sistema operativo:
plementacin de CTL es su avanzada 2. Estructurado y recursivo: Adems CTL posee la capacidad de comuni-
estructura de cliente. Es decir, el CTL de recursivo, CTL posee todas las es- carse de forma eficaz con el sistema
puede actuar no slo como cliente tructuras necesarias para realizar operativo mediante un conjunto de
del gestor de base de datos de Multi- programacin estructurada. Estas dos instrucciones y funciones especficas,
Base (CTSQL), sino con cualquier otro caractersticas, utilizadas conjunta- as como tambin las herramientas
servidor que el programador necesite mente, ofrecen al usuario tcnicas de necesarias para comunicarse con
para resolver los problemas especfi- programacin avanzadas, dando lu- otros procesos, la lectura y escritura
cos de su aplicacin. gar a programas fcilmente legibles y de ficheros de sistema operativo, ya
de gran efectividad. sean stos ASCII o binarios, y la lectu-
Arquitectura modular
ra/escritura desde/hacia dispositivos
Por su estructura, un programa de 3. Programacin por objetos: El len- cualesquiera.
CTL puede descomponerse en tantos guaje CTL dispone de una serie de
mdulos como el programador des- objetos predefinidos (variables, Depurador y objetos del lenguaje
ee. Cada uno de ellos ser cargado en arrays, parmetros, cursores, fra- CTL posee un depurador de progra-
memoria en tiempo de ejecucin, mes y forms, entre otros) con las mas que permite localizar cualquier
esto es, en el momento en que se instrucciones de manejo asociadas. error de forma precisa en un mnimo
realice la llamada a una funcin del Esta tcnica proporciona al progra- de tiempo. Incluyendo todas las op-
mdulo, y permanecern cargados mador un conjunto de herramientas ciones necesarias, su uso es extrema-
hasta el momento en que el CTL des- para el desarrollo de programas de damente sencillo.
aparezca de memoria. De esta forma, gran potencia en un nmero extre-
las libreras que sean utilizadas por madamente reducido de lneas de Adems de los objetos habituales
distintos programas slo sern car- cdigo. manejados por otros lenguajes
gadas una vez, en el momento de la (parmetros, variables y arrays),
primera llamada, y sern compartidas 4. SQL embebido: CTL incorpora un CTL dispone de una serie de objetos
por todos aquellos programas que las superset de SQL embebido (o em- que proporcionan la capacidad de
utilicen. potrado), que incluye adems en su programar de una forma rpida y
gramtica toda la del SQL. As, todas muy eficaz.
Estructura del lenguaje las funciones sobre la base de datos
CTL es una herramienta de gran pro- desde el CTL se harn siempre utili- Igual que sobre las variables numri-
ductividad caracterizada por: zando SQL. cas o alfanumricas hay definidas
implcitamente en el lenguaje opera-
1. Lenguaje No-Procedural. Set En otros 4GLs, este empotramiento ciones (la suma, la multiplicacin, la
completo 3GL: Un lenguaje de cuarta genera problemas de acoplamiento extraccin de caracteres, etc.) y fun-
generacin debe poseer como carac- (impedance mismatch), ocasiona- ciones asociadas, sobre los objetos
terstica principal un alto contenido dos por diferencias de gramtica, avanzados de CTL existen operacio-
no-procedural. Pero esta caractersti- instrucciones redundantes, inconsis- nes e instrucciones predefinidas.
ca por s sola no asegura que cual- tencia en los tipos de datos, etc.
quier aplicacin pueda ser escrita en ADD, REMOVE, QUERY, INPUT, DIS-
su totalidad con l. PLAY, etc., un conjunto de instruccio-
4
nes que permite el manejo de este definiciones SQL2 y SQL3 del mismo mantenimiento de los datos de la
tipo de objetos aadiendo enorme comit. base de datos.
potencia a la herramienta.
CTSQL dispone de cuatro sublengua- 3. DCL (Data Control Language), o
Estos objetos son: jes claramente diferenciados: Lenguaje de Control de Datos. Orien-

1. FORMS y FRAMES. Objetos espe-


cializados en la entrada de datos.
Mediante objetos de tipo FORM se
realiza directamente sobre una o
varias tablas de la base de datos. Con
objetos de tipo FRAME el programa-
dor podr utilizar los datos de mane-
ra muy flexible.

2. STREAMS. Canales de comunica-


cin entre una aplicacin desarrolla-
da con CTL y el sistema operativo.
Esta comunicacin podr ser tanto de
entrada como de salida.

3. CURSORES. Objetos que permiten


manejar desde CTL los resultados
provenientes del servidor de base de
datos (CTSQL).
1. DDL (Data Definition Language), o tado al control de permisos de acce-
4. MENS. Permiten definir tres tipos Lenguaje de Definicin de Datos. so, control de concurrencia y de tran-
de mens: Lotus, Pulldown y Orientado a la definicin y manteni- sacciones sobre la base de datos.
Pop-up. miento de la estructura de la base de
datos, es decir, creacin, borrado y 4. QL (Query Language), o Lenguaje
Funciones del CTL de Interrogacin de la Base de Datos.
mantenimiento de bases de datos,
CTL dispone de un amplio conjunto Conjunto de instrucciones de CTSQL
tablas, columnas, ndices, claves, etc.
de funciones ya definidas y de gran dedicadas a la extraccin de informa-
velocidad de ejecucin. 2. DML (Data Management Langua- cin de la base de datos.
ge), o Lenguaje de Gestin de Datos.
Instrucciones del CTL Reglas de integridad
Orientado a la insercin, borrado y
CTL dispone de un juego de ms de La salvaguardia de las reglas de inte-
100 instrucciones que se clasifican en gridad en una base de datos es una
los siguientes grupos: De control de de las precauciones que el progra-
flujo; de entrada, salida y asignacin; mador de aplicaciones debe observar
de FORM; de FRAME; de STREAMS y constantemente a la hora de escribir
de interfaz con el SQL. sus programas. As, por ejemplo, de-
ber tener cuidado de no permitir el
CTSQL: Lenguaje de acceso a la borrado de una fila de una tabla si
base de datos existen otras filas de otras tablas que
CTSQL es un superset del lenguaje hacen referencia a ella (integridad
SQL estndar definido por el comit referencial), o deber comprobar que
ANSI X3H2, al que se ha aadido una una columna cumpla ciertas condi-
funcionalidad adicional para suplir las ciones de chequeo (integridad de
carencias de dicha definicin, as co- check), etc.
mo caractersticas extendidas de las

5
Para resolver estos problemas, CTSQL que se debern colocar aquellos ca- una base de datos tras una cada del
proporciona diversos mecanismos de racteres que, de otra manera, no sistema.
integridad agrupados en dos clases seran ordenados correctamente en
diferenciadas: Integridad referencial la secuencia ASCII estndar (ees, EasyReport: Generador de in-
e integridad de diccionario. vocales acentuadas, etc.). formes de MultiBase
EasyReport es una herramienta que
Estos mecanismos consiguen dos VIEWS multitabla actualizables
permite al usuario final definir sus
objetivos fundamentales, por un la- En la implementacin de CTSQL se ha
propios informes a partir de la infor-
do, reducir el cdigo a escribir en los incluido la posibilidad de utilizar una
macin contenida en una base de
programas y, por otro, elevar la segu- VIEW para modificar las tablas base
datos, sin necesidad de conocer la
ridad de las aplicaciones construidas. de las que sta se deriva, ya sea in-
estructura interna de la misma y con
Cualquier control de integridad cedi- sertando nuevas filas, ya actualizando
total independencia tanto del entor-
do a CTSQL garantizar sta de forma las existentes, o borrndolas. Ello
no de trabajo como del gestor de
automtica, relevando al programa- supone que cualquiera de estas ope-
base de datos utilizado.
dor de dicha gestin. raciones se descompondr en las
correspondientes sobre las tablas EasyReport est especialmente dise-
1. Integridad referencial. La integri- base. ado para realizar de forma sencilla
dad referencial en CTSQL se ha im-
las siguientes tareas:
plementado a travs de un mecanis- Este tipo de actualizaciones a travs
mo de claves primarias y claves refe- de VIEWS implican ciertas restriccio- Obtencin dinmica de informes
renciales. Una tabla referenciada (por nes en su definicin, que varan de- de la base de datos sin necesidad de
ejemplo provincias) deber poseer pendiendo de que la VIEW se derive crear un programa para ello.
una clave primaria por la cual ser de una, de dos o de ms tablas. Facilitar el acceso a esta informa-
accedida desde una clave referencial cin para un usuario no experto.
definida en la tabla referencial (p. ej.: Outer joins
Ocultar la estructura interna de la
clientes o proveedores). Una operacin de JOIN define el en-
base de datos (nombres de tablas y
lace entre tablas a travs de una o
columnas, tipos de las columnas, re-
2. Integridad de diccionario. La inte- ms columnas cuyos valores cumplen
laciones entre tablas, columnas de
gridad de diccionario permite esta- una condicin de enlace.
enlace, etc.), de modo que el usuario
blecer condiciones de integridad en la
Tratamiento de Transacciones de la herramienta pueda acceder
definicin de las columnas de la base
La seguridad fsica y lgica de los da- fcilmente a toda la informacin con-
de datos, pudiendo definir diversos
tos es imprescindible en cualquier tenida en la base de datos.
atributos adems de los habituales
aplicacin de base de datos. En la Permitir a un usuario o grupo de
en otros SQLs.
prctica, son varias las causas que usuarios el acceso restringido a la
Cursores bidireccionales pueden daar una base de datos de- informacin de la base de datos.
La implementacin de cursores bidi- jando sus datos en un estado de in- Generar y catalogar fcilmente
reccionales en CTSQL permite el des- consistencia. informes parametrizables para su
plazamiento arriba y abajo en venta- posterior ejecucin.
nas de consulta (sobre la base de Para resolver este tipo de problemas,
CTSQL dispone de un mecanismo de Descripcin
datos) construidas mediante la ins-
manejo de transacciones por medio El resultado del diseo de una aplica-
truccin WINDOW del CTL.
del cual operaciones complejas de cin y la estructuracin de la infor-
Secuencia de ordenacin actualizacin de la base de datos macin en diferentes tablas y colum-
Para cada base de datos, CTSQL per- pueden ser tratadas unitariamente, nas hace que dicha informacin apa-
mite la definicin de una tabla que asegurando que, o se realizan todas rezca finalmente en la base de datos
especifica la secuencia de ordena- las operaciones, o no se realiza nin- de una forma dispersa, repartida
cin. guna. segn una estructura de datos que
normalmente no se corresponde con
En funcin del juego de caracteres Asimismo, CTSQL incorpora un meca- la estructura original.
utilizado, se indica la posicin en la nismo de recuperacin del estado de

6
Por lo general, la informacin referi- Para solventar estos problemas, Ea- Para poder definir y ejecutar un in-
da a un documento aparecer en la syReport ofrece dos posibilidades: forme con EasyReport (comando
base de datos en diversas tablas. La trw) es necesario haber definido
forma de recopilar esta informacin a) Creacin de uno o varios Esque- previamente al menos un ECD. Cada
consiste en establecer relaciones mas Conceptuales de Datos (ECDs) ECD suministrar la informacin ne-
entre estas tablas, de forma que des- por un programador que conozca la cesaria de aquellas tablas y columnas
de alguna de ellas se pueda obtener estructura de la base de datos. Este de la base de datos a las que se desee
el resto de informacin almacenada Esquema Conceptual de Datos ser el facilitar el acceso a un usuario o gru-
en las otras. que proporcione al usuario final una po de usuarios. La idea es que este
visin inteligible de la base de datos. acceso a la base de datos est limita-
Estas relaciones pueden expresarse do a la informacin que aparezca
definiendo claves referenciales (fo- b) Ejecucin del comando trw
definida en cada ECD.
reign keys) entre las tablas donde se pasndole como parmetro el Es-
almacenan los cdigos de acceso y las quema Conceptual de Datos definido. Se puede definir ms de un ECD para
tablas maestras que contienen la Dicho comando ser la herramienta una misma base de datos, de forma
informacin. En cualquier caso, y sin de usuario final y con ella podr defi- que cada usuario o grupo de usuarios
necesidad de crear estas claves refe- nir de forma intuitiva sus propios tenga acceso a uno solo de ellos.
renciales, el programador que conoce informes, ejecutarlos y catalogarlos
la estructura de la base de datos para su posterior ejecucin. EasyReport dispone de una utilidad,
podr obtener esta informacin apli- denominada gencds, que permite
Una vez definido un ECD, EasyReport la generacin automtica de un ECD a
cando una sentencia SQL.
permitir al usuario final la creacin y partir del nombre de una base de
Lgicamente, un usuario no experto catalogacin de informes de una datos, lo que facilita la labor del pro-
no conoce la estructura interna de la forma sencilla e intuitiva. gramador a la hora de definirlo.
base de datos, o es incapaz de poder
Esquema Conceptual de Datos (ECD) EasyReport puede funcionar tanto en
establecer una condicin de bsque-
Un Esquema Conceptual de Datos modo local como en instalaciones
da de los datos para obtener el mis-
est compuesto por la informacin con arquitectura cliente-servidor. En
mo resultado, a menos que la infor-
proporcionada por el analista o ad- este ltimo caso, EasyReport utiliza el
macin est almacenada en algn
ministrador de la base de datos con mdulo MultiWay, lo que le permite
lugar y la herramienta que le permita
el fin de conocer su estructura operar con distintos gestores de base
el acceso a los datos disponga de esta
semntica. de datos.
informacin.

C/ Santa Mara Magdalena, 10-12


28016 Madrid 7
www.base100.com