Qué es una base de datos? Una base de datos es una herramienta para recopilar y organizar información. En las bases de datos, se puede almacenar información sobre personas, productos, pedidos, o cualquier otra cosa. Cuando las bases de datos se vuelven muy grandes, es aconsejable transferir la información a una base de datos creada mediante un sistema de administración de bases de datos (DBMS), Para qué sirve una base de datos? Una base de datos sirve para administrar la información, organizarla y asi poder manejarla mejor para extraer conclusiones. Que son sistemas manejadores de bases de datos? Un sistema manejador de base de datos es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos, además de proporcionar herramientas para añadir, borrar, modificar y analizar los datos. Los usuarios pueden acceder a la información usando herramientas específicas de interrogación y de generación de informes, o bien mediante aplicaciones al efecto los SMBD también proporcionan métodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y recuperar la información si el sistema se corrompe. Permite presentar la información de la base de datos en variados formatos. La mayoría de los SMBD incluyen un generador de informes. También puede incluir un módulo grafico que permita presentar la información con gráficos y tartas. Los 10 sistemas manejadores de base de datos más importantes son: 1. ORACLE 2. FIREBIRD 3. SQLServer 4. PostgreSQL 5. MySQL 6. INFORMIX 7. MICROSOFT ACCESS 8. SQLlite 9. INTERBASE 10. Sybase ASE CARACTERISTICAS BASICAS DE LOS SMBD ORACLE Oracle es el motor de base de datos relacional más usado a nivel mundial. Puede ejecutarse en todas las plataformas, desde una pc hasta un supercomputador. Oracle soporta todas las funciones que se esperan de un servidor serio un lenguaje de diseño de bases de datos muy completo (PL/SQL) que permite implementar diseños activos. Con triggers y procedimientos almacenados, con una integridad referencial declarativa bastante potente.
Permite el uso de participaciones para la mejora de la eficiencia, de replicación e incluso ciertas versiones admiten la administración de bases de datos distribuidas. El software del servidor puede ejecutarse en multitud de sistemas operativos. Existe incluso una versión personal para Windows 9x, lo cual es un punto a favor para los desarrolladores que se llevan trabajo a casa. Oracle es la base de datos con más orientación hacia INTERNET Un aceptable soporte. SQLServer soporte de transacciones. Escalabilidad, estabilidad y seguridad. Soporta procedimientos almacenados. Incluye también un potente entorno grafico de administración, que permite el uso de comandos DDL y DML gráficamente. Permite trabajar en modo cliente-servidor y los terminales o clientes de la red solo acceden a la información. Además permite administrar información de otros servidores de datos. FIREBIRD Ejecutable pequeño, con requerimiento 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 Diferente arquitecturas, entre ellas el servidor embebido (embedded server) que permite ejecutar aplicaciones monousuarios en ordenadores sin instalar el software firebird. Bases de datos de solo lectura, para aplicaciones que corran desde dispositivos sin capacidad de escritura, como cd-rom. 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 denominados PSQL. Capacidad de almacenar elementos BLOB (Binary Large OBjects). Soporte de User-Defined Functions (UDFs). Version autoejecutable, sin instalacion, excelente para la creación de catalogos en CD-Rom y para crear versiones de evaluación de algunas aplicaciones. PostgreSQL
Alta concurrencia mediante un sistema denominado MVCC (Acceso concurrente multiversion 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. 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 MySQL Un amplio subconjunto de ANSI SQL 99, y varias extensiones. Soporte a multiplataforma. Procedimientos almacenados Disparadores (triggers). Cursores Vistas actualizables. Soporte a VARCHAR INFORMATION_SCHEMA Modo Strict Soporte X/Open XA de transacciones distribuidas; transacción en dos fases como parte de esto, utilizando el motor InnoDB de Oracle. Motores de almacenamientos independientes (MyISAM para lecturas rapidas; InnoDB para transacciones e integridad referencial). Transacciones con los motores de almacenamiento InnoDB, BDB y Cluster; punto de recuperación (savepoints) con InnoDB. Soporte para SSL. Query caching. Sub-SELECTs (o SELECTs anidados). Replica con un maestro por esclavo, varios esclavos por maestro, sin soporte automático para múltiples maestros por esclavo. Indexing y búsqueda de campos de texto completos usando el motor de almacenamiento MyISAM. Embedded database library. Soporte completo para Unicode. Conforme a las reglas ACID usando los motores InnoDB, BDB y Cluster. Shared-nothing clustering through MySQL Cluster. INFORMIX Dispone de herramientas graficas Gestiona múltiples bases de datos remotas de una única consola donde se muestran gráficamente tanto la base de datos, como los objetos que contiene (tablas, índices, procedimientos). Utiliza plataforma NT y UNIX Capacidad de relación de datos de múltiples lugares físicos. Opción de conectar datos relacionales de páginas web. Es costoso, Sin embargo la nueva versión (Vs10) tiene un costo por debajo de los USD $ 1000 que lo vuelve muy accesible en el mercado. Ocupa menos memoria y recursos que el Oracle
Se integra con linux y oracle Ofrece herramientas para crear menús, formularios de entrada de datos y generadores de listados. Tiene arquitectura para servidor OLTP (On Line Transaction Prosessing) para UNIX. Esta tecnología se puede ver en INFORMIX Dynamic Server. Cumple con los niveles de seguridad. MICROSOFT ACCESS MS Access es usado por programadores y no programadores para crear sus propias soluciones de base de datos. Los usuarios pueden crear tablas, consultas, formularios y reportes pudiendo conectarlos entre sí con macros. Usuarios avanzados pueden usar VBA (Visual Basic for applications) para crear una solución rica en código y manipulación avanzada de datos y controles. Los campos de las tablas de Access soportan gran variedad de tipos de datos, índices e integridad referencial. Microsoft Access permite crear formularios para insertar y modificar datos fácilmente. También tiene un entorno grafico para ver las relaciones entre las diferentes tablas de la base de datos. Access incluye interfaces para crear consultas, formularios y reportes. SQLlite El concepto original de Access es habilitar el acceso a cualquier fuente de datos por lo que se tiene la posibilidad de exportar e importar información desde y hacia varios formatos como Excel, Outlook, ASCII, dbase, paradox, FoxPro, SQL Server, Oracle, ODBC, etc. Uno de los beneficios de Access para los programadores es la compatibilidad con MS SQL. La biblioteca implementa la mayor parte del estándar SQL-92, incluyendo transacciones de base de datos atomicas, consistencia de base de datos, aislamiento y durabilidad (ACID), triggers y la mayor parte de las consultas complejas. SQLite usa un sistema de tipos inusual. En lugar de asignar un tipo a una columna como en la mayor parte de los sistemas de bases de datos SQL, los tipos se asignan a los valores individuales. Por ejemplo, se puede insertar un string en una columna de tipo entero (a pesar de que SQLite tratara en primera instancia de convertir la cadena en un entero). Algunos usuarios consideran esto como una innovación que hace que la base de datos sea mucho más útil, sobre todo al ser utilizada desde un lenguaje de scripting de tipos dinámicos. Otros usuarios lo ven como un gran inconveniente ya que la técnica no es portable a otras bases de datos SQL. SQLite no trataba de transformar los datos al tipo de columna hasta la versión 3. Varios procesos o hilos pueden acceder a la misma base de datos sin problemas. Varios accesos de lectura pueden ser servidos en paralelo. Un
acceso de escritura solo puede ser servido si no se está sirviendo ningún otro acceso concurrentemente. En caso contrario, el acceso de escritura falla devolviendo un código de error (o puede automáticamente reintentarse).esta situación de acceso concurrente podría cambiar cuando se está trabajando con tablas temporales. Sim embargo, podría producirse un deadlock debido al multithread. Este punto fue tratado en la versión 3.3.4, desarrollada el 11 de febrero del 2006. Existe un programa independiente de nombre sqlite que puede ser utilizado para consultar y gestionar los ficheros de base de datos SQLite. También sirve como ejemplo para la escritura de aplicaciones utilizando la biblioteca SQLite. INTERBASE 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. Bajo consumo de recursos una instalación completa del servidor de interbase 7 requiere aproximadamente 40Mb en disco. Esto es significativamente más 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 esta ocioso. Una instalación mínima de un cliente InterBase requiere aproximadamente 400kb de espacio en disco. Administración mínima los servidores Interbase normalmente no requieren de administrador a tiempo completo. Sybase ASE Un optimizador de consultas completamente renovado y mas inteligente Técnicas de particionalmente semántico de tablas que aumentan la velocidad de acceso a los datos. Columnas cifradas para mayor seguridad de los datos. Columnas computadas "virtuales" y materializadas, e índices funcionales, que brindan mayor rendimiento. Mejoras al lenguaje Transact-SQL, para mayor productividad. Mejoras a los servicios de Java y XML en la base de datos. Mejoras a los servicios para consumo y publicación de servicios web. Herramientas mejoradas para la administración y el monitoreo. Más rendimiento y menor costo total de propiedad