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”
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 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