jueves, 28 de septiembre de 2017

GESTORES DE BASE DE DATOS




GESTOR DE BASE DE DATOS

CARRERA PROFESIONAL DE  : Ingeniería de Sistemas y Telemática

ASIGNATURA                             : Microprocesadores

ESTUDIANTE                             :
ü  CHUQUIZUTA RAMOS, Marleni
ü  HERRERA SILVA, Carlos Jhonatan


CICLO                                        : VII

GRUPO                                      :A




I.              TEMA: GESTOR DE BASE DE DATOS

Un Sistema Gestor de Bases de Datos (SGBD) o DGBA (Data Base Management System) es un conjunto de programas no visibles que administran y gestionan la información que contiene una base de datos. A través de él se maneja todo acceso a la base de datos con el objetivo de servir de interfaz entre ésta, el usuario y las aplicaciones.

Gracias a este sistema de software invisible para el usuario final, compuesto por un lenguaje de definición de datos, un lenguaje de manipulación y de consulta, es posible gestionar los datos a distintos niveles. Tanto almacenar, modificar y acceder a la información como realizar consultas y hacer análisis para generar informes.

A su vez, el SGBD puede entenderse como una colección de datos relacionados entre sí, estructurados y organizados dentro del ecosistema conformado por ese conjunto de programas que acceden a ellos y facilitan su gestión. Frente al anterior sistema de gestión de archivos, -un conjunto de programas que definían y trabajaban sus propios datos-, el acceso a los datos es independiente de los programas que los gestionan, una gran ventaja de cara a tratar grandes volúmenes de información.

Básicamente, el gestor controla cualquier operación ejecutada por el usuario contra la base de datos. Para ello, se utilizan herramientas específicas, como sistemas de búsqueda y de generación de informes, además de distintas aplicaciones. Igualmente, permite la definición de bases de datos a distintos niveles de abstracción, así como su manipulación, garantizando tanto la seguridad como la integridad y consistencia de los mismos. Siempre de forma separada a los programas o aplicaciones que los gestionan, sin tener que modificar éstos.  En cuanto a su tipología, suelen agruparse a partir de criterios relacionados con el modelo de datos (dentro de éste encontramos los SGBD relacionales, En Red, jerárquicos u orientados a objetos), y también es posible diferenciarlos según sean o no propietarios, así como a partir de elementos como el número de usuarios (monousuarios y distribuidos) o de sitios, en cuyo caso serían centralizados o distribuidos.

1.    COMPONENTES DE UN GESTOR DE BASES DE DATOS

·   Control de autorización. Este módulo comprueba que el usuario tiene los permisos necesarios para llevar a cabo la operación que solicita. 
·         Procesador de comandos. Una vez que el sistema ha comprobado los permisos del usuario, se pasa el control al procesador de comandos. 

·         Control de la integridad. Cuando una operación cambia los datos de la base de datos, este módulo debe comprobar que la operación a realizar satisface todas las restricciones de integridad necesarias. 

·       Optimizador de consultas. Este módulo determina la estrategia óptima para la ejecución de las consultas. 

·  Gestor de transacciones. Este módulo realiza el procesamiento de las transacciones. 

·   Planificador (scheduler). Este módulo es el responsable de asegurar que las operaciones que se realizan concurrentemente sobre la base de datos tienen lugar sin conflictos. 

·       Gestor de recuperación. Este módulo garantiza que la base de datos permanece en un estado consistente en caso de que se produzca algún fallo. 

·         Gestor de buffers. Este módulo es el responsable de transferir los datos entre memoria principal y los dispositivos de almacenamiento secundario. A este módulo también se le denomina gestor de datos.

2.    LENGUAJES DE MODELACIÓN

Un modelo de base de datos es un tipo de modelo de datos que determina la estructura lógica de una base de datos y de manera fundamental
Determina el modo de almacenar, organizar y manipular los datos.

Entre los modelos lógicos comunes para bases de datos se encuentran:

Ø  Modelo Jerárquico: Una base de datos jerárquica es un tipo de sistema de gestión de bases de datos que almacenan la información en una estructura jerárquica que enlaza los registros en forma de estructura de árbol en donde un nodo padre de información puede tener varios nodos hijo. De la misma manera se puede establecer relación entre los nodos hermanos En este caso la estructura en forma de árbol se convierte en una estructura en forma de grafo dirigido. El modelo jerárquico se clasifica en estructuras lineales y arborescentes. La primera clase de estructura, cada tipo de registro padre sólo puede tener un tipo de registro hijo. La segunda, un tipo de registro padre puede tener varios tipos de registros hijos. El producto comercial de tipo Jerárquico más extendido y el único que ha llegado hasta nuestros días es el IMS de IBM
El modelo jerárquico facilita relaciones padre-hijo, es decir, relaciones 1:N (de uno a varios) del modelo relacional. Pero a diferencia de éste último, las relaciones son unidireccionales. En justicia, dichas relaciones son hijo-padre, pero no padre-hijo. Por ejemplo, el registro de un empleado (nodo hijo) puede relacionarse con el registro de su departamento (nodo padre), pero no al contrario. Esto implica que solamente se puede consultar la base de datos desde los nodos hoja hacia el nodo raíz. La consulta en el sentido contrario requiere una búsqueda secuencial por todos los registros de la base de datos (por ejemplo, para consultar todos los empleados de un departamento). En las bases de datos jerárquicas no existen índices que faciliten esta tarea

Una de las principales limitaciones de este modelo es su incapacidad de representar eficientemente la redundancia de datos. De la misma manera, otra limitación es, no garantiza la inexistencia de registros duplicados. Esto también es cierto para los campos “clave”. Es decir, no se garantiza que dos registros cualesquiera tengan diferentes valores en un subconjunto concreto de campos.

                                                                 


Ø  Modelo de Red: La mayor parte de bases de datos de objeto usan el concepto de navegación para proporcionar la navegación rápida a través de las redes de objetos, generalmente usando identificadores de objeto como indicadores "inteligentes" de objetos relacionados.  El modelo de red organiza datos que usan dos fundamental construcciones, registros y conjuntos. Los registros contienen campos (que puede ser organizado jerárquicamente, como en el lenguaje COBOL de lenguaje de programación). Los conjuntos (para no ser confundido con conjuntos matemáticos) definen de uno a varias relaciones entre registros: un propietario, muchos miembros.

Un registro puede ser un propietario en cualquier número de conjuntos, y un miembro en cualquier número de conjuntos. El modelo de red es una variación sobre el modelo jerárquico, al grado que es construido sobre el concepto de múltiples ramas (estructuras de nivel inferior) emanando de uno o varios nodos (estructuras de nivel alto), mientras el modelo se diferencia del modelo jerárquico en esto las ramas pueden estar unidas a múltiples nodos. El modelo de red es capaz de representar la redundancia en datos de una manera más eficiente que en el modelo jerárquico. Las operaciones del modelo de red son de navegación en el estilo: un programa mantiene una posición corriente, y navega de un registro al otro por siguiente las relaciones en las cuales el registro participa. 

Los registros también pueden ser localizados por suministrando valores claves. Aunque esto no sea un rasgo esencial del modelo, las bases de datos de red generalmente ponen en práctica las relaciones de juego mediante indicadores que directamente. dirigen la ubicación de un registro sobre el disco. Esto da el funcionamiento de recuperación excelente, a cargo de operaciones como la carga de base de datos y la reorganización.

La mayor parte de bases de datos de objeto usan el concepto de navegación para proporcionar la navegación rápida a través de las redes de objetos, generalmente usando identificadores de objeto como indicadores "inteligentes" de objetos relacionados. Objectivity/DB, por ejemplo, los instrumentos llamados 1: 1, 1: muchos, muchos:1 y muchos: muchos, llamados relaciones que pueden cruzar bases de datos. Muchas bases de datos de objeto

también apoyan SQL, combinando las fuerzas de ambos modelos.

Ø  Modelo Relacional: modelo de organización y gestión de bases de datos consistente en el almacenamiento de datos en tablas compuestas por filas, o tuplas, y columnas o campos. Se distingue de otros modelos, como el jerárquico, por ser más comprensible para el usuario inexperto, y por basarse en la lógica de predicados para establecer relaciones entre distintos datos. Surge como solución a la creciente variedad de los datos que integran las data warehouses y podemos resumir el concepto como una colección de tablas (relaciones).

Ø  Tabla: es el nombre que recibe cada una de las relaciones que se establecen entre los datos almacenados; cada nueva relación da lugar a una tabla. Están formadas por filas, también llamadas tuplas, donde se describen los elementos que configuran la tabla (es decir, los elementos de la relación establecida por la tabla), columnas o campos, con los atributos y valores correspondientes, y el dominio, concepto que agrupa a todos los valores que pueden figurar en cada columna.

Ø  Claves: elementos que impiden la duplicidad de registros, una de las grandes desventajas que presentan otros modelos de organización y gestión de bases de datos. Existen dos grandes tipos de claves: las claves primarias y las secundarias externas.

Ø  Claves primarias: son los atributos (columnas) según el tipo de relación que se ha definido en la tabla. Pueden añadirse otros atributos específicos y propios. 

Ø  Claves externas o secundarias: son las claves que se definen para cada una de las claves primarias establecidas para los elementos o entidades de una relación.

Ø  Restricción de identidad: límites y restricciones que se imponen en las relaciones, imprescindibles para mantener la significación correcta de la base de datos. Es un concepto íntimamente vinculado a las reglas de integridad propias del modelo relacional, el cumplimiento de las cuales está garantizado por las claves primarias y externas.

3.    RESTRICCIONES DE INTEGRIDAD:
Ø  Los datos requeridos (los campos o columnas siempre deben poseer un atributo o un valor).
Ø  La comprobación de validez (las tablas deben contener solo los datos correspondientes a la correspondiente relación definida por cada tabla).
Ø  Las integridades de entidad y referencial (las primeras aseguran que las claves primarias posean un valor único para cada tupla, y las segundas que las claves principales y las externas mantengan su integridad).
Ø  Reglas de integridad: reglas que garantizan la integridad de los datos, es decir, la correspondencia plausible de los datos con la realidad.

4.    MODELO ORIENTADO A OBJETOS: las bases de datos orientados a objetos se propusieron con la idea de satisfacer las necesidades de las aplicaciones más complejos. El enfoque oriento a objetos orientado a objetos ofrece la flexibilidad para cumplir con algunas de estos requerimientos sin estar limitado por los tipos de datos y los lenguajes de consulta disponible en los sistemas de bases de datos tradicionales. Como cualquier base de datos programables, una base de datos orientada a objetos proporciona un ambiente para el desarrollo de aplicaciones y un depósito persistente listo para su explotación. Una BDOO almacena y manipula información que puede ser digitalizada como objetos, además proporciona un acceso ágil y permite una gran capacidad de manipulación. Los principales conceptos que se utilizan en las Bases de Datos Orientada a Objetos (BDOO) son las siguientes:

ü  Identidad de objetos
ü  Constructores de tipos
ü  Encapsulamiento
ü  Compatibilidad con los lenguajes de programación
ü  Jerarquías de tipos y herencia
ü  Manejo de objetos complejos
ü  Polimorfismo y sobrecarga de operadores y
ü  Creación de versiones

El paradigma orientado a objetos se basa en el encapsulamiento de datos y del código relaciono con cada objeto en una sola unidad. Conceptualmente, todas las interacciones entre cada objeto y el resto del sistema se realizan mediante mensajes. Por lo tanto, la interfaz entre cada objeto y el resto del sistema se define mediante un conjunto de mensajes permitidos.
En general cada objeto está asociado con:
ü  Un conjunto de variables que contiene los datos del objeto; las variables corresponden con los atributos del modelo E-R.
ü  Un conjunto de mensajes a los que responde; cada mensaje puede o no tener parámetros o tener uno o varios.
ü  Un conjunto de métodos, cada uno de los cuales es el código que implementa un mensaje; el método devuelve un valor como respuesta al mensaje.

Mensaje en entorno en OO no implica uso de mensajes físico en redes informáticas. Por el contrario hace referencia al intercambio de solicitudes entre los objetos, independientemente de los detalles correctos de su implementación. Se utiliza a veces la expresión invocar un método para detonar al hecho de enviar un mensaje a un objeto y la ejecución del método correspondiente.

A.   IDENTIDAD DE OBJETOS
Un sistema de BDOO provee una identidad única a cada objeto independiente almacenado en la base de datos. Esta identidad única suele implementarse con un identificador de objeto único, generado por el sistema, u OID. El valor de un OID no es visible para el usuario externo, sino que el sistema lo utiliza a nivel interno para identificar cada objeto de manera única y para crear y manejar las referencias entre objetos.
La principal propiedad que debe tener un OID es la de ser inmutable; es decir, el valor del OID para un objeto en particular nunca debe cambiar. Esto preserva la identidad del objeto del mundo real que se está presentando. También es preferible que cada OID se utilice sólo una vez; esto es, aunque un objeto se elimine de la Base de datos, su OID no se deberá asignar a otro objeto. Estas dos propiedades implican que el OID no debe depender del valor de ningún atributo del objeto, pues estos valores pueden cambiar. También suele considerarse inapropiado basar el OID en la dirección física del objeto en el almacenamiento, ya que una reorganización de los objetos de la base de datos podría cambiar los OID. Sin embargo, algunos sistemas sí usan la dirección física como OID para aumentar la eficiencia de la obtención de los objetos. Si la dirección física cambia, puede colocarse un apuntador indirecto en la dirección anterior, dando la nueva ubicación física del objeto. Un sistema de BDOO debe contar con algún mecanismo para generar los OID con la propiedad de inmutabilidad.
Algunos modelos de datos OO requieren que todo se represente como un objeto, ya sea un valor simple o un objeto complejo; así, todo valor básico, como un entero, una cadena o un valor booleano, tiene un OID. Con ello dos valores básicos pueden tener diferentes OID, lo cual es muy útil en algunos casos. Por ejemplo, en algunas ocasiones se podría usar el valor entero 50 para representar un peso en Kilogramos, y en otras para referirse a la edad de una persona. Así podrían crearse dos objetos básicos con diferentes OID, y ambos tendrían el mismo valor básico de 50. Aunque resulta útil como modelo teórico, esto no es muy práctico porque puede obligar a generar demasiados OID. Por ello también, la mayor parte de los sistemas de BDOO permiten representar tanto objetos como valores. Todo objeto debe tener un OID inmutable, pero los valores no tienen OID y se representan así mismo.
Los objetos tienen identidades únicas, independientes de los valores de sus atributos.
La estructura orientad a objetos automáticamente impone las restricciones relacionales, generalmente más aplicables: dominio, llave integridad de entidad e integridad referencial.

B.   CONSTRUCTORES DE TIPOS
En las BDOO, los valores (o estados) de los objetos complejos se pueden construir a partir de otros objetos mediante ciertos constructores de tipos. Una forma de representar tales objetos es considerar a cada objeto como tripleta (i, c, v), donde i es un identificador de objeto único (el OID), c es un constructor (esto es, una indicación de cómo se construye el valor del objeto) y v es el valor (o estado) del objeto. Puede haber varios constructores, según el modelo de datos y el sistema OO.
Los tres constructores básicos son:
·         Constructores de átomos.
·         Constructores de tuplas.
·         Constructores de conjuntos.

Otros constructores de uso más común son los de listas y de arreglos. También existe un dominio D que contiene todos los valores atómicos básicos que están disponibles directamente en el sistema. Por lo regular estos incluyen los enteros, los números reales, las cadenas de caracteres, los tipos boléanos, las fechas y cualesquiera otros tipos de datos que el sistema maneje directamente.

C.   ENCAPSULAMIENTO:
Tanto la estructura de los objetos como las operaciones que se pueden aplicar a ellos se incluyen en las definiciones de clases de los objetos.

D.   COMPATIBILIDAD CON LENGUAJES DE PROGRAMACION
Si se sigue el enfoque cuando se utilizan los diagramas de Entidad-Relación para modelar los datos y luego se convierten de manera manual en un conjunto de relaciones; por lo tanto, los conceptos de la Programación Orientada a Objetos se utilizan simplemente como herramientas de diseño y se codifican, utilizándose para trabajar con una base de datos.
Hay varios lenguajes posibles en los que se pueden integrar estos conceptos:
Una opción es extender un lenguaje para el tratamiento de datos como el SQL añadiendo tipos complejos y la programación orientada a objetos. Los sistemas proporcionan extensiones orientadas a objetos a los sistemas relacionales se denominan sistemas relacionales orientados a objetos.
Otra opción es tomar un lenguaje de programación orientado a objetos ya existente y extenderlo para que trabaje con las bases de datos. Estos lenguajes se denominan lenguajes de programación persistentes. Estos lenguajes permiten a los programadores trabajar directamente con los datos, desde el lenguaje de programación; sin tener que pasar por un lenguaje para el tratamiento de datos como SQL. Se denominan persistentes porque los datos siguen existiendo una vez que el programa que los creó ha concluido.
A la hora de decidir que opción utilizar se debe tener en cuenta que los Lenguajes Persistentes suelen ser potentes y resulta relativamente sencillo cometer errores de programación que dañen las bases de datos. La complejidad de los lenguajes hace la optimización automática de alto nivel, como la reducción de E/S de disco, resulte difícil. En muchas aplicaciones, la posibilidad de las consultas declarativas es de gran importancia, pero los lenguajes persistentes no permiten actualmente las consultas declarativas sin que aparezcan problemas de algún tipo.

E.   JERARQUIA DE TIPOS Y HERENCIA
Los esquemas de BDOO suelen necesitar un gran número de clases. Sin embargo, varias clases son parecidas entre sí.
Para permitir la representación directa de parecidos entre las clases, hay que ubicarlas en una jerarquía de especializaciones. El concepto de jerarquía de clases es parecido al de especialización del modelo E-R. Las especializaciones de las clases son denominadas subclases; lo cual especifica atributos y métodos adicionales para una clase existente. Los objetos creados por medio de unas subclases heredan todos los atributos y métodos de la clase padre. Algunas de estas características heredadas pueden ellas mismas haber sido heredadas de clases más altas en la jerarquía.

F.    MANEJO DE OBJETOS COMPLEJOS
Los objetos se consideran complejos porque requieren un área de almacenamiento sustancial y no forman parte de los tipos de datos estándar que suelen ofrecer los SGBD. Puesto que el tamaño de los objetos es considerable, un SGBD podría obtener una porción del objeto y proporcionarla al programa de aplicación antes de obtener todo el objeto. El SGBD podría también usar técnicas de almacenamiento intermedio y caché para obtener por anticipado porciones del objeto, antes de que el programa de aplicación necesite tener acceso a ellas.
En un SGBOO, esto puede lograrse definiendo un nuevo tipo de datos abstracto para los objetos no interpretados y suministrados los métodos para seleccionar, comprar y exhibir tales objetos.
Como un SGBOO permite a los usuarios crear nuevos tipos, y como un tipo incluye tanto estructura como operaciones, podemos considerar que un SGBOO tiene un sistema de tipos extensibles. Podemos crear bibliotecas de nuevos tipos definiendo su estructura y operaciones, incluso con tipos complejos.
Muchos SGBDOO pueden almacenar y obtener objeto no estructurado extenso en forma de cadenas y caracteres o de bits, que se pueden pasar “tal cual” al programa de aplicación para que las interprete.
Es posible almacenar y manipular objetos complejos tanto estructurados como no estructurados.

G.   POLIMORFISMO
El polimorfismo se refiere al uso de la misma firma de mensaje para dirigir diferentes métodos en diferentes clases. Cuando el diseñador envía una señal a un objeto, el método de la clase de objeto, posiblemente heredado, procesa la señal.
Un método puede tener acceso directamente a atributos de un objeto destino por no nombre, al incluir cualesquiera atributos heredados de clases padres, pero debe tener acceso a atributos de otros objetos con señales secundarias.
En síntesis, este concepto permite enlazar el mismo nombre o símbolo de operador a dos o más implementaciones diferentes del operador, dependiendo del tipo de objetos a los que éste se aplique.
H.   CREACION DE VERSIONES
Muchas aplicaciones de bases de datos que usan sistemas OO requieren la existencia de varias versiones del mismo objeto.
Por lo regular, se aplican actividades de mantenimiento a un sistema de software conforme sus requerimientos evolucionan. Por lo regular, el mantenimiento implica modificar algunos de los módulos de diseño y de implementación. Si el sistema ya está en operación, y si es preciso modificar uno o más módulos, el diseñador deberá crear una nueva versión de cada uno de ellos para efectuar cambios. Cabe señalar que puede haber más de dos versiones de un objeto.
En caso que se requieran dos versiones, además del módulo original. Se puede actualizar concurrentemente las propias versiones del mismo módulo del software. Esto se llama ingeniería concurrente. Sin embargo, siempre llega el momento en que es preciso combinar (fusionar) estas dos versiones para que la versión hibrida incluya los cambios realizados. Es necesario de que sus cambios sean compatibles.
Un objeto complejo, como un sistema de software, puede constar de muchos módulos. Cuando se permite la creación de múltiples versiones, es posible que cada una de esos módulos tenga varias versiones distintas y un grafo de versiones. Como se deduce del análisis anterior, un SGBDOO debe ser capaz  de  almacenar  y  controlar  múltiples  versiones  del mismo objeto.

5.    CARACTERÍSTICAS DE BD OO
Se intenta definir un sistema de BDOO y describe las principales características   en tres grupos:
ü  Mandatarias: son las que el Sistema debe satisfacer a orden de tener un sistema de BDOO y estos son: Objetos complejos, Identidad de Objetos, Encapsulación, Tipos o clases, Sobre paso con unión retardada, Extensibilidad, Completación Computacional, Persistencia y Manejador de almacenamiento secundario, Concurrencia, Recuperación y Facilidad de Query.

v  CARACTERISTICAS OBLIGATORIAS
Este es un punto que no debe faltar en BD. Predominancia combinada con enlace retardado: se puede definir que sea Excel, Autocad, etc. desde la programación.
·     Extensibilidad: Proporciona los tipos de datos como: Carácter, booleano, string, etc.
·     Concurrencia: permite que varios usuarios tengan acceso a    un BD al mismo tiempo.
·         Recuperación: Cuando se hace una transacción, pero no se puede realizar y se regresa al mismo estado. Facilidad de “Consultas a Modo”. Esto es cuando se tienen diferentes estándares.
6.    SISTEMA DE GESTOR DE BASE DE DATOS POSTGRESQL
PostgreSQL es un avanzado sistema de bases de datos relacionales basado en Open Source. Esto quiere decir que el código fuente del programa está disponible a cualquier persona libre de cargos directos, permitiendo a cualquiera colaborar con el desarrollo del proyecto o modificar el sistema para ajustarlo a sus necesidades.  PostgreSQL está bajo licencia BSD.
Un sistema de base de datos relacionales es un sistema que permite la               manipulación de acuerdo con las reglas del álgebra relacional. Los datos se almacenan en tablas de columnas y renglones.  Con el uso de llaves, esas tablas se pueden relacionar unas con otras.

Ideas Básicas acerca del funcionamiento
En la jerga de bases de datos, PosgreSQL usa el modelo cliente/servidor. Una sesión en PostgreSQL consiste en ejecución de los siguientes procesos. El servidor, que maneja archivos de bases de datos, acepta conexiones a las aplicaciones cliente, y realiza acciones en la base de datos. El programa servidor de bases de datos se conoce como postmaster.
La aplicación cliente, que necesita realizar operaciones en la base de datos. Las aplicaciones cliente pueden ser de la más diversa naturaleza: pueden ser aplicaciones de texto en una consola, aplicaciones gráficas, un servidor web que accede a la base de datos para mostrar una página, o herramientas especializadas de mantenimiento de bases de datos.
Como es habitual en las aplicaciones cliente/servidor, el cliente y el servidor pueden estar en diferentes máquinas. En este caso, estos se comunican sobre una conexión de red TCP/IP. El servidor PostgreSQL puede manejar múltiples conexiones concurrentes de los clientes. Para esto inicia un nuevo proceso (”fork”) para cada conexión llamado backend. Con esto, el cliente y el nuevo proceso del servidor se comunican sin la intervención del proceso original del postmaster. Así, el postmaster está siempre corriendo, esperando por conexiones de parte de los clientes Todo esto por supuesto es invisible para el usuario y se menciona acá solo como un comentario.

Ventajas de PostgreSQL
PostgreSQL se caracteriza por ser un sistema estable, de alto rendimiento, gran flexibilidad ya que funcionar la mayoría de los sistemas Unix, además tiene características que permiten extender fácilmente el sistema. PostgreSQL puede ser integrada al ambiente Windows permitiendo de esta manera a los desarrolladores, generar nuevas aplicaciones o mantener las ya existentes. Permite desarrollar o migrar aplicaciones desde Access, Visual Basic, Foxpro, Visual Foxpro, C/C++ Visual C/C++, Delphi, etc., para que utilicen a PostgreSQL como servidor de BD; Por lo expuesto PostgreSQL se convierte en una gran alternativa al momento de decidirse por un sistema de bases de datos.

7.    MYSQL SERVER
MySQL es un sistema de gestión de bases de datos relacional desarrollado bajo licencia dual GPL/Licencia comercial por Oracle Corporation y está considerada como la base datos open source más popular del mundo, y una de las más populares en general junto a Oracle y Microsoft SQL Server, sobre todo para entornos de desarrollo web.
MySQL fue inicialmente desarrollado por MySQL AB (empresa fundada por David Axmark, Allan Larsson y Michael Widenius). MySQL A.B. fue adquirida por Sun Microsystems en 2008, y ésta a su vez fue comprada por Oracle Corporation en 2010, la cual ya era dueña desde 2005 de Innobase Oy, empresa finlandesa desarrolladora del motor InnoDB para MySQL.
Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y los derechos de autor del código están en poder del autor individual, MySQL es patrocinado por una empresa privada, que posee el copyright de la mayor parte del código. Esto es lo que posibilita el esquema de doble licenciamiento anteriormente mencionado. La base de datos se distribuye en varias versiones, una Community, distribuida bajo la Licencia pública general de GNU, versión 2, y varias versiones Enterprise, para aquellas empresas que quieran incorporarlo en productos privativos. Las versiones Enterprise incluyen productos o servicios adicionales tales como herramientas de monitorización y soporte oficial. En 2009 se creó un fork denominado MariaDB por algunos desarrolladores (incluido algunos desarrolladores originales de MySQL) descontentos con el modelo de desarrollo y el hecho de que una misma empresa controle a la vez los productos MySQL y Oracle Database. Está desarrollado en su mayor parte en ANSI C y C++.​ Tradicionalmente se considera uno de los cuatro componentes de la pila de desarrollo LAMP y WAMP.
MySQL es usado por muchos sitios web grandes y populares, como Wikipedia, Google​ (aunque no para búsquedas), Facebook, ​ Twitter, ​ Flickr, y YouTube.

LENGUAJES DE PROGRAMACIÓN
Existen varias interfaces de programación de aplicaciones que permiten, a aplicaciones escritas en diversos lenguajes de programación, acceder a las bases de datos MySQL, incluyendo C, C++, C#, Pascal, Delphi (vía dbExpress), Eiffel, Smalltalk, Java (con una implementación nativa del driver de Java), Lisp, Perl, PHP, Python, Ruby, Gambas, REALbasic (Mac y Linux), (x)Harbour (Eagle1), FreeBASIC, y Tcl; cada uno de estos utiliza una interfaz de programación de aplicaciones específica. También existe una interfaz ODBC, llamado MyODBC que permite a cualquier lenguaje de programación que soporte ODBC comunicarse con las bases de datos MySQL. También se puede acceder desde el sistema SAP, lenguaje ABAP.

PLATAFORMAS
MySQL funciona sobre múltiples plataformas, incluyendo:
·         AIX
·         BSD
·         FreeBSD
·         HP-UX
·         Kurisu OS
·         GNU/Linux
·         Mac OS X
·         NetBSD
·         OpenBSD
·         OS/2 Warp
·         QNX
·         SGI IRIX
·         Solaris
·         SunOS
·         SCO OpenServer
·         SCO UnixWare
·         Tru64
·         Ebd
Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10 y Windows Server (2000, 2003, 2008 y 2012).
OpenVMS23​
Oracle provee el código fuente de MySQL Community Edition y versiones compiladas para diferentes sistemas operativos, aunque el rendimiento de MySQL se encuentra optimizado para sistemas GNU/Linux, con pequeñas diferencias de rendimiento entre las diferentes distribuciones.

Características
Inicialmente, MySQL carecía de elementos considerados esenciales en las bases de datos relacionales, tales como integridad referencial y transacciones. A pesar de ello, atrajo a los desarrolladores de páginas web con contenido dinámico, justamente por su simplicidad.
Poco a poco los elementos de los que carecía MySQL están siendo incorporados tanto por desarrollos internos, como por desarrolladores de software libre.
Entre las características disponibles en las últimas versiones se puede destacar:
ü  Amplio subconjunto del lenguaje SQL. Algunas extensiones son incluidas igualmente.
ü  Disponibilidad en gran cantidad de plataformas y sistemas.
ü  Posibilidad de selección de mecanismos de almacenamiento que ofrecen diferentes velocidades de operación, soporte físico, capacidad, distribución geográfica, transacciones...
ü  Transacciones y claves foráneas.
ü  Conectividad segura.
ü  Replicación.
ü  Búsqueda e indexación de campos de texto.
MySQL es un sistema de administración de bases de datos. Una base de datos es una colección estructurada de tablas que contienen datos. Esta puede ser desde una simple lista de compras a una galería de pinturas o el vasto volumen de información en una red corporativa. Para agregar, acceder a y procesar datos guardados en un computador, usted necesita un administrador como MySQL Server. Dado que los computadores son muy buenos manejando grandes cantidades de información, los administradores de bases de datos juegan un papel central en computación, como aplicaciones independientes o como parte de otras aplicaciones.
MySQL es un sistema de administración relacional de bases de datos. Una base de datos relacional archiva datos en tablas separadas en vez de colocar todos los datos en un gran archivo. Esto permite velocidad y flexibilidad. Las tablas están conectadas por relaciones definidas que hacen posible combinar datos de diferentes tablas sobre pedido.
MySQL es software de fuente abierta. Fuente abierta significa que es posible para cualquier persona usarlo y modificarlo. Cualquier persona puede bajar el código fuente de MySQL y usarlo sin pagar. Cualquier interesado puede estudiar el código fuente y ajustarlo a sus necesidades. MySQL usa el GPL (GNU General Public License) para definir qué puede hacer y qué no puede hacer con el software en diferentes situaciones. Si usted no se ajusta al GPL o requiere introducir código MySQL en aplicaciones comerciales, usted puede comprar una versión comercial licenciada.

8.    MICROSOFT SQL SERVER
Microsoft SQL Server es un sistema de manejo de bases de datos del modelo relacional, desarrollado por la empresa Microsoft.
El lenguaje de desarrollo utilizado (por línea de comandos o mediante la interfaz gráfica de Management Studio) es Transact-SQL (TSQL), una implementación del estándar ANSI del lenguaje SQL, utilizado para manipular y recuperar datos (DML), crear tablas y definir relaciones entre ellas (DDL).
Dentro de los competidores más destacados de SQL Server están: Oracle, MariaDB, MySQL, PostgreSQL. SQL Server ha estado tradicionalmente disponible solo para sistemas operativos Windows de Microsoft, pero desde 2017 también está disponible para Linux y Docker containers.
Puede ser configurado para utilizar varias instancias en el mismo servidor físico, la primera instalación lleva generalmente el nombre del servidor, y los siguientes nombres específicos (con un guion invertido entre el nombre del servidor y el nombre de la instalación).

Versiones
El código fuente original de SQL Server que fue utilizado en las versiones previas a la versión 7.0 habría sido comprado de Sybase, pero fue actualizado en las versiones 7.0 y 2000, y reescrito en la versión 2005. Generalmente, cada 2-3 años, una nueva versión es lanzada y, entre estos lanzamientos, se proponen service packes con mejoras y correcciones de bugs, y hotfixes por problemas urgentes en el sistema de seguridad o bugs críticos.
Características
·         Soporte de transacciones.
·         Soporta procedimientos almacenados.
·         Incluye también un 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 los terminales o clientes de la red sólo acceden a la información.
·         Además, permite administrar información de otros servidores de datos.
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 versiones 2005 y 2008 pasa a ser el SQL Express Edition, que se distribuye en forma gratuita.
Es común desarrollar proyectos completos empleando Microsoft SQL Server y Microsoft Access a través de los llamados ADP (Access Data Project). De esta forma se completa la base de datos (Microsoft SQL Server), con el entorno de desarrollo (VBA Access), a través de la implementación de aplicaciones de dos capas mediante el uso de formularios Windows.
En el manejo de SQL mediante líneas de comando se utiliza el SQLCMD, osql, o PowerShell. Para el desarrollo de aplicaciones más complejas (tres o más capas), Microsoft SQL Server incluye interfaces de acceso para varias plataformas de desarrollo, entre ellas .NET, pero el servidor sólo está disponible para Sistemas Operativos. El tipo NUMERIC fue mejorado para ser usado como identificador de columna a partir de la versión 2008 R2.

Desventajas
Desde la versión de SQL Server 2012 las consultas escritas en T-SQL no son retrocompatible con la versión de SQL Server 2008 o anteriores.
En versiones de 32 bits, SQL Server usa Address Windowing Extension (AWE) para hacer el direccionamiento por encima de 4 GB. Esto le impide usar la administración dinámica de memoria, y sólo le permite alojar un máximo de 64 GB de memoria compartida. Esta limitación es exclusiva de sistemas operativos 32 bits; en sistemas operativos 64 bits, la memoria máxima que se puede direccionar en Edición Estándar es 64 Gb y en Edición Enterprise 4Tb.

Tipos de datos
Para cada columna en una tabla y a cada variable o parámetro, se define un tipo de datos que sean almacenados en él, entre ellos:
·         Números: Números enteros y no enteros en distintos tamaños, y en diferentes niveles de precisión; y auto incremento opcional.
·         Textos: Cadenas de distintas longitudes, y distintas capacidades de apoyar distintas lenguas.
·         Fechas: Fechas en distintos niveles de precisión, desde días completos hasta fracciones menores de un segundo, que apoyan fechas a partir del principio del siglo 20 o del calendario gregoriano, y la capacidad de diferenciar entre distintos usos de horarios.
·         XML: Datos textuales (cadenas) que representan conjuntos estándares de datos (estándar SGML).
·         Datos binarios: Datos almacenados como datos binarios (bits y bytes), que posibilitan el almacenamiento de archivos gráficos, etc.
·         Geography: Representación estándar de información geográfica, tales como estados, zonas geográficas, localidades; y los cálculos como distancias.
·         Geometry: Representación estándar de puntas, líneas, superficies en el plano; y las relaciones entre ellas.
·         Hierarchid: Representación estándar de información jerárquica como lista de materiales, relaciones de subordinación entre empleados, etc.

9.    INFORMIX:
Informix es una familia de productos RDBMS de IBM, adquirida en 2001 a una compañía (también llamada Informix o Informix Software) cuyos orígenes se remontan a 1980.
El DBMS Informix fue concebido y diseñado por Roger Sippl a finales de los años 1970. La compañía Informix fue fundada en 1980, salió a bolsa en 1986 y durante parte de los años 1990 fue el segundo sistema de bases de datos más popular después de Oracle. Sin embargo, su éxito no duró mucho y para el año 2000 una serie de tropiezos en su gestión había debilitado seriamente a la compañía desde el punto de vista financiero.
En 2001 IBM, impulsada por una sugerencia de Wal-Mart (el mayor cliente de Informix) compró Informix. IBM tenía planes a largo plazo tanto para Informix como para DB2, compartiendo ambas bases de datos tecnología de la otra. A principios de 2005, IBM lanzó la versión 10 del Informix Dynamic Server (IDS).

1980: Inicios
Sippl y King abandonaron Cromemco para fundar Relational Database Systems (RDS) en 1980. Su primer producto, Marathon, era esencialmente una versión de 16 bits de su anterior sistema ISAM, lanzado para el sistema operativo Onyx, una versión de Unix para los primeros microprocesadores de ZiLOG.
Volviendo su atención al mercado emergente de los RDBMS, RDS lanzó su propio producto como Informix (de Information on Unix, ‘información en Unix’) en 1981, incluyendo su propio lenguaje Informer y el editor de informes ACE, usado para extraer datos de la base de datos y presentarlos a los usuarios de forma legible. También incluía la herramienta de formularios en pantalla PERFORM, que permitía a un usuario realizar consultas y editar los datos de la base de datos interactivamente. El último lanzamiento de este producto fue la versión 3.30 a principios de 1986.
En 1985 presentaron un nuevo motor de consultas basado en SQL como parte de su INFORMIX-SQL (o ISQL) versión 1.10 (la versión 1.00 no se llegó a lanzar). Este producto también incluía versiones SQL de ACE y PERFORM. La diferencia más importante entre ISQL y el anterior Informix era la separación del código de acceso a la base de datos en un motor independiente (sqlexec) en lugar de incrustarlo directamente en el cliente, preparando así el entorno a la llegada de la computación cliente-servidor con la base de datos corriendo en una máquina diferente a la del usuario final.
Durante principios de los años 1980 Informix siguió siendo una empresa pequeña, pero a medida que Unix y SQL ganaban popularidad durante mediados de la década su suerte cambió. Para 1986 habían crecido lo suficiente como para salir a bolsa con éxito, y cambiaron el nombre de la compañía a Informix Software. Sus productos eran INFORMIX-SQL versión 2.00 e INFORMIX-4GL 1.00, incluyendo ambos el motor de bases de datos y herramientas de desarrollo (I4GL para programadores, ISQL para no-programadores).
Siguieron una serie de lanzamientos, incluyendo un nuevo motor de consultas, inicialmente conocido como INFORMIX-Turbo. Turbo usaba el nuevo RSAM, con grandes mejoras en el rendimiento con múltiples usuarios respecto a ISAM. Con el lanzamiento de la versión 4.00 de sus productos en 1989, Turbo fue rebautizado INFORMIX-OnLine (en parte porque permitía la realización de copias de respaldo coherentes de la base de datos mientras el servidor estaba en línea y los usuarios modificaban los datos) y el servidor original basado en C-ISAM fue separado de las herramientas (ISQL e I4GL) y llamado INFORMIX-SE (Standard Engine, ‘motor estándar’). La versión 5.00 de Informix OnLine fue lanzada a finales de 1990 e incluía soporte para transacciones completamente distribuidas con commits en dos fases y procedimientos almacenados. La versión 5.01 añadió soporte para disparadores, (triggers).

          Ventajas:
·         Es una familia de productos de bases de datos que incluye un sistema de administración de bases de datos relacionales basado en SQL, un lenguaje de cuarta generación y herramientas para la inclusión de SQL en programas de aplicación.
Desventajas:
·         Es costoso.
·         No ha sabido crear soporte técnico para su producto.
·         Poco terreno del marketing debido a sus pérdidas económicas.

10. GESTOR DE BASE DE DATOS ORACLE
Oracle Database es un sistema de gestión de base de datos de tipo objeto-relacional (ORDBMS, por el acrónimo en inglés de Object-Relational Data Base Management System), desarrollado por Oracle Corporation.
Su dominio en el mercado de servidores empresariales había sido casi total hasta que recientemente tiene la competencia del Microsoft SQL Server y de la oferta de otros RDBMS con licencia libre como PostgreSQL, MySQL o Firebird.
Las últimas versiones de Oracle han sido certificadas para poder trabajar bajo GNU/Linux.

Historia
Oracle surge en 1977 bajo el nombre de SDL (Software Development Laboratories).
En 1979, SDL cambia su nombre por Relational Software, Inc. (RSI).
La fundación de SDL fue motivada principalmente a partir de un estudio sobre los SGBD (Sistemas Gestores de Base de Datos) de George Koch. Computer World definió este estudio como uno de los más completos jamás escritos sobre bases de datos. Este artículo incluía una comparativa de productos que dirigía a Relational Software como el más completo desde el punto de vista técnico. Esto se debía a que usaba la filosofía de las bases de datos relacionales, algo que por aquella época era todavía desconocido.
En la actualidad, Oracle (Nasdaq: ORCL) todavía encabeza la lista. La tecnología Oracle se encuentra prácticamente en todas las industrias alrededor del mundo y en las oficinas de 98 de las 100 empresas Fortune 100. Oracle es la primera compañía de software que desarrolla e implementa software para empresas cien por ciento activado por Internet a través de toda su línea de productos: base de datos, aplicaciones comerciales y herramientas de desarrollo de aplicaciones y soporte de decisiones. Oracle es el proveedor mundial líder de software para administración de información, y la segunda empresa de software.
Oracle, a partir de la versión 10g Release 2, cuenta con 7 ediciones:
·         Enterprise Edition (EE).
·         Standard Edition (SE).
·         Standard Edition One (SE1)
·         Standard Edition 2 (SE2)
·         Express Edition (XE).
·         Personal Edition (PE).
·         Lite Edition (LE).

La única edición gratuita es la Express Edition, que es compatible con las demás ediciones de Oracle Database 10gR2 y Oracle Database 11g.
Oracle adquirió Sun Microsystems y con ella la empresa encargada comercial de MySQL.
La última versión de Oracle es la versión 12c, la primera base de datos diseñada para Cloud Computing, que fue lanzada en 2013, donde con la presentación de la llegada de esta última versión de Oracle Database 12c, Oracle facilita los esfuerzos de las empresas para estandarizar, consolidar y automatizar los servicios de las bases de datos en la nube.
Características:

Oracle Database 10G Standard Edition
La base de datos Oracle 10g Standard Edition es compatible con medianas industrias. Esta incluye Real Application Clúster para proporcionar protección en contra de fallos de hardware. Es fácil de instalar y configurar, viene con su propio software de clustering, administración de almacenamiento y otras capacidades de auto administración. La base de datos Oracle 10g Standard Edition administra todos sus datos y permite que todas sus aplicaciones de negocio tomen ventaja del rendimiento, seguridad y confiabilidad que proporciona la base de datos Oracle. También brinda la flexibilidad de poder migrar a Oracle 10g Enterprise Edition, protegiendo su inversión a medida que los requerimientos de su negocio crecen.
La Base de datos Oracle 10g Release 2 Standard Edition está optimizada para su despliegue en medianas industrias. Está soportada en un único servidor soportando hasta un máximo de 4 CPUs, o en un ambiente de servidores en clúster, con un máximo de 4 CPUs en el clúster. La base de datos Oracle 10g Release 2 Standard Edition esta disponible en todos los sistemas operativos soportados por Oracle entre los cuales se incluye Windows, Linux y Unix.
La base de datos Oracle 10g Standard Edition proporciona una rápida instalación tanto en un único servidor como en un ambiente de clúster. La base de datos va a estar preconfigurada lista para ser usada en producción, completa con espacio automatizado, administración de almacenamiento y de memoria, back up y recuperación automatizado y administrador de estadísticas automatizado. La consola de Enterprise Manager 10g Data base control proporciona una interface web que muestra el estado actual de la base de datos y del ambiente de clúster y permite la administración de la base de datos desde cualquier browser conectado a su sistema. La base de datos Oracle Standard Edition también toma ventaja de la solución de clusterware, eliminando la complejidad de tener que instalar y configurar clusterware de terceros.
El Automatic Storage Management tiene la capacidad de eficientemente distribuir los datos almacenados a través de los discos disponibles, asegurando óptimo desempeño y eliminando la necesidad de gestores de volúmenes de terceros.
Oracle como la base de datos líder del mercado soporta todos los tipos de datos relacionales estándares, así como también datos nativos como XML, texto, imágenes, documentos, audio, y datos espaciales. El acceso a la información es realizado a través de interfaces estándares como SQL, JDBC, SQLJ, ODBC.Net, OLE.Net y ODP.Net, SQL/XML, XQuery y WebDAV. Los procedimientos almacenados pueden ser escritos en Java, PL/SQL o utilizando .Net CLR support en Oracle Database 10g Release 2.
La base de datos Oracle Standard Edition usa las mismas gestiones de concurrencia que son usadas por la base de datos Oracle Enterprise Edition, asegurando el máximo rendimiento para todas las cargas de trabajo. Cuando se corre en un clúster, la carga de trabajo es automáticamente balanceada a través de las máquinas disponibles, asegurando la máxima utilización de su equipo. Implementando un ambiente de clusters con Real Application Clúster protege sus aplicaciones de negocio ante caídas de negocio. Cuando una máquina falla o necesita mantenimiento, sus aplicaciones de negocio pueden continuar accediendo a los datos ininterrumpidamente en las otras máquinas del clúster.
Por ser Standard Edition construida sobre la misma base y código que la base de datos Enterprise Edition, usted tendrá la flexibilidad de moverse a una versión superior manteniendo protegida su inversión inicial.

Oracle Database 11g (nuevas características)
Con bases de datos que triplican su tamaño cada dos años, los departamentos de IT se enfrentan tanto a los desafíos nuevos como a los ya conocidos: ¿Cómo mantener los niveles adecuados de servicio al usuario en caso de que se produzcan fallas en el sitio, en el almacenamiento o en el servidor? ¿Cómo evitar la violación de datos y garantizar el cumplimiento regulatorio? ¿Cómo almacenar, administrar y proteger todo tipo de información, e incluso integrarla fácilmente en las operaciones comerciales rutinarias? ¿Cómo escalar los amplios sistemas transaccionales y de depósito de datos mientras se asegura el cumplimiento, la confiabilidad y la capacidad de administración? ¿Y cómo actualizar el software y el hardware mientras se minimizan los riesgos de cambio? Oracle lo ayuda a abordar estos desafíos con una amplia variedad de nuevas características y mejoras en Oracle Database 11g. Al extender la capacidad exclusiva de Oracle para brindar los beneficios de grid computing, Oracle Database 11g le permite mejorar los niveles de servicio al cliente, reducir el tiempo de baja, y hacer un uso más efectivo de los recursos de IT mientras aumenta el desempeño, la escalabilidad y la seguridad de sus aplicaciones 24/7.
Las características relacionadas con la capacidad de administración en Oracle Database 11g están diseñadas para ayudar a las empresas a administrar fácilmente los grids de infraestructura y cumplir exitosamente con las expectativas del nivel de servicio al usuario. Las nuevas características y mejoras en la capacidad de administración de Oracle Database11g ayudan a aumentar la productividad de los DBA y reducir los costos de administración, mientras aumenta el desempeño, la escalabilidad y la seguridad de sus aplicaciones comerciales durante las 24 horas.
Protege los sistemas de todas las causas comunes relacionadas con el tiempo de baja planificado y no planificado, con inclusión de las fallas en el sitio, en el almacenamiento y en el servidor, así como de una de las causas más importantes, el error humano.
Permite a su empresa aumentar fácilmente los amplios sistemas transaccionales y de depósito de datos, y brinda rápido acceso 24/7 a los datos utilizando almacenamiento modular de bajo costo. Las nuevas e innovadoras características de desempeño de Oracle Database11g ayudan a los administradores a administrar eficientemente la carga de información en todo el ciclo de vida de las bases de datos al optimizar los recursos de almacenamiento de acuerdo con la demanda, además brinda una plataforma segura y escalable para el acceso confiable y rápido a todo tipo de información utilizándolas interfaces estándar del sector. Permite una sólida administración del contenido para tipos avanzados de datos (como XML, spatial, multimedia, medical imaging, y tecnologías semánticas) lo cual representa un área de gran crecimiento para muchas empresas.
Incluye muchas nuevas mejoras y características para integrar mejor los datos de toda la empresa, reduciendo así los costos de administración de contenido y aumentando la productividad de los empleados. Con 30 años de prácticas seguras, Oracle Database11g lo ayuda a proteger su información y garantizar el cumplimiento regulatorio con una gran cantidad de sólidas capacidades de seguridad, mejora las capacidades de data warehousing y business intelligence de Oracle para optimizar la capacidad de administración, logrando que las tecnologías avanzadas como el procesamiento analítico y la extracción de datos online sean fácilmente accesibles para los usuarios.
Proporciona una sola plataforma integrada que ofrece alto desempeño y escalabilidad, y brinda soporte de todas las tecnologías principales actualmente utilizadas por los desarrolladores de aplicaciones.
Incorpora nuevas capacidades para los entornos de desarrollo de aplicaciones más importantes, permitiendo acortar el tiempo de llegada al mercado y mejorar el desempeño de las aplicaciones.
Oracle ha solucionado problemas relacionados con la administración de la información en sectores gubernamentales y empresas internacionales durante más de tres décadas, logrando que nuestra base de datos se transforme en el software más conocido del mundo respecto de la recopilación, administración y protección de la información.

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.
·         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 particiones 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 hacía INTERN

Desventajas
·         Las versiones más recientes de Oracle son la 11g, 10g, 9g, 8g, desde el lanzamiento original de la 8 se sucedieron varias versiones con correcciones, hasta alcanzar la estabilidad en la 8.0.3. El motivo de tantos fallos fue, al parecer, la remodelación del sistema de almacenamiento por causa de la introducción de extensiones orientadas a objetos.
·         El mayor inconveniente de Oracle es quizás su precio. Incluso las licencias de Personal Oracle son excesivamente caras, en mi opinión. Otro problema es la necesidad de ajustes. Un error frecuente consiste en pensar que basta instalar el Oracle en un servidor y enchufar directamente las aplicaciones clientes. Un Oracle mal configurado puede ser desesperantemente lento.
·         También es elevado el coste de la información, y sólo últimamente han comenzado a aparecer buenos libros sobre asuntos técnicos distintos de la simple instalación y administración.

II.            RESUMEN:

GESTOR DE BASE DE DATOS
Un Sistema Gestor de Bases de Datos (SGBD) o DGBA (Data Base Management System) es un conjunto de programas no visibles que administran y gestionan la información que contiene una base de datos.

COMPONENTES DE UN GESTOR DE BASES DE DATOS
Control de autorización. Cuando una operación cambia los datos de la base de datos, este módulo debe comprobar que la operación a realizar satisface todas las restricciones de integridad necesarias.

LENGUAJES DE MODELACIÓN
Un modelo de base de datos es un tipo de modelo de datos que determina la estructura lógica de una base de datos y de manera fundamental determina el modo de almacenar, organizar y manipular los datos.
Entre los modelos lógicos comunes para bases de datos se encuentran:
Modelo Jerárquico: Una base de datos jerárquica es un tipo de sistema de gestión de bases de datos que almacenan la información en una estructura jerárquica que enlaza los registros en forma de estructura de árbol en donde un nodo padre de información puede tener varios nodos hijo.
Modelo de Red: La mayor parte de bases de datos de objeto usan el concepto de navegación para proporcionar la navegación rápida a través de las redes de objetos, generalmente usando identificadores de objeto como indicadores "inteligentes" de objetos relacionados.
Es un concepto íntimamente vinculado a las reglas de integridad propias del modelo relacional, el cumplimiento de las cuales está garantizado por las claves primarias y externas.
Restricciones de integridad:
·         Los datos requeridos (los campos o columnas siempre deben poseer un atributo o un valor).
·         La comprobación de validez (las tablas deben contener solo los datos correspondientes a la correspondiente relación definida por cada tabla).
·         Las integridades de entidad y referencial (las primeras aseguran que las claves primarias posean un valor único para cada tupla, y las segundas que las claves principales y las externas mantengan su integridad).
·         Reglas de integridad: reglas que garantizan la integridad de los datos, es decir, la correspondencia plausible de los datos con la realidad.
·         Los datos requeridos (los campos o columnas siempre deben poseer un atributo o un valor).
·         La comprobación de validez (las tablas deben contener solo los datos correspondientes a la correspondiente relación definida por cada tabla).
·         Las integridades de entidad y referencial (las primeras aseguran que las claves primarias posean un valor único para cada tupla, y las segundas que las claves principales y las externas mantengan su integridad).
·         Reglas de integridad: reglas que garantizan la integridad de los datos, es decir, la correspondencia plausible de los datos con la realidad.
Como se deduce del análisis anterior, un SGBDOO debe ser capaz de almacenar y controlar múltiples versiones del mismo objeto.
Características de BD OO
Se intenta definir un sistema de BDOO y describe las principales características en tres grupos:
Mandatarias: son las que el Sistema debe satisfacer a orden de tener un sistema de BDOO y estos son: Objetos complejos, Identidad de Objetos, Encapsulación, Tipos o clases, Sobre paso con unión retardada, Extensibilidad, Completación Computacional, Persistencia y Manejador de almacenamiento secundario, Concurrencia, Recuperación y Facilidad de Query.
CARACTERISTICAS OBLIGATORIAS
Este es un punto que no debe faltar en BD.
El SGBD podría también usar técnicas de almacenamiento intermedio y caché para obtener por anticipado porciones del objeto, antes de que el programa de aplicación necesite tener acceso a ellas.
En un SGBOO, esto puede lograrse definiendo un nuevo tipo de datos abstracto para los objetos no interpretados y suministrados los métodos para seleccionar, comprar y exhibir tales objetos.
Como un SGBOO permite a los usuarios crear nuevos tipos, y como un tipo incluye tanto estructura como operaciones, podemos considerar que un SGBOO tiene un sistema de tipos extensibles. Cuando el diseñador envía una señal a un objeto, el método de la clase de objeto, posiblemente heredado, procesa la señal.
Un método puede tener acceso directamente a atributos de un objeto destino por no nombre, al incluir cualesquiera atributos heredados de clases padres, pero debe tener acceso a atributos de otros objetos con señales secundarias.
En síntesis, este concepto permite enlazar el mismo nombre o símbolo de operador a dos o más implementaciones diferentes del operador, dependiendo del tipo de objetos a los que éste se aplique.

III.           SUMMARY

DATABASE MANAGER
A Database Management System (DBMS) or DGBA (Data Base Management System) is a set of non-visible programs that manage and manage the information contained in a database.
COMPONENTS OF A DATABASE MANAGER
• Authorization control. When an operation changes the data in the database, this module must verify that the operation to be performed satisfies all necessary integrity constraints.
MODELING LANGUAGES
A database model is a type of data model that determines the logical structure of a database and fundamentally determines how to store, organize and manipulate the data.
Common logical models for databases include:
Hierarchical model: A hierarchical database is a type of database management system that stores the information in a hierarchical structure that links the records in the form of a tree structure where a parent information node can have multiple child nodes.
Network model: Most object databases use the concept of navigation to provide fast navigation through object networks, generally using object identifiers as "smart" indicators of related objects.
It is a concept closely linked to the integrity rules of the relational model, the fulfillment of which is guaranteed by the primary and external keys.
Integrity constraints:
·         the required data (fields or columns must always have an attribute or value).
·         validity check (tables must contain only the data corresponding to the corresponding relation defined by each table).
·         entity and referential integrity (the former ensure that the primary keys have a unique value for each tuple, and the second that the primary and external keys maintain their integrity).
·         Integrity rules: rules that guarantee the integrity of the data, that is, the plausible correspondence of the data with reality.

As is clear from the above analysis, an SGBDOO must be able to store and control multiple versions of the same object.
Features of BD OO
An attempt is made to define an ODR system and describes the main characteristics in three groups:
Mandatarias: these are the ones that the System must satisfy in order to have an BDOO system and these are: Complex objects, Object Identity, Encapsulation, Types or classes, Delayed binding overpass, Extensibility, Computational Completion, Persistence and Storage Handler Secondary, Concurrency, Recovery and Query Ease.

COMPULSORY CHARACTERISTICS
This is a point that should not be missing in BD.
The DBMS could also use caching and buffering techniques to obtain portions of the object in advance, before the application program needs access to them.
In a SGBOO, this can be achieved by defining a new abstract data type for the uninterpreted objects and providing the methods for selecting, purchasing and displaying such objects.
As a SGBOO allows users to create new types, and as a type includes both structure and operations, we can consider that a SGBOO has a system of extensible types. When the designer sends a signal to an object, the method of the object class, possibly inherited, processes the signal.
A method can directly access attributes of a target object by not name, by including any attributes inherited from parent classes, but must access attributes of other objects with secondary signals.
In synthesis, this concept allows to link the same name or operator symbol to two or more different implementations of the operator, depending on the type of objects to which it is applied.

IV.          RECOMENDACIONES:
En el actual entorno competitivo que se presenta en los mercados, la manera en que nos comunicamos con nuestros públicos objetivo puede ser el factor que determine el éxito del negocio, en especial ahora que la tecnología ha facilitado el acceso a la información permitiendo a las empresas llevar sus productos y servicios más allá de las fronteras geográficas de manera instantánea.
De igual forma, la inmediatez con que viaja la información ha cambiado la forma de hacer negocios y genera nuevos esquemas de comercialización como la Mercadotecnia Uno a Uno, definido como la relación existente entre una empresa y sus clientes, a través del conocimiento de sus gustos individuales, en otras palabras, conocer al cliente.
La piedra angular de dicho conocimiento está en las Bases de Datos, las cuales se definen como: "El perfil detallado de tus prospectos y clientes, utilizando características geográficas, demográficas y psicográficas, y su historial de compras". Esto representa más que una lista con nombre, teléfono y dirección; implica conocer sus hábitos de compra, la frecuencia con que lo hace, la cantidad de productos adquiridos, sus gustos, preferencias, consultas que haya hecho, etc.
La adecuada conjunción de las bases de datos con la tecnología ha permitido que las primeras se conviertan en una herramienta fundamental para los programas de mercadotecnia, dando lugar a lo que se conoce como "database marketing", que no es otra cosa más que el uso de información enfocada al cliente.
Entre los beneficios que ofrecen las bases de datos a las empresas, se encuentran:
Conocer tendencias del mercado/público objetivo
Generar estrategias de "branding" y publicidad
Focalizar la comercialización de productos/servicios específicos a compradores/clientes específicosPersonalizar la atención al cliente (Cabe destacar que la personalización se considera la quinta "P" de la mezcla promocional)
Abrir canales de comunicación con los clientes
En general, su adecuada utilización en el proceso de comercialización, contribuye a la generación de oportunidades de negocio.
Lo anterior nos lleva a concluir que uno de los factores de éxito determinantes en una campaña de mercadotecnia directa, es sin lugar a dudas el contar con una base de datos que agregue valor y se convierta en un activo invaluable para la empresa; para lo cual, debemos tener presente que no es labor de un día, sino que su construcción lleva años y una labor constante.
Recomendaciones para un mayor aprovechamiento y uso adecuado de una base de datos:

ADMINISTRACIÓN
Dar a conocer a los usuarios el contenido y reglas de captura de la base, a fin de garantizar el uso adecuado y máximo aprovechamiento de la misma.
Centralizar la administración de la base de datos en máximo 2 personas.
Cualquier modificación, actualización o ingreso de datos, deberá hacerla el administrador, vía una notificación por parte del usuario que la solicita.
Las bases de datos sufren un desgaste del 3% mensual en promedio, por lo que a fin de mantener un mayor porcentaje de confiabilidad de los registros se deberá actualizar por lo menos 2 veces al año.

CAPTURA
Es importante elaborar un manual de uso donde se especifiquen las reglas de captura de la base de datos. Ejemplo: abreviaturas, estandarización de los registros, uso de mayúsculas, acentos, entre otros.
Los campos básicos a incluir en una base de datos son: Razón social de la empresa, Nombre y Apellidos del contacto, Puesto, Dirección completa (Calle, Colonia, Delegación, C.P.), Estado y Ciudad, Teléfono (en caso de ser un registro foráneo se deberá de especificar la clave lada), y dirección electrónica.
Verificar la procedencia/origen de los registros que se ingresan a la base de datos.
Identificar las diferentes variables que pudieran existir en un registro para evitar que se dupliquen.
Incluir un campo con la fecha de la última actualización de cada registro, así como el nombre de quién la realizó.
SEGURIDAD
La base de datos es un activo de la empresa que no se crea en un día, es un trabajo de años que requiere de herramientas y personal especializado para su realización, por tal motivo, sugiere no proporcionarla, ni prestarla.
En caso de que se requiera que un tercero haga uso de la base de datos, lo mejor es entregar por bloques con los campos básicos, de acuerdo a la actividad para la cual se utilizará, previa autorización del encargado de ésta.
Asimismo, en este caso, es aconsejable firmar un contrato de confidencialidad que garantice su uso únicamente para la actividad contratada, así como la solicitud de un reporte de registros que sufrieran modificaciones o actualización durante su uso.
Contar con una copia de respaldo que se ubique fuera de las instalaciones de la empresa, a fin de garantizar su preservación en caso de alguna eventualidad o desastre.

V.           CONCLUSIONES
Los gestores de Bases de Datos son muy importantes dentro del almacenamiento y gestión de Datos. Los gestores de base de datos han sido, desde los inicios de la programación de gestión hasta nuestros días, clave para ayudar al desarrollo eficiente de empresas, entes públicos y cualquier organismo que utilice datos, siguiendo en constante avance y mejora. Como tal, estos son un programa o grupo de programas informáticos que permiten trabajar con bases de datos, ya sea en su creación o con su mantenimiento. Destaca el papel del administrador de estas, pudiendo realizar copias de seguridad, modificar, eliminar, clonar, etc, respecto a las bases de datos que administra. Existen distintos tipos de lenguajes de base de datos pero el principal y más utilizado, desde el origen de la programación de gestión, es el lenguaje SQL (Structured Query Language). Es un lenguaje de consulta estructurada que permite acceder a la gestión de las bases de datos relacionales y, por consiguiente, realizar tareas en ellas, permitiendo realizar consultas para recoger, eliminar, agregar o modificar información.
VI.          APRECIACIÓN DEL EQUIPO
·                  Este tema resulto de mucha utilidad puesto que nos permitió conocer algunos gestores de bases de datos que eran desconocidos para nosotros, además de cómo han evolucionado a través del tiempo.
·               Este tópico además nos ayudó conocer cuales gestores de bases de datos son los más utilizados en el mundo además cuáles son sus ventajas y desventajas y el por que son los más utilizados.

VII.         GLOSARIO DE TÉRMINOS:
Ø  Un Sistema Gestor de Bases 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 consulta y de generación de informes, o bien mediante aplicaciones al efecto.

Ø  Nodo: un nodo es un punto de intersección, conexión o unión de varios elementos que confluyen en el mismo lugar.

Ø  Grafo: Un grafo en el ámbito de las ciencias de la computación es un tipo abstracto de datos (TAD), que consiste en un conjunto de nodos (también llamados vértices) y un conjunto de arcos (aristas) que establecen relaciones entre los nodos. El concepto de grafo TAD desciende directamente del concepto matemático de grafo.

Ø  Dominio: Un dominio, en redes de computadoras, puede referirse a cuatro cosas: El conjunto de computadoras conectadas en una red informática que confían a uno de los equipos de dicha red, la administración de los usuarios y los privilegios que cada uno de los usuarios tiene en dicha red.

Ø  integridad: El término integridad de datos se refiere la correctitud y completitud de la información en una base de datos. Cuando los contenidos se modifican con sentencias INSERT, DELETE o UPDATE, la integridad de los datos almacenados puede perderse de muchas maneras diferentes.

Ø  integridad referencial: La integridad referencial es una propiedad de la base de datos. La misma significa que la clave externa de una tabla de referencia siempre debe aludir a una fila válida de la tabla a la que se haga referencia.

Ø  Constructores: En programación orientada a objetos (POO), un constructor es una subrutina cuya misión es inicializar un objeto de una clase. En el constructor se asignan los valores iniciales del nuevo objeto.

Ø  Tuplas: Una tupla sirve para agrupar, como si fueran un único valor, varios valores que, por su naturaleza, deben ir juntos.

VIII.       LINKOGRAFÍA



IX.       SLIDESHARE

               https://es.slideshare.net/MarleniChuquizutaRam/gestor-de-base-de-datos-80274863

No hay comentarios:

Publicar un comentario