sábado, 10 de febrero de 2018

Sistemas gestores de bases de datos - Firebird y DBeaver

Firebird es un sistema de administración de base de datos relacional (o RDBMS) (Lenguaje consultas: SQL) de código abierto, basado en la versión 6 de Interbase, cuyo código fue liberado por Borland en 2000. Su código fue reescrito de C a C++. El proyecto se desarrolla activamente, el 18 de abril de 2008 fue liberada la versión 2.1 y el 26 de diciembre de 2009 fue liberada la versión 2.5.0 RC1. La versión 2.5.6, la más reciente de la serie 2.5, fue liberada el 04 de julio de 2016. El 19 de abril de 2016 fue liberada la versión 3.0.

A finales de la década de 1990, Borland decidió liberar el código de Interbase. Diversos integrantes de la plantilla crearon una nueva empresa denominada IBPhoenix, y junto a otros desarrolladores independientes, crearon el fork ahora conocido como Firebird. Más tarde, Borland decidiría volver a privatizar Interbase y comercializar sus licencias. Sin embargo, Firebird sigue siendo un proyecto de código abierto bajo una licencia similar a la MPL (Mozilla Public License).

Características de Firebird

  • Es multiplataforma, y actualmente puede ejecutarse en los sistemas operativos: Linux, HP-UX, FreeBSD, Mac OS, Solaris y Microsoft Windows.
  • Ejecutable pequeño, con requerimientos de hardware bajos.
  • Arquitectura Cliente/Servidor sobre protocolo TCP/IP y otros (embedded).
  • Soporte de transacciones ACID y claves foráneas.
  • Es medianamente escalable.
  • Buena seguridad basada en usuarios/roles.
  • Diferentes arquitecturas, entre ellas el Servidor Embebido1?(embedded server) que permite ejecutar aplicaciones monousuario en ordenadores sin instalar el software Firebird.
  • Bases de datos de sólo lectura, para aplicaciones que corran desde dispositivos sin capacidad de escritura, como cd-roms.
  • Existencia de controladores ODBC, OLEDB, JDBC, PHP, Perl, .net, etc.
  • Requisitos de administración bajos, siendo considerada como una base de datos libre de mantenimiento, al margen de la realización de copias de seguridad.
  • Pleno soporte del estándar SQL-92, tanto de sintaxis como de tipos de datos.
  • Completo lenguaje para la escritura de disparadores y procedimientos almacenados denominado PSQL.
  • Capacidad de almacenar elementos BLOB (Binary Large OBjects).
  • Soporte de User-Defined Functions (UDFs).
Instalación













DBeaver


Sirve para la gestion de bases de datos y soporta muchos motores como: MySQL, MSSQL, SQLite, Sybase, Firebird, PostgreSQL y muchos otros.

Caracteristicas de DBeaver
  • Navegar por los metadatos
  • Editar tablas, columnas, keys, etc.
  • Permite ejecutar scripts SQL
  • Resaltado de SQL (especifico para cada tipo de motor)
  • Autocompletador en el editor
  • Soporte para ver ye editar archivos BLOB
  • Exportar tablas o resultados de querys
  • Diagramas graficos de entidad-relacion
  • Gestion de proyectos
  • Y mucho mas que pueden encontrar en esta paginaAbrir en una ventana nueva.























viernes, 2 de febrero de 2018

Lenguajes de interfaz - Ejercicios de la unidad

Registro de banderas de EMU8086
Estados de las Banderas

Carry Flag (CF) - Este indicador se establece en 1 cuando se produce un desbordamiento de acarreo. Por ejemplo cuando se ejecuta el siguiente codigo:
mov al, 255
mov bl, 1
add al, bl
Recordemos que al y bl son registros de 8bits y que por lo tanto, el maximo valor decimal que pueden almacenar es 255

Zero Flag (ZF) - toma el valor 1 cuando el resultado es cero. Cuando el resultado es diferente de 0, entonces el valor de la bandera es 0. Ejemplo:
mov al, 1
mov bl, 1
sub al, bl

Sign Flag (SF) - toma el valor 1 cuando el resultado es negativo. Cuando el resultado es positivo se establece en 0. Ejemplo:
mov al, 1
mov bl, 3
sub al, bl

Overflow Flag (OF) - establece en 1 cuando hay un desbordamiento de signo. Por ejemplo, cuando se agrega hace la operacion 100 + 50 (resultado no está en el rango -128 ... 127)

Funcionamiento de las banderas y la instrucción CMP
La instrucción CMP compara los dos registros, siendo su sintaxis

cmp primero, segundo

Siendo su algoritmo:

primero - segundo.

Las banderas se modifican así:

Si resultado = 0 (primero == segundo):
ZF = 1; CF = 0

Si resultado > 0 (primero > segundo):
ZF = 0; CF = 0
SF = OF

Si resultado < 0 (primero < segundo):
ZF = 0; CF = 1
SF != OF

Ejemplos:








Programas

Programa que realiza una suma:

ORG 100h 

CALL Inicializar
CALL SumarAXBX
HLT                               ;Termina el proceso

Inicializar:
     MOV ax,8h
     MOV bx,9h
ret

SumarAXBX:
     ADD ax,bx
ret

Programa que realiza una resta:

ORG 100h 

CALL Inicializar
CALL Restar
HLT                             ;Termina el proceso

Inicializar:
     MOV ax,10
     MOV bx,12
ret

Restar:
     SUB ax,bx
ret

Programa que realiza una mutiplicación

ORG 100h

CALL Inicializar
CALL Multixbx
HLT                               ; Termina el proceso

Inicializar:
     MOV ax,8
     MOV bx,9
ret

Multixbx:
     MUL bx
ret

Programa que realiza una división

ORG 100h

CALL Inicializar
CALL Divixbx
HTL                                  ; Termina el proceso

Inicializar:
     MOV ax,9
     MOV bx,9
ret

Divixbx:
     DIV bx
ret

Programa que realiza una multiplicacion de 2 digitos por 2 digitos 

.model small
.stack


.data                  ; Aquí se declaran las variables donde se almacenara la información 
.code
   chr1  db ?        ; Primer digito de la multiplicacion
   chr2  db ?        ; Segundo digito de la multiplicacion
   chr3  db ?        ; Multiplo
   chr4  db ?
   r1    db ?          ; Primer resultado 
   r2    db ?          ; Segundo resultado
   r3    db ?
   r4    db ?
   ac    db 0           ; Acarreo
   ac1   db 0
.inicio
   ;cls
   MOV ah,00h      ; Complemento que se utiliza para poner el modo de video
   MOV al,03         ; Modo 80x25 8x8 16
   INT 10h             ; Interrupcion de video

   MOV ah,01h     ; Complemento para la interrupcion 21h que se utiliza para leer un caracter del teclado y desplegarlo 
   INT 21h             ; Interrupcion del DOS
   SUB al,30h        ; Se convierten los valores a decimal
   MOV chr1,al      ; [chr1].chr2 * chr3 = ac.r1.r2

   MOV ah,01h      ; Complemento para la interrupcion 21h que se utiliza para leer un caracter del teclado y desplegarlo 
   INT 21h             ; Interrupcion del DOS
   SUB al,30h       ; Se convierten los valores a decimal
   MOV chr2,al      ; chr1.[chr2] * chr3 = ac.r1.r2

   MOV ah,02h     ; Se encarga de posicionar el cursor en pantalla
   MOV dl,'*'          ; Caracter a mostrar
   INT 21h             ; Interrupcion del DOS

   MOV ah,01h     ; Complemento para la interrupcion 21h que se utiliza para leer un caracter del teclado y desplegarlo 
   INT 21h             ; Interrupcion del DOS
   SUB al,30h       ; Se convierten los valores a decimal
   MOV chr3,al     ; chr1.chr2 * [chr3] = ac.r1.r2
 
   MOV ah,01h      ; Complemento para la interrupcion 21h que se utiliza para leer un caracter del teclado y desplegarlo 
   INT 21h              ; Interrupcion del DOS
   SUB al,30h        ; Se convierten los valores a decimal
   MOV chr4,al       ; chr1.chr2 * [chr3] = ac.r1.r2

   MOV ah,02h       ; Se encarga de posicionar el cursor en pantalla
   MOV dl,'='           ; Caracter a mostrar
   INT 21h               ; Interrupcion del DOS

   ; A partir de aquí se realiza la operacion
 
   MOV al,chr4      ; Unidad del segundo numero
   MOV bl,chr2      ; Unidad del primer numero
   MUL bl               ; Multiplicacion
   MOV ah,0          ; Limpiamos la parte alta del registro AX
   AAM                  ; Separamos de hexadecimal a decimal
   MOV ac1,ah      ; Decenas de la primer multiplicacion
   MOV r4,al          ; Unidades de la primer multiplicacion
           
   MOV al,chr4      ; Unidades del segundo numero
   MOV bl,chr1      ; Decentas del primer numero
   MUL bl               ; Multiplicacion
   MOV r3,al          ; Movemos el resultado de la multiplicacion a nuestra variable r3
   MOV bl,ac1        ; Movemos el acarreo a la parte baja de nuestro registro BX 
   ADD r3,bl           ; Sumamos resultado r3 mas el acarreo almacenado previamente en bl
   MOV ah,00h       ; Limpiamos la parte alta del registro AX
   MOV al,r3           ; Movemos el resultado de la suma a la parte baja del registro AX
   AAM                   ; Separamos de hexadecimal a decimal
   MOV r3,al           ; Guardamos unidades en nuestra variable r3
   MOV ac1,ah       ; Guardamos las decenas en nuestra variable ac1
 
   MOV al,chr3          ; al = chr3
   MOV bl,chr2          ; bl = chr2
   MUL bl                  ; AL = chr3*chr2 (BL*AL)
   MOV Ah,0h         
   AAM                     ; Separamos de hexadecimal a decimal
   MOV ac,AH          ; ac = AH (Acarreo)
   MOV r2,AL           ; r2 = AL       (Unidad del resultado)

   MOV al,chr3         ; AL = chr3
   MOV bl,chr1         ; BL = chr1
   MUL bl                  ; AL = chr1*chr3 (BL*AL)
   MOV r1,al             ; r1 = AL       (Decena del resultado)
   MOV bl,ac             ; BL = Acarreo anterior
   ADD r1,bl             ; r1 = r1+ac (r1 + Acarreo)
   MOV ah,00h     ; Limpiamos la parte alta del registro AX
   MOV al,r1         ; AL = r1 (Asignaci?n para el ajust)
   AAM                 ; ASCII Adjustment
   MOV r1,al         ; r1 = AL
   MOV ac,ah      ; ac = AH (Acarreo para la Centena del resultado)
 
   ; Suma final
   ; R4 resulta ser las unidades de multiplicacion y no se toma en cuenta ya que se pasa entero

   MOV ax,0000h   ; Limpiamos el registro AX
 
   MOV al,r3           ; Movemos el segundo resultado de la primera multiplicacion a la parte baja de neustro registro AX
   MOV bl,r2           ; Movemos primer resultado de la segunda multiplicacion a la parte baja de nuestro registro BX
   ADD al,bl            ; Sumamos el registro AL y BL
   MOV ah,00h       ; Limpiamos el registro AX
   AAM                   ; Separamos de hexadecimal a decimal
   MOV r3,al           ; r3 guarda las decenas del resultado final
   MOV r2,ah          ; r2 se utiliza como nuevo acarreo
 
   MOV ax,0000h    ; Limpiamos el registro AX
 
   MOV al,ac1      ; Movemos el acarreo de la primera mult a al
   MOV bl,r1        ; Movemos segundo resultado de la segunda mult a bl
   ADD al,r2         ; Sumamos el nuevo  acarreo de la suma anterior  a al
   ADD al,bl          ; Sumamos al a bl
   MOV ah,00h     ; Limpiamos el registro ah
   AAM                 ; Separamos de hexadecimal a decimal
   MOV r1,al        ;r1 guarda las centenas
   MOV r2,ah       ; Ah se sigue utilizando como acarreo
 
   mov al,r2      ;movemos el acarreo a al
   mov bl,ac      ;movemos ac a bl
   add al,bl      ;sumamos al a bl
   ;aam            ;separamos hex a dec
   mov ac,al      ;mov al a ac como nuestro acarreo final
 
   ; Mostramos resultado
   mov ah,02h
   mov dl,ac
   add dl,30h
   int 21h        
  
  ;Mostramos ac (millar)

   mov ah,02H
   mov dl,r1
   add dl,30h
   int 21h       

 ;Mostramos r1 (centena)

mov ah,02H
   mov dl,r3
   add dl,30h
   int 21h        

;Mostramos r3 (decena)
 
   mov ah,02H
   mov dl,r4
   add dl,30h
   int 21h       

 ;unidad
 
.exit
end




miércoles, 31 de enero de 2018

Esquemas de un procesador


Resumen vídeo qué es FireBird

FireBird es una RDMS - Relational Database Management System (Sistema de bases de datos relacional)
En comparación a otros SGBD, FireBird es de codigo abierto, mismo que cuenta con MPL (Mozilla Public License). Puede ser usada tanto para bases de datos pequeñas tanto como para bases de datos para grandes empresas. CPEV - Costo Potencia Estabilidad Potencia. Nos permite trabajar con procedimientos o rutinas, los triggers son dispiradores que se utilizan para auditar la BD y son importantes porque ahí se refleja todo lo que sucede en nuestra base de datos, son algo así como una bitacora. 100% ACID - Automicity (Atómico) Consistency (Consistente) Isolation (aislamiento) Durability (Durabilidad). Arquitectura multigeneracional. Conectividad con:

  • * Nativo API
  • * DBExpress
  • * ODBC
  • * OLDB
  • * .Net
  • * JDBC
  • * Phyton

Lo podemos encontrar:

  • Classic Server (Un proceso por conección)
  • Super Server (proceso único para cada conección)
  • Embebed (portable)


viernes, 26 de enero de 2018

Registros de proposito general

Los registros del procesador se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son direccionables por medio de un nombre. Los bits por convención, se numeran de derecha a izquierda, como en:

… 12 11 10 9 8 7 6 5 4 3 2 1 0


Los registros de propósito general AX, BX, CX y DX son únicos en el sentido de que se puede direccionarlos como una palabra o como una parte de un byte. El ultimo byte de la izquierda es la parte “alta”, y el ultimo byte de la derecha es la parte “baja”. Por ejemplo, el registro CX consta de una parte CH (alta) y una parte Cl (baja), y usted puede referirse a cualquier parte por su nombre.

Registro AX. El registro AX, el acumulador principal, es utilizado para operaciones que implican entrada/salida y la mayor parte de la aritmética. Por ejemplo, las instrucciones para multiplicar , dividir y traducir suponen el uso del AX. También, algunas operaciones generan código mas eficiente si se refieren al AX en lugar de a los otros registros.
Registro BX. El BX es conocido como el registro base ya que es el único registro de propósito general que puede ser índice para direccionamiento indexado. También es común emplear el BX para cálculos.
Registro DX. El DX es conocido como l registro de datos. Alguna operaciones de entrada/salida requieren uso, y las operaciones de multiplicación y división con cifras grandes suponen al DX y al AX trabajando juntos.

Tema 1.2.- Análisis de los manejadores de bases de datos

El sistema manejador de bases de datos es la porción más importante del software de un sistema de base de datos. Un DBMS es una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de alguna tarea específica para permitir su uso de una manera segura, sencilla y ordenada. Se trata, en suma, de un conjunto de programas que realizan tareas de forma interrelacionada para facilitar la construcción y manipulación de bases de datos, adoptando la forma de interfaz entre éstas, las aplicaciones y los mismos usuarios.

Gestores de bases de datos de paga

MySQL:
es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de 2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual.Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C. Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y el copyright del código está en poder del autor individual, MySQL es patrocinado por una empresa privada, que posee el copyright de la mayor parte del código.

FileMaker: FileMaker Pro es una aplicación multiplataforma (Windows y Mac) de base de datos relacional de FileMaker Inc. (una subsidiaria de Apple Inc.). FileMakerintegra el motor de la base de datos con la interfaz, lo que permite a los usuarios modificar la base de datos al arrastrar elementos (campos, pestañas, botones...) a las pantallas o formas que provee la interfaz.FileMaker evolucionó de una aplicación de MS-DOS, que se desarrolló primariamente para Apple Macintosh. Desde 1992 está disponible para Microsoft Windows y se puede utilizar como un ambiente heterogéneo. FileMaker está disponible para desktop, servidor y configuraciones web. La característica que define a FileMaker es que el motor de la base de datos está integrado con las vistas (pantallas, reportes, etc.) que se utilizan para acceder a él. La mayoría de las bases de datos separan estos elementos y se concentran primariamente en la organización y almacenamiento de datos.

Advantage Database: Ofrece una ruta de crecimiento para las aplicaciones de bases de datos integradas, que permite que las aplicaciones utilicen conjuntos de funciones de nivel empresarial. Los desarrolladores que utilizan Advantage Database Server tienen la flexibilidad de utilizar varias plataformas y diferentes lenguajes de desarrollo con controladores nativos. Requiere poco o nada de mantenimiento

dBase: BASE fue el primer Sistema de gestión de base de datos usado ampliamente para microcomputadoras, publicado por Ashton-Tate para CP/M, y más tarde para Apple II, Apple Macintosh, UNIX, VMS, e IBM PC bajo DOS donde con su legendaria versión III Plus se convirtió en uno de los títulos de software más vendidos durante un buen número de años.dBASE nunca pudo superar exitosamente la transición a Microsoft Windows y terminó siendo desplazado por productos más nuevos como Paradox, Clipper, y FoxPro. Incorporaba un lenguaje propio interpretado y requería un LAN PACK para funcionar sobre red local. En 1988 llegó finalmente la versión IV. dBASE fue vendido a Borland en 1991. Al poco tiempo promovió una casi intrascendente versión 5, de la que llegó a haber versión para Windows. Luego vendió los derechos de la línea de productos en 1999 a dataBased Intelligence, Inc. (dBI) que sigue comercializando nuevas versiones, llamadas dBASE Plus, desde 1999. Durante la primera mitad de los '80s muchas otras compañías produjeron sus propios dialectos o variaciones del producto y lenguaje. Estos incluyeron FoxPro (ahora Visual FoxPro), Quick-Silver, Clipper, Xbase++, FlagShip, y Harbour. Todos ellos son llamados informalmente como xBase o XBase. El formato subyacente de dBASE, el archivo dbf, es ampliamente utilizado en muchas otras aplicaciones que necesitan un formato simple para almacenar datos estructurados. dBASE fue licenciado a los usuarios por un plazo de quince años basado en el inconcebible evento de que un usuario utilizara su copia de dBASE por tan largo período.

Fox Pro: (acrónimo de FoxBASE Professional) es un lenguaje de programación orientado a objetos, que a la vez es un Sistema Gestor de Bases de datos o Database Management System (DBMS), publicado originalmente por Fox Software y posteriormente por Microsoft, para los sistemas operativos MS-DOS, MS Windows, Mac OS y UNIX.Aunque FoxPro es un DBMS y como tal soporta relaciones entre las tablas, no se le considera como un Sistema administrador de bases de datos relacionales (o RDBMS), por no soportar las transacciones.

gsBase: Es un Sistema de desarrollo cliente/servidor que permite la creación, diseño, ejecución y mantenimiento de aplicaciones de gestión o cálculo. IDE (integrated development environment). Incluye una potentísima Base de datos relacional y transaccional con registros multidimensionales de longitud variable.

IBM DB2: DB2 es una marca comercial, propiedad de IBM, bajo la cual se comercializa un sistema de gestión de base de datos.DB2 versión 9 es un motor de base de datos relacional que integra XML de manera nativa, lo que IBM ha llamado pureXML, que permite almacenar documentos completos dentro del tipo de datos xml para realizar operaciones y búsquedas de manera jerárquica dentro de éste, e integrarlo con búsquedas relacionales. La compatibilidad implementada en la última versión, hace posible la importación de los datos a DB2 en una media de 1 o 2 semanas, ejecutando PL/SQL de forma nativa en el gestor IBM DB2 La automatización es una de sus características más importantes, ya que permite eliminar tareas rutinarias y permitiendo que el almacenamiento de datos sea más ligero, utilizando menos hardware y reduciendo las necesidades de consumo de alimentación y servidores. La memoria se ajusta y se optimiza el rendimiento del sistema, con un interesante sistema que permite resolver problemas de forma automática e incluso adelantarse a su aparición, configurando automáticamente el sistema y gestión de los valores.

IBM Informix: Informix es una familia de sistema de gerencia de base de datos emparentada Productos (RDBMS) cerca IBM. Se coloca como servidor de los datos del buque insignia de IBM para tratamiento transaccional en línea (OLTP) así como soluciones integradas. IBM adquirió la tecnología de Informix en 2001 del software de Informix.

Interbase de CodeGear: es un Sistema de Administración y gestion de Base de Datos Relacionales (RDBMS) desarrollado y comercializado por la compañía Borland Software Corporation y actualmente desarrollado por su ex-filial CodeGear.Interbase se destaca de otros DBMS's por su bajo consumo de recursos, su casi nula necesidad de administración y su arquitectura multi-generacional. InterBase corre en plataformas Linux, Microsoft Windows y Solaris. Interbase es un RDBMS que acepta el estándar SQL-92 y soporta varias interfaces de acceso como JDBC, ODBC y ADO.NET. Sin embargo, ciertas características técnicas lo distinguen de otros productos. Una instalación completa del servidor de Interbase 7 requiere aproximadamente 40Mb en disco. Esto es significativamente mas pequeño que la instalación del cliente de muchos servidores de base de datos de otras compañías. El servidor usa muy poca memoria mientras está ocioso. Una instalación mínima de un cliente InterBase requiere aproximadamente 400Kb de espacio en disco.


MAGIC eDeveloper: puede ser utilizado para el desarrollo de aplicaciones Internet y Cliente/Servidor, que utilicen Sistemas Manejadores de Bases de Datos (DBMS). Dependiendo del tipo de licencia, eDeveloper puede usar un Servidor de Licencias para administrar la licencia de todos los usuarios (Flexlm).

Microsoft Access: Es un programa, utilizado en los sistemas operativos Microsoft Windows, para la gestión de bases de datos creado y modificado por Microsoft y orientado a ser usado en entornos personal o en pequeñas organizaciones. Es un componente de la suite Microsoft Office. Permite crear ficheros de bases de datos relacionales que pueden ser fácilmente gestionadas por una interfaz gráfica sencilla. Además, estas bases de datos pueden ser consultadas por otros programas. Dentro de un sistema de información, entraría dentro de la categoría de gestión, y no en la de ofimática, como podría pensarse. Este programa permite manipular los datos en forma de tablas (formadas por filas y columnas), crear relaciones entre tablas, consultas, formularios para introducir datos e informes para presentar la información.

Microsoft SQL Server: Microsoft SQL Server es un sistema para la gestión de bases de datos producido por Microsoft basado en el modelo relacional. Sus lenguajes para consultas son T-SQL y ANSI SQL. Microsoft SQL Serverconstituye la alternativa de Microsoft a otros potentes sistemas gestores de bases de datos como son Oracle o PostgreSQL o MySQL.
Este sistema incluye una versión reducida, llamada MSDE con el mismo motor de base de datos pero orientado a proyectos más pequeños, que en sus versiónes 2005 y 2008 pasa a ser el SQL Express Edition, que se distribuye en forma gratuita.

NexusDB: es un motor de base de datos comercial para el Delphi , C + + Builder y . NET lenguajes de programación creado por Nexus Sistemas de bases de datos Pty Ltd. fue creado como un sucesor del sistema FlashFiler del Turbo Pascal días. El motor de base de datos compatible con el SQL: 2003 junto con la base estándar SQL funcionalidad.

Open Access: desarrollado por la compañía estadounidense Software Products International (SPI) entre 1984 y 1992, era un conjunto de aplicaciones de escritorio orientadas a la gestión administrativa de pequeñas y medianas empresas.Se ejecutaba en modo texto bajo entorno MS-DOS. A diferencia de las aplicaciones de línea de comandos de aquella época, el acceso a todas las funciones se podía llevar a cabo mediante selección de opciones de menú, y también por reasignación de teclas de función. Aunque en principio no disponía de soporte para ratón, ofrecía menús contextuales similares a los de un botón secundario. Además, todos los módulos se integraban en un centro de control, compartían una interfaz similar y facilitaban el intercambio de datos entre sí. Este diseño compacto y unitario utilizaba de modo más eficiente los recursos de hardware y superaba las limitaciones del sistema operativo DOS para la multitarea. Compartían el mismo enfoque otros productos rivales de aquella época (segunda mitad de los años ochenta), como Framework (de Ashton-Tate),Lotus Symphony y, más tarde, Microsoft Works. Se englobaban en la categoría de los paquetes integrados, que más tarde serían desplazados por las suites ofimáticas. OA incluía cuatro módulos principales: gestor de bases de datos, hoja de cálculo, procesador de textos y entorno de desarrollo, además de utilidades para el trabajo de oficina en colaboración, como soporte de comunicaciones, funciones de red, creación y edición de macros, generación de gráficos, cliente de correo, presentaciones y agenda.

Oracle: es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), desarrollado por Oracle Corporation. Se considera a Oracle como uno de los sistemas de bases de datos más completose considera a Oracle como uno de los sistemas de bases de datos más completos.

Paradox: Base de datos relacional para entorno MS Windows, anteriormente disponible para MS-DOS y Linux, desarrollada actualmente por Corel e incluida en la suite ofimática WordPerfect Office.En los tiempos del MS-DOS, era una base de datos de bastante éxito, compitiendo con dBase, Clipper y FoxBase. Pasó al control de Borland después de la compra de Ansa Software en 1987. Aunque Borland la portó a Windows, su cuota de mercado es mucho menor que la de Microsoft Access, pero su lenguaje de programación (ObjectPAL) es Pascal, lo que le hace más potente que Access, que usa Visual Basic y esto limita bastante sus prestaciones si se compara con otras bases de datos que usan lenguajes más avanzados. Con su Runtime se puede desarrollar una aplicación usando una sola licencia sin limitación de puestos.

PervasiveSQL: Motor de base de datos embebible que sustenta la integridad de los datos, el alto rendimiento, flexibilidad, escalabilidad y un bajo coste total de propiedad.

Progress (DBMS): Progress Enterprise RDBMS está diseñado para grandes ambientes empresariales y el procesamiento de transacciones a través de las aplicaciones más demandantes de hoy día, basadas en procesamiento de transacciones en línea (OLTP) utilizando SQL y Progress 4GL (ver figura 2). Cimentado en una arquitectura flexible, de multienlaces y multiservidor, Progress Enterprise RDBMS es una base de datos empresarial a gran escala, poderosa y abierta, que puede ejecutarse a través de múltiples plataformas de hardware y redes.
Progress Enterprise RDBMS incluye toda la funcionalidad necesaria para satisfacer los requerimientos OLTP más demandantes. Estas capacidades incluyen bloqueo a nivel de registro, recuperación "roll-back" y "roll-forward", recuperación "point-in-time", administración de la base de datos distribuida con "two-phase commit", un juego completo de utilidades en línea y soporte completo para ANSI estándar SQL-92. Una combinación de poder, flexibilidad y fácil operación hacen de Progress Enterprise RDBMS un sistema ideal para un amplio rango de aplicaciones comerciales y de procesamiento de datos. Sofisticadas capacidades autoajustables e interfaces gráficas simples para la administración del sistema, hacen de Progress Enterprise RDBMS un sistema más sencillo de instalar, afinar y administrar que otros productos. Con bajos costos de administración, un bajo costo inicial por licencias y costos mínimos por actualización, Progress Enterprise RDBMS proporciona una ventaja significativa en el costo de propiedad sobre los productos de bases de datos de la competencia.

Sybase ASE: Adaptive Server Enterprise (ASE) es el motor de bases de datos (RDBMS) insignia de la compañía Sybase. ASE es un sistema de gestión de datos, altamente escalable, de alto rendimiento, con soporte a grandes volúmenes de datos, transacciones y usuarios, y de bajo costo, que permite: Almacenar datos de manera segura, Tener acceso y procesar datos de manera inteligente, Movilizar datos

Sybase ASA: Sybase Adaptive Server Anywhere (ASA) es un Sistema administrador de bases de datos relacionales (RDBMS) de alto rendimiento, que dentro de su funcionalidad incluye gestión de transacciones, un optimizador de consultas auto-afinable, integridad referencial, procedimientos almacenados Java y SQL,triggers, bloqueo a nivel de registro, programación de eventos y recuperación automática. ASA es desarrollado por iAnywhere, subsidiaria de Sybase.

Sybase IQ: es un motor de bases de datos altamente optimizado para inteligencia empresarial, desarrollado por la empresa Sybase. Diseñado específicamente para entregar resultados más rápidos en soluciones de inteligencia empresarial analítica de misión crítica, almacenes de datos y generación de reportes, Sybase IQ combina velocidad y agilidad, con un bajo costo total de propiedad, lo que permite a las empresas llevar a cabo análisis de datos y generación de reportes antes impensables, imprácticos o costosos. La más reciente versión de Sybase IQ es la 15.2

WindowBase: WindowBase era un sistema de gestión de base de datos relacionales (SGBD) desarrollado por Software Products International como el sucesor natural de su famoso gestor para MS-DOS Open Access. Anunciada en 1991 es presentado en Europa en el CeBIT 1992 siendo inicialmente distribuida por las filiales europeas de SPI.SPI respondía así a la competencia creciente de aplicaciones que ya venían explotando las ventajas de la interfaz gráfica de usuario (GUI) de Microsoft Windows 3.x, demanda que acabaría acaparando el propio Microsoft con Microsoft Access. Costaba 495 dólares (695 $ con el SDK para C) . Incorporaba funcionalidades Dynamic Data Exchange (DDE), un software development kit con C y C++ y soporte SQL. En cuanto a la interfaz, además de personalización de menús brindaba al usuario no experto herramientas de ayuda para representar de forma gráfica los criterios de sus consultas: botones de selección, controles editables, barras de desplazamiento y casillas de verificación, además de un sistema en línea de ayuda sensible al contexto. También se incluían plantillas predefinidas de formularios de pantalla y de informes impresos. Los datos podían exportarse o importarse gracias a conexiones con los principales formatos de archivo: dBase, Btrieve o el propio Open Access-GBD. En monopuesto era compatible con Microsoft SQL Server. En 1994 se presenta la versión 2.0 a un precio de 495 dólares la nueva licencia, 79 dólares por el pack opcional de conectividad xBase, y 149 dólares por actualizaciones. En España es distribuida por Sedyco, empresa que se hizo cargo del soporte de los clientes de SPI tras del cierre de SPI Ibérica. Esta empresa lo traduce al idioma español con vistas a comercializarlo también en Hispanoamérica y lo comercializa a un precio inicial de 19.900 pesetas.

IBM IMS (Information Management System): es un gestor de bases de datos jerárquicas y un gestor transaccional con alta capacidad de proceso.IBM diseñó el IMS con Rockwell y Caterpillar en 1966 debido al Programa Apollo. El desafío de IBM era inventariar la extensísima lista de materiales del cohete lunar Saturno V y de la nave Apollo.
El primer mensaje "IMS READY" apareció en un terminal IBM 2740 en Downey, California un 14 de agosto de 1968. IMS todavía se usa extensamente 40 años después y, con el tiempo, ha visto interesantes desarrollos como el sistema IBM Sistema/360, hoy convertido en z/OS y Sistema z9. Por ejemplo, IMS soporta aplicaciones desarrolladas en Java, JDBC, XML y Servicios Web.



Gestores de bases de datos Libres

FireBird: Es un sistema de administración de bases de datos relacional (o RDBMS) (Lenguaje consultas:SQL) de código abierto, basado en la versión 6 de Interbase, cuyo código fue liberado por Borland en 2000. Su código fue reescrito de C a C++. El proyecto se desarrolla activamente, el 18 de abril de 2008 fue liberada la versión 2.1 y el 26 de diciembre de 2009 fue liberada la versión 2.5.0 RC1Existen dos tipos de servidor Firebird para ser instalados: Classic y Super server. Si bien tienen varias diferencias menores entre sí, la principal consiste en que el super server maneja hilos de ejecución individuales para cada conexión. Por lo tanto para un número reducido de conexiones el recomendado sería el classic porque consumirá menor cantidad de recursos. En caso de arquitecturas SMP, se debe utilizar el servidor classic porque el Supersever no tiene soporte para este tipo de arquitectura. 

PostgreSQL: Es un Sistema de gestión debase de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD. Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa y/o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyados por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group). Mediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés) PostgreSQL permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos. Cada usuario obtiene una visión consistente de lo último a lo que se le hizo commit. Esta estrategia es superior al uso de bloqueos por tabla o por filas común en otras bases, eliminando la necesidad del uso de bloqueos explícitos.

DB2 Express-C: DB2 express-C es un motor de base de datos perteneciente a la empresa IBM, conteniendo parte de las funcionalidades de la versión de pago DB2 propiedad tambien de la empresa IBM, este motor de base de datos es gratuita pero no libre (como aquellas que tienen licencia GPL) y cuenta con la ventaja de no tener limite de crecimiento en sus archivos de base de datos. 

SQLite: Es un sistema de gestión de bases de datos relacional compatible con ACID, contenida en una relativamente pequeña (~275 kiB) biblioteca en C. SQLite es un proyecto de dominio público1creado por D. Richard Hipp. A diferencia de los sistema de gestión de bases de datos cliente-servidor, el motor de SQLite no es un proceso independiente con el que el programa principal se comunica. En lugar de eso, la biblioteca SQLite se enlaza con el programa pasando a ser parte integral del mismo. El programa utiliza la funcionalidad de SQLite a través de llamadas simples a subrutinas y funciones. Esto reduce la latencia en el acceso a la base de datos, debido a que las llamadas a funciones son más eficientes que la comunicación entre procesos. El conjunto de la base de datos (definiciones, tablas, índices, y los propios datos), son guardados como un sólo fichero estándar en la máquina host. Este diseño simple se logra bloqueando todo el fichero de base de datos al principio de cada transacción. En su versión 3, SQLite permite bases de datos de hasta 2 Terabytes de tamaño, y también permite la inclusión de campos tipo BLOB. El autor de SQLite ofrece formación, contratos de soporte técnico y características adicionales como compresión y cifrado.

Apache Derby: es un sistema gestor de base de datos relacional escrito en Java que puede ser empotrado en aplicaciones Java y utilizado para procesos de transacciones online. Tiene un tamaño de 2 MB de espacio en disco. Inicialmente distribuido como IBM Cloudscape, Apache Derby es un proyecto open sourcelicenciado bajo la Apache 2.0 License. Actualmente se distribuye como Sun Java DB.
Criticas sobre Derby: 
Derby está escrito en Java y no tiene bindings para otros lenguajes (no tendría mucho sentido) por lo que limita al programador a utilizarlo mediante la máquina virtual de Java y en programas escritos en ese lenguaje o lenguajes de scripting que se ejecuten sobre JVM (Jython, JRuby, Jacl, etc.). Esto por otro lado hace que las aplicaciones sean altamente portables. 
Derby hace uso de una mayor cantidad de memoria y su rendimiento y compatibilidad SQL es inferior que otras alternativas como puede ser la base de datos gratuita y de código libre H2 por lo que su uso tiene poco sentido. 
En su modo empotrado sólo soporta un único proceso que tenga abierta la base de datos. Sin embargo en su modo de cliente/servidor soporta el acceso de varios procesos simultáneos mediante bloqueo de filas. 

Exposiciones - Lenguajes de interfaz

Equipo # 1 - Programación del puerto paralelo Un puerto paralelo es una interfaz entre un computador y un periférico, cuya principal carac...