domingo, 17 de julio de 2016

Concepto


Base de datos
Un Sistema Gestor de Base de Datos (SGBD, en inglés DBMS: DataBase Management System) es un sistema de software que permite la definición de bases de datos; así como la elección de las estructuras de datos necesarios para el almacenamiento y búsqueda de los datos, ya sea de forma interactiva o a través de un lenguaje de programación. Un SGBD relacional es un modelo de datos que facilita a los usuarios describir los datos que serán almacenados en la base de datos junto con un grupo de operaciones para manejar los datos.
Los SGBD relacionales son una herramienta efectiva que permite a varios usuarios acceder a los datos al mismo tiempo. Brindan facilidades eficientes y un grupo de funciones con el objetivo de garantizar la confidencialidad, la calidad, la seguridad y la integridad de los datos que contienen, así como un acceso fácil y eficiente a los mismos.
Fuente
BERTINO, E. A. y MARTINO, L. A. 1995. Sistemas de bases de datos orientadas a objetos. S.l.: Ediciones Díaz de Santos, 1995

Características

  • Abstracción de la información. Ahorran a los usuarios detalles acerca del almacenamiento físico de los datos.
  • Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.
  • Redundancia mínima. Un buen diseño de una base de datos logrará evitar la aparición de información repetida o redundante.
  • Consistencia. Vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea.
  • Seguridad. Deben garantizar que esta información se encuentra asegurada frente a usuarios malintencionados.
  • Seguridad. Deben garantizar que esta información se encuentra asegurada frente a usuarios malintencionados.
  • Integridad. Se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados.
  • Respaldo y recuperación. Deben proporcionar una forma eficiente de realizar copias de respaldo de la información almacenada en ellos.
  • Control de la concurrencia. Lo más habitual es que sean muchas las personas que acceden a una base de datos; ésta debe controlar este acceso concurrente a la información, que podría derivar en inconsistencias.
FUENTE
PETKOVIĆ, DUŠAN. 2005. Microsoft SQL Server 2005: a beginner’s guide. s.l. : McGraw-Hill Professional, 2005.

Tipos

A continuación se mostrará algunos de los gestores de base de datos más frecuentes por los usuarios:

MySQL

1280px-MySQL.svg.png (1280×662)
Es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. Misal AB desarrolla Misal como software libre en un esquema de licenciamiento dual. Por un lado lo ofrece bajo la GNU GPL, pero, empresas que quieran incorporarlo en productos privativos pueden comprar a la empresa una licencia que les permita ese uso.

Características

Está desarrollado en su mayor parte en ANSI C. Al contrario de proyectos como el Apache, donde el software es desarrollado por una comunidad pública, y el copyright del código está en poder del autor individual, Misal es propiedad y está patrocinado por una empresa privada, que posee el copyright de la mayor parte del código. Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet.

Ventajas

  • Velocidad al realizar las operaciones
  • Bajo costo en requerimientos para la elaboración de bases de datos
  • Facilidad de configuración e instalación.

Desventajas

  • Un gran porcentaje de las utilidades de Misal no están documentadas.

Oracle

oracle-580x224_tcm18-102907.png (580×224)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), fabricado por Oracle Corporation.



Características

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su:
  • Soporte de transacciones
  • Estabilidad
  • Escalabilidad
  • Es multiplataforma
Su mayor defecto es su enorme precio, que es de varios miles de dólares (según versiones y licencias). Otro aspecto que ha sido criticado por algunos especialistas es la seguridad de la plataforma, y las políticas de suministro de parches de seguridad, modificadas a comienzos de 2005 y que incrementan el nivel de exposición de los usuarios. En los parches de actualización provistos durante el primer semestre de 2005 fueron corregidas 22 vulnerabilidades públicamente conocidas, algunas de ellas con una antigüedad de más de 2 años.

Ventajas

  • Oracle es el motor de base de datos objeto-relacional más usado a nivel mundial
  • Puede ejecutarse en todas las plataformas, desde una Pc hasta un supercomputador.

Desventajas

  • El mayor inconveniente de Oracle es quizás su precio
  • Necesidad de ajustes
  • Elevado el coste de la información

Microsoft SQL Server

Es un sistema de gestión de bases de datos relacionales basado en el lenguaje Transact-SQL, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea. Así de tener unas ventajas que a continuación se pueden describir.

Características

  • Soporte de transacciones.
  • Escalabilidad, estabilidad y seguridad.
  • Soporta procedimientos almacenados.
  • Incluye también un potente entorno gráfico de administración, que permite el uso de comandos DDL y DML gráficamente.
  • Permite trabajar en modo cliente-servidor donde la información y datos se alojan en el servidor y las terminales o clientes de la red sólo acceden a la información.
  • Además permite administrar información de otros servidores de datos

Ventajas

  • Soporte de transacciones
  • Escalabilidad, estabilidad y seguridad
  • Soporta procedimientos almacenados

Desventajas

  • Soporte de transacciones.
  • Escalabilidad, estabilidad y seguridad.
  • Soporta procedimientos almacenados.
  • Enorme cantidad de memoria RAM que utiliza para la instalación y utilización del software
  • La relación calidad-precio está muy debajo comparado con Oracle.

Visual FoxPro

images.png (400×116)
Es un lenguaje de programación orientado a objetos y procedural, un Sistema Gestor de Bases de datos o Database Management System (DBMS), y desde la versión 7.0, un Sistema administrador de bases de datos relacionales, producido por Microsoft.

Características

Visual FoxPro ofrece a los desarrolladores un conjunto de herramientas para crear aplicaciones de bases de datos para el escritorio, entornos cliente/servidor, Tablet PC o para la Web. Entre sus características se pueden enumerar:
  • Capacidades poderosas y muy veloces para el manejo de datos nativos y remotos.
  • Flexibilidad para crear todo tipo de soluciones de bases de datos.
  • Lenguaje de programación Orientado a objetos.
  • Utilización de sentencias SQL en forma nativa.
  • Poderoso manejo de vistas y cursores y control completo de estructuras relacionales.
  • Su propio gestor de base de datos incorporado. Sin embargo, también puede conectarse con servidores de base de datos, tales como Oracle, Microsoft SQL Server o MySQL.
  • Cuenta con un motor de generación de informes renovado y muy flexible para soluciones más robustas.
  • Desde la versión 9.0, amplio soporte de XML, tanto como fuente de datos (por ej., servicios Web basados en XML) como por generar reportes en formato XLM.

Ventajas

  • Menor costo
  • Entorno Windows (Es más familiar y predecible)

Desventajas

  • Integridad
  • Seguridad
  • Menor capacidad de procesamiento

PostgreSQL

Es un sistema de gestión de base 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 apoyada por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).

Características

Algunas de sus principales características son, entre otras: 1. Alta concurrencia: mediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés) 2. Amplia variedad de tipos nativos: provee nativamente varios soportes

Ventajas

  • Ahorros considerables de costos de operación
  • Estabilidad y confiabilidad

Desventajas

  • Consume más recursos que MySQL
  • La sintaxis de algunos de sus comandos o sentencias no es nada intuitiva

Apache Derby

derbylogo.jpg (321×224)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 source licenciado bajo la Apache 2.0 License. Actualmente se distribuye como Sun Java DB.



Características

  • APIs para JDBC y SQL. Soporta todas las características de SQL92 y la mayoría de SQL99.
  • Su código mide alrededor de 2000KB comprimido.
  • Soporta cifrado completo, roles y permisos. Además posee SQL SCHEMAS para separar la información en una única base de datos y control completo de usuarios.
  • Soporta internamente procederes, cifrado y compresión. Trae soporte multilenguaje y localizaciones específicas.
  • A partir de la versión 10.4 trae un sistema simple de replicación maestro-esclavo
  • Transacciones y recuperación ante errores ACID

Ventajas

  • Se pude configurar como cliente/servidor
  • Tiene la opción del manejador de base de datos soporta la arquitectura cliente/servidor

Desventajas

  • Es tedioso solo lo puedes manipular si conoces lo básico de SQL • necesitas códigos para crear la base de datos

DB2

icon.png (1024×1024)Es una marca comercial, propiedad de IBM, bajo la cual se comercializa el sistema de gestión de base de datos. La versión más actual es DB2 9, la cual utiliza XML como motor, además el modelo que utiliza es el jerárquico en lugar del modelo relacional que utilizan otros gestores.

Características

  • Permite el manejo de objetos grandes (hasta 2 GB)
  • La definición de datos y funciones por parte del usuario, el chequeo de integridad referencial,
  • SQL recursivo, soporte multimedia: texto, imágenes, video, audio; quieres paralelos, commit de dos fases, backup/recuperación on−line y offline.

Ventajas

  • Permite agilizar el tiempo de respuestas de esta consulta
  • Recuperación utilizando accesos de sólo índices.
  • Predicados correlacionados.
  • Tablas de resumen
  • Tablas replicadas
  • Uniones hash

Desventajas

  • Se tiene que ver con las aplicaciones que se tienen desarrolladas y las que se van a implementar.
  • Influye en la elección

SQLite

Es un sistema de gestión de bases de datos relacional compatible con ACID, contenida en una relativamente pequeña biblioteca escrita en C. SQLite es un proyecto de dominio público.

SQLite.jpg (623×400)Características

  • La biblioteca implementa la mayor parte del estándar SQL-92
  • 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 sólo puede ser servido si no se está sirviendo ningún otro acceso concurrentemente.

Ventajas

  • Rendimiento de base de datos
  • Interfaces
  • Costos

Desventajas

  • Falta de Clave Foránea
  • Falta de documentación en español
FUENTE
Gusttavo Nipas (2014 ) 10 Gestionadores

Ventajas y desventajas

Proveen facilidades para la manipulación de grandes volúmenes de datos (ver objetivos). Entre éstas:
Ventajas-y-desventajas-de-buscar-pareja-en-Internet.jpg (817×364)

Ventajas

  • Simplifican la programación de equipos de consistencia.
  • Manejando las políticas de respaldo adecuadas, garantizan que los cambios de la base serán siempre consistentes sin importar si hay errores correctamente, etc.
  • Organizan los datos con un impacto mínimo en el código de los programas.
  • Disminuyen drásticamente los tiempos de desarrollo y aumentan la calidad del sistema desarrollado si son bien explotados por los desarrolladores.
  • Usualmente, proveen interfaces y lenguajes de consulta que simplifican la recuperación de los datos.

Desventajas

  • Típicamente, es necesario disponer de una o más personas que administren la base de datos, de la misma forma en que suele ser necesario en instalaciones de cierto porte disponer de una o más personas que administren los sistemas operativos. Esto puede llegar a incrementar los costos de operación en una empresa. Sin embargo hay que balancear este aspecto con la calidad y confiabilidad del sistema que se obtiene.
  • Si se tienen muy pocos datos que son usados por un único usuario por vez y no hay que realizar consultas complejas sobre los datos, entonces es posible que sea mejor usar una hoja de cálculo.
  • Complejidad: el software muy complejo y las personas que vayan a usarlo deben tener conocimiento de las funcionalidades del mismo para poder aprovecharlo al máximo.
  • Tamaño: la complejidad y la gran cantidad de funciones que tienen hacen que sea un software de gran tamaño, que requiere de gran cantidad de memoria para poder correr.
  • Coste del hardware adicional: los requisitos de hardware para correr un SGBD por lo general son relativamente altos, por lo que estos equipos pueden llegar a costar gran cantidad de dinero.
FUENTE:
COBO, ÁNGEL y GÓMEZ, PATRICIA. 2005. PHP y MySQL- tecnologias para el desarrollo de aplicaciones web. s.l. : Ediciones Díaz de Santos, 2005. 8479787066.

Uso de gestores de base de datos

Las funciones provistas por un SGBD pueden agruparse en tres clases:
  • Consulta y actualización de datos
  • Mantenimiento de esquemas
  • Manejo de transacciones

Consulta y Actualización

base-de-datos.jpg (595×340)Ésta es la clase más básica de funciones y la única que es visible "desde afuera". Consiste en un conjunto de herramientas que permite a los distintos tipos de usuarios del SGBD extraer, manipular y modifica la información almacenada en la base de datos. Algunos sistemas proveen una única interfaz, llamada generalmente lenguaje de consulta, para ser usada por todos los tipos de usuario. Por ejemplo, el lenguaje SQL permite ejecutar consultas y actualizaciones en una notación vagamente similar al lenguaje natural.
La expresión:
  • Select matricula, nombre
  • From alumnos
  • Where carrera = "Ingeniería" and edad < 21
Produce como resultado una tabla con los números de matrícula y los nombres de todos los alumnos menores de edad de la carrera de Ingeniería. El SGBD debe ser capaz de aceptar las definiciones de datos en versión fuente y convertirlas en la versión objeto. El SGBD debe incluir componentes procesadores para cada uno de los lenguajes de definición de datos (LDD). (DATE, 1993).

Manipulación de los Datos

El SGBD debe atender las solicitudes de los usuarios para extraer, actualizar, adicionar o suprimir datos. El SGBD debe incluir un componente procesador del Lenguaje de manipulación de datos (LMD).

Seguridad e Integridad de los Datos

El SGBD debe supervisar las solicitudes de los usuarios y rechazar los intentos de violar las medidas de seguridad e integridad definidas por el Administrador de la Base de Datos DBA. (DATE, 1993).

Recuperación y concurrencia de los datos

El principal objetivo de la implantación de una base de datos es poner a disposición de un gran número de usuarios en conjunto integrado de datos, estos datos podrán ser manipulados por los diferentes usuarios y es ahora cuando se debe garantizar la coherencia de los datos después de las diversas manipulaciones.
FUENTE:
LOCKHART, T. 1996. PostgreSQL. 1996.

Arquitectura de los sistemas de base de datos

En 1975, el comité ANSI-SPARC (American National Standard Institute - Standards Planning and Requirements Committee) propuso una arquitectura de tres niveles para los SGBD cuyo objetivo principal era el de separar los programas de aplicación de la BD física. En esta arquitectura el esquema de una BD se define en tres niveles de abstracción distintos:

Nivel interno o físico

El más cercano al almacenamiento físico, es decir, tal y como están almacenados en el ordenador. Describe la estructura física de la BD mediante un esquema interno. Este esquema se especifica con un modelo físico y describe los detalles de cómo se almacenan físicamente los datos: los archivos que contienen la información, su organización, los métodos de acceso a los registros, los tipos de registros, la longitud, los campos que los componen, etc.

Nivel externo o de visión

Es el más cercano a los usuarios, es decir, es donde se describen varios esquemas externos o vistas de usuarios. Cada esquema describe la parte de la BD que interesa a un grupo de usuarios en este nivel se representa la visión individual de un usuario o de un grupo de usuarios.

Nivel conceptual

Describe la estructura de toda la BD para un grupo de usuarios mediante un esquema conceptual. Este esquema describe las entidades, atributos, relaciones, operaciones de los usuarios y restricciones, ocultando los detalles de las estructuras físicas de almacenamiento. Representa la información contenida en la BD. En la Figura 1.1 se representan los niveles de abstracción de la arquitectura ANSI.

Evolución

evolucion-de-la-tecnologia.jpg (600×564)Evolución de los Sistemas Gestores de Bases de Datos... 1950, 1960, 1970, 1980, 1990, 2000, 2010 Archivos secuenciales archivos de acceso directo, publicaciones del modelo relacional de codd sistema de base de datos jerárquicos, sistema de base de datos de red base de datos relaciones-modelos orientado a objetos plataformas, cliente-servidor sistema de base de datos orientado a objetos Consistía en leer una cinta o más y pasar los datos a otra, y también se podían pasar desde las tarjetas perforadas. El uso de los discos en ese momento fue un adelanto muy efectivo, ya que por medio de este soporte se podía consultar la información directamente, esto ayudo a ahorrar tiempo. Un modelo relacional de datos para grandes bancos de datos compartidos pudo competir con las bases de datos jerárquicas y de red, ya que su nivel de programación era bajo y su uso muy sencillo. El boom de esta década fue la aparición de la WWW “Word Wide Web ya que por éste medio se facilitaba la consulta de las bases de datos. En la actualidad existe gran cantidad de alternativas en línea que permiten hacer búsquedas orientadas a necesidades específicas de los usuarios, una de las tendencias más amplias son las bases de datos que cumplan con el protocolo Open Archives Initiative. Actualidad la información se representa mediante objetos como los presentes en la programación orientada a objetos almacenan la información en una estructura jerárquica que enlaza los registros en forma de estructura de árbol.
  • 1950 - 1960
Se desarrollaron las cintas magnéticas para el almacenamiento de datos.
  • 1960 – 1970
Los discos fijos permiten el acceso directo a los datos.
  • 1980
Proyecto system R, primeras bases de datos relacionales
  • 1990
El lenguaje SQL
  • Finales de 1995
El crecimiento explosivo de Worl Wide Web
  • 2000 – 2015
Las bases de datos son IBM, Microsoft y Oracle
Fuente
Juan Manuel Orellano (2014) – Comentario

Mapa interactivo de la evolución de GDBDD

Chip-De-Ordenador-89629.gif (400×225)Integrantes

  • Olortigue Jimenez, Kent
  • Felix Escalante, Angel
  • Roque Milla, Jeanpool
  • Palomino Sanchez, Carlos
  • Romero Estrada, Jean
  • Callap Mendoza, Yahaira

Concepto


Base de datos
Un Sistema Gestor de Base de Datos (SGBD, en inglés DBMS: DataBase Management System) es un sistema de software que permite la definición de bases de datos; así como la elección de las estructuras de datos necesarios para el almacenamiento y búsqueda de los datos, ya sea de forma interactiva o a través de un lenguaje de programación. Un SGBD relacional es un modelo de datos que facilita a los usuarios describir los datos que serán almacenados en la base de datos junto con un grupo de operaciones para manejar los datos.
Los SGBD relacionales son una herramienta efectiva que permite a varios usuarios acceder a los datos al mismo tiempo. Brindan facilidades eficientes y un grupo de funciones con el objetivo de garantizar la confidencialidad, la calidad, la seguridad y la integridad de los datos que contienen, así como un acceso fácil y eficiente a los mismos.
Fuente
BERTINO, E. A. y MARTINO, L. A. 1995. Sistemas de bases de datos orientadas a objetos. S.l.: Ediciones Díaz de Santos, 1995

Características

  • Abstracción de la información. Ahorran a los usuarios detalles acerca del almacenamiento físico de los datos.
  • Independencia. La independencia de los datos consiste en la capacidad de modificar el esquema (físico o lógico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella.
  • Redundancia mínima. Un buen diseño de una base de datos logrará evitar la aparición de información repetida o redundante.
  • Consistencia. Vigilar que aquella información que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultánea.
  • Seguridad. Deben garantizar que esta información se encuentra asegurada frente a usuarios malintencionados.
  • Seguridad. Deben garantizar que esta información se encuentra asegurada frente a usuarios malintencionados.
  • Integridad. Se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados.
  • Respaldo y recuperación. Deben proporcionar una forma eficiente de realizar copias de respaldo de la información almacenada en ellos.
  • Control de la concurrencia. Lo más habitual es que sean muchas las personas que acceden a una base de datos; ésta debe controlar este acceso concurrente a la información, que podría derivar en inconsistencias.
FUENTE
PETKOVIĆ, DUŠAN. 2005. Microsoft SQL Server 2005: a beginner’s guide. s.l. : McGraw-Hill Professional, 2005.

Tipos

A continuación se mostrará algunos de los gestores de base de datos más frecuentes por los usuarios:

MySQL

Es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. Misal AB desarrolla Misal como software libre en un esquema de licenciamiento dual. Por un lado lo ofrece bajo la GNU GPL, pero, empresas que quieran incorporarlo en productos privativos pueden comprar a la empresa una licencia que les permita ese uso.

Características

Está desarrollado en su mayor parte en ANSI C. Al contrario de proyectos como el Apache, donde el software es desarrollado por una comunidad pública, y el copyright del código está en poder del autor individual, Misal es propiedad y está patrocinado por una empresa privada, que posee el copyright de la mayor parte del código. Esto es lo que posibilita el esquema de licenciamiento anteriormente mencionado. Además de la venta de licencias privativas, la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores alrededor del mundo que colaboran vía Internet.

Ventajas

  • Velocidad al realizar las operaciones
  • Bajo costo en requerimientos para la elaboración de bases de datos
  • Facilidad de configuración e instalación.

Desventajas

  • Un gran porcentaje de las utilidades de Misal no están documentadas.

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), fabricado por Oracle Corporation.

Características

Se considera a Oracle como uno de los sistemas de bases de datos más completos, destacando su:
  • Soporte de transacciones
  • Estabilidad
  • Escalabilidad
  • Es multiplataforma
Su mayor defecto es su enorme precio, que es de varios miles de dólares (según versiones y licencias). Otro aspecto que ha sido criticado por algunos especialistas es la seguridad de la plataforma, y las políticas de suministro de parches de seguridad, modificadas a comienzos de 2005 y que incrementan el nivel de exposición de los usuarios. En los parches de actualización provistos durante el primer semestre de 2005 fueron corregidas 22 vulnerabilidades públicamente conocidas, algunas de ellas con una antigüedad de más de 2 años.

Ventajas

  • Oracle es el motor de base de datos objeto-relacional más usado a nivel mundial
  • Puede ejecutarse en todas las plataformas, desde una Pc hasta un supercomputador.

Desventajas

  • El mayor inconveniente de Oracle es quizás su precio
  • Necesidad de ajustes
  • Elevado el coste de la información

Microsoft SQL Server

Es un sistema de gestión de bases de datos relacionales basado en el lenguaje Transact-SQL, capaz de poner a disposición de muchos usuarios grandes cantidades de datos de manera simultánea. Así de tener unas ventajas que a continuación se pueden describir.

Características

  • Soporte de transacciones.
  • Escalabilidad, estabilidad y seguridad.
  • Soporta procedimientos almacenados.
  • Incluye también un potente entorno gráfico de administración, que permite el uso de comandos DDL y DML gráficamente.
  • Permite trabajar en modo cliente-servidor donde la información y datos se alojan en el servidor y las terminales o clientes de la red sólo acceden a la información.
  • Además permite administrar información de otros servidores de datos

Ventajas

  • Soporte de transacciones
  • Escalabilidad, estabilidad y seguridad
  • Soporta procedimientos almacenados

Desventajas

  • Soporte de transacciones.
  • Escalabilidad, estabilidad y seguridad.
  • Soporta procedimientos almacenados.
  • Enorme cantidad de memoria RAM que utiliza para la instalación y utilización del software
  • La relación calidad-precio está muy debajo comparado con Oracle.

Visual FoxPro

Es un lenguaje de programación orientado a objetos y procedural, un Sistema Gestor de Bases de datos o Database Management System (DBMS), y desde la versión 7.0, un Sistema administrador de bases de datos relacionales, producido por Microsoft.

Características

Visual FoxPro ofrece a los desarrolladores un conjunto de herramientas para crear aplicaciones de bases de datos para el escritorio, entornos cliente/servidor, Tablet PC o para la Web. Entre sus características se pueden enumerar:
  • Capacidades poderosas y muy veloces para el manejo de datos nativos y remotos.
  • Flexibilidad para crear todo tipo de soluciones de bases de datos.
  • Lenguaje de programación Orientado a objetos.
  • Utilización de sentencias SQL en forma nativa.
  • Poderoso manejo de vistas y cursores y control completo de estructuras relacionales.
  • Su propio gestor de base de datos incorporado. Sin embargo, también puede conectarse con servidores de base de datos, tales como Oracle, Microsoft SQL Server o MySQL.
  • Cuenta con un motor de generación de informes renovado y muy flexible para soluciones más robustas.
  • Desde la versión 9.0, amplio soporte de XML, tanto como fuente de datos (por ej., servicios Web basados en XML) como por generar reportes en formato XLM.

Ventajas

  • Menor costo
  • Entorno Windows (Es más familiar y predecible)

Desventajas

  • Integridad
  • Seguridad
  • Menor capacidad de procesamiento

PostgreSQL

Es un sistema de gestión de base 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 apoyada por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group).

Características

Algunas de sus principales características son, entre otras: 1. Alta concurrencia: mediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés) 2. Amplia variedad de tipos nativos: provee nativamente varios soportes

Ventajas

  • Ahorros considerables de costos de operación
  • Estabilidad y confiabilidad

Desventajas

  • Consume más recursos que MySQL
  • La sintaxis de algunos de sus comandos o sentencias no es nada intuitiva

Apache Derby

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 source licenciado bajo la Apache 2.0 License. Actualmente se distribuye como Sun Java DB.

Características

  • APIs para JDBC y SQL. Soporta todas las características de SQL92 y la mayoría de SQL99.
  • Su código mide alrededor de 2000KB comprimido.
  • Soporta cifrado completo, roles y permisos. Además posee SQL SCHEMAS para separar la información en una única base de datos y control completo de usuarios.
  • Soporta internamente procederes, cifrado y compresión. Trae soporte multilenguaje y localizaciones específicas.
  • A partir de la versión 10.4 trae un sistema simple de replicación maestro-esclavo
  • Transacciones y recuperación ante errores ACID

Ventajas

  • Se pude configurar como cliente/servidor
  • Tiene la opción del manejador de base de datos soporta la arquitectura cliente/servidor

Desventajas

  • Es tedioso solo lo puedes manipular si conoces lo básico de SQL • necesitas códigos para crear la base de datos

DB2

Es una marca comercial, propiedad de IBM, bajo la cual se comercializa el sistema de gestión de base de datos. La versión más actual es DB2 9, la cual utiliza XML como motor, además el modelo que utiliza es el jerárquico en lugar del modelo relacional que utilizan otros gestores.

Características

  • Permite el manejo de objetos grandes (hasta 2 GB)
  • La definición de datos y funciones por parte del usuario, el chequeo de integridad referencial,
  • SQL recursivo, soporte multimedia: texto, imágenes, video, audio; quieres paralelos, commit de dos fases, backup/recuperación on−line y offline.

Ventajas

  • Permite agilizar el tiempo de respuestas de esta consulta
  • Recuperación utilizando accesos de sólo índices.
  • Predicados correlacionados.
  • Tablas de resumen
  • Tablas replicadas
  • Uniones hash

Desventajas

  • Se tiene que ver con las aplicaciones que se tienen desarrolladas y las que se van a implementar.
  • Influye en la elección

SQLite

Es un sistema de gestión de bases de datos relacional compatible con ACID, contenida en una relativamente pequeña biblioteca escrita en C. SQLite es un proyecto de dominio público.

Características

  • La biblioteca implementa la mayor parte del estándar SQL-92
  • 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 sólo puede ser servido si no se está sirviendo ningún otro acceso concurrentemente.

Ventajas

  • Rendimiento de base de datos
  • Interfaces
  • Costos

Desventajas

  • Falta de Clave Foránea
  • Falta de documentación en español
FUENTE
Gusttavo Nipas (2014 ) 10 Gestionadores

Ventaja y desventajas

Proveen facilidades para la manipulación de grandes volúmenes de datos (ver objetivos). Entre éstas:

Ventajas

  • Simplifican la programación de equipos de consistencia.
  • Manejando las políticas de respaldo adecuadas, garantizan que los cambios de la base serán siempre consistentes sin importar si hay errores correctamente, etc.
  • Organizan los datos con un impacto mínimo en el código de los programas.
  • Disminuyen drásticamente los tiempos de desarrollo y aumentan la calidad del sistema desarrollado si son bien explotados por los desarrolladores.
  • Usualmente, proveen interfaces y lenguajes de consulta que simplifican la recuperación de los datos.

Desventajas

  • Típicamente, es necesario disponer de una o más personas que administren la base de datos, de la misma forma en que suele ser necesario en instalaciones de cierto porte disponer de una o más personas que administren los sistemas operativos. Esto puede llegar a incrementar los costos de operación en una empresa. Sin embargo hay que balancear este aspecto con la calidad y confiabilidad del sistema que se obtiene.
  • Si se tienen muy pocos datos que son usados por un único usuario por vez y no hay que realizar consultas complejas sobre los datos, entonces es posible que sea mejor usar una hoja de cálculo.
  • Complejidad: el software muy complejo y las personas que vayan a usarlo deben tener conocimiento de las funcionalidades del mismo para poder aprovecharlo al máximo.
  • Tamaño: la complejidad y la gran cantidad de funciones que tienen hacen que sea un software de gran tamaño, que requiere de gran cantidad de memoria para poder correr.
  • Coste del hardware adicional: los requisitos de hardware para correr un SGBD por lo general son relativamente altos, por lo que estos equipos pueden llegar a costar gran cantidad de dinero.
FUENTE:
COBO, ÁNGEL y GÓMEZ, PATRICIA. 2005. PHP y MySQL- tecnologias para el desarrollo de aplicaciones web. s.l. : Ediciones Díaz de Santos, 2005. 8479787066.

Uso de gestores de base de datos

Las funciones provistas por un SGBD pueden agruparse en tres clases:
  • Consulta y actualización de datos
  • Mantenimiento de esquemas
  • Manejo de transacciones

Consulta y Actualización

Ésta es la clase más básica de funciones y la única que es visible "desde afuera". Consiste en un conjunto de herramientas que permite a los distintos tipos de usuarios del SGBD extraer, manipular y modifica la información almacenada en la base de datos. Algunos sistemas proveen una única interfaz, llamada generalmente lenguaje de consulta, para ser usada por todos los tipos de usuario. Por ejemplo, el lenguaje SQL permite ejecutar consultas y actualizaciones en una notación vagamente similar al lenguaje natural.
La expresión:
  • Select matricula, nombre
  • From alumnos
  • Where carrera = "Ingeniería" and edad < 21
Produce como resultado una tabla con los números de matrícula y los nombres de todos los alumnos menores de edad de la carrera de Ingeniería. El SGBD debe ser capaz de aceptar las definiciones de datos en versión fuente y convertirlas en la versión objeto. El SGBD debe incluir componentes procesadores para cada uno de los lenguajes de definición de datos (LDD). (DATE, 1993).

Manipulación de los Datos

El SGBD debe atender las solicitudes de los usuarios para extraer, actualizar, adicionar o suprimir datos. El SGBD debe incluir un componente procesador del Lenguaje de manipulación de datos (LMD).

Seguridad e Integridad de los Datos

El SGBD debe supervisar las solicitudes de los usuarios y rechazar los intentos de violar las medidas de seguridad e integridad definidas por el Administrador de la Base de Datos DBA. (DATE, 1993).

Recuperación y concurrencia de los datos

El principal objetivo de la implantación de una base de datos es poner a disposición de un gran número de usuarios en conjunto integrado de datos, estos datos podrán ser manipulados por los diferentes usuarios y es ahora cuando se debe garantizar la coherencia de los datos después de las diversas manipulaciones.
FUENTE:
LOCKHART, T. 1996. PostgreSQL. 1996.

Arquitectura de los sistemas de base de datos

En 1975, el comité ANSI-SPARC (American National Standard Institute - Standards Planning and Requirements Committee) propuso una arquitectura de tres niveles para los SGBD cuyo objetivo principal era el de separar los programas de aplicación de la BD física. En esta arquitectura el esquema de una BD se define en tres niveles de abstracción distintos:

Nivel interno o físico

El más cercano al almacenamiento físico, es decir, tal y como están almacenados en el ordenador. Describe la estructura física de la BD mediante un esquema interno. Este esquema se especifica con un modelo físico y describe los detalles de cómo se almacenan físicamente los datos: los archivos que contienen la información, su organización, los métodos de acceso a los registros, los tipos de registros, la longitud, los campos que los componen, etc.

Nivel externo o de visión

Es el más cercano a los usuarios, es decir, es donde se describen varios esquemas externos o vistas de usuarios. Cada esquema describe la parte de la BD que interesa a un grupo de usuarios en este nivel se representa la visión individual de un usuario o de un grupo de usuarios.

Nivel conceptual

Describe la estructura de toda la BD para un grupo de usuarios mediante un esquema conceptual. Este esquema describe las entidades, atributos, relaciones, operaciones de los usuarios y restricciones, ocultando los detalles de las estructuras físicas de almacenamiento. Representa la información contenida en la BD. En la Figura 1.1 se representan los niveles de abstracción de la arquitectura ANSI.

Evolución

Evolución de los Sistemas Gestores de Bases de Datos... 1950, 1960, 1970, 1980, 1990, 2000, 2010 Archivos secuenciales archivos de acceso directo, publicaciones del modelo relacional de codd sistema de base de datos jerárquicos, sistema de base de datos de red base de datos relaciones-modelos orientado a objetos plataformas, cliente-servidor sistema de base de datos orientado a objetos Consistía en leer una cinta o más y pasar los datos a otra, y también se podían pasar desde las tarjetas perforadas. El uso de los discos en ese momento fue un adelanto muy efectivo, ya que por medio de este soporte se podía consultar la información directamente, esto ayudo a ahorrar tiempo. Un modelo relacional de datos para grandes bancos de datos compartidos pudo competir con las bases de datos jerárquicas y de red, ya que su nivel de programación era bajo y su uso muy sencillo. El boom de esta década fue la aparición de la WWW “Word Wide Web ya que por éste medio se facilitaba la consulta de las bases de datos. En la actualidad existe gran cantidad de alternativas en línea que permiten hacer búsquedas orientadas a necesidades específicas de los usuarios, una de las tendencias más amplias son las bases de datos que cumplan con el protocolo Open Archives Initiative. Actualidad la información se representa mediante objetos como los presentes en la programación orientada a objetos almacenan la información en una estructura jerárquica que enlaza los registros en forma de estructura de árbol.
  • 1950 - 1960
Se desarrollaron las cintas magnéticas para el almacenamiento de datos.
  • 1960 – 1970
Los discos fijos permiten el acceso directo a los datos.
  • 1980
Proyecto system R, primeras bases de datos relacionales
  • 1990
El lenguaje SQL
  • Finales de 1995
El crecimiento explosivo de Worl Wide Web
  • 2000 – 2015
Las bases de datos son IBM, Microsoft y Oracle
Fuente
Juan Manuel Orellano (2014) – Comentario

Mapa interactivo de la evolución de GDBDD

Integrantes

  • Olortigue Jimenez, Kent
  • Felix Escalante, Angel
  • Roque Milla, Jeanpool
  • Palomino Sanchez, Carlos
  • Romero Estrada, Jean