martes, 31 de julio de 2012



DEFINICIÓN

El sistema de gestión de bases de datos es esencial para el adecuado funcionamiento y manipulación de los datos contenidos en la base. Se puede definir como: "El Conjunto de programas, procedimientos, lenguajes, etc. que suministra, tanto a los usuarios no informáticos como a los analistas, programadores o al administrador, los medios necesarios para describir, recuperar y manipular los datos almacenados en la base, manteniendo su integridad, confidencialidad y seguridad"

FUNCIONES

Las funciones esenciales de un SGDB son la descripción, manipulación y utilización de los datos.

Descripción: Incluye la descripción de: Los elementos de datos, su estructura, sus interrelaciones, sus validaciones. Tanto a nivel externo como lógico global e interno esta descripción es realizada mediante un LDD o Lenguaje de Descripción de Datos.

Manipulación: Permite Buscar, Añadir, Suprimir y Modificar los datos contenidos en la Base de Datos. La manipulación misma supone: Definir un criterio de selección, Definir la estructura lógica a recuperar, Acceder a la estructura física. Esta manipulación es realizada mediante un LMD o Lenguaje de Manipulación de Datos.

Utilización: La utilización permite acceder a la base de datos, no a nivel de datos sino a la base como tal, para lo cual: Reúne las interfaces de los usuarios y suministra procedimientos para el administrador.

Interacción con el manejador de archivosLos datos en la base se guardan en disco mediante el sistema de archivos, proporcionado comúnmente por el sistema operativo. El manejador de la base, traduce las diferentes proposiciones del manejo de datos en comandos del sistema de archivos de bajo nivel. De esta forma el manejador se puede encargar del almacenamiento, recuperación y actualización de los datos en la base.

Implantación de la integridad: Los valores de los datos que se almacenan en la base, deben satisfacer ciertas limitantes de consistencia, estas limitantes deben ser determinadas por el administrador, pero es el manejador el encargado de verificar que las actualizaciones que se hagan a la base cumplan con dichas normas.

Puesta en práctica de la seguridad: El manejador de la base es quien verifica que los accesos a la base sean realizados por las personas autorizadas.

Respaldo y recuperación: Entre las labores que debe ejecutar el manejador está la de verificar de forma constante la integridad de la base, y lograr recuperación de datos y/o mejoras en caso que se requieran.

Control de concurrencia: Se podría entender, esta, como la principal tarea del manejador de la base, o por lo menos la más difícil. Cuando varios usuarios están accesando la base al mismo tiempo, es posible que la consistencia de los datos no se conserve. El manejador debe encargarse de coordinar los accesos de los diferentes usuarios, de forma que los datos en la base no se dañen. 


En términos ideales, un DBMS debe contar con estas funciones, sin embargo, no todos las poseen, así existen algunos manejadores que no cumplen la función de respaldo o de seguridad, dejándola al usuario o administrador; sin embargo un DBMS que sea completo y que deba manejar una base de datos multiusuario grande, es conveniente que cuente con todas estas operaciones.

                                                    LENGUAJES

En la estructura básica de un Sistema Manejador de Base de Datos se enuncian dos lenguajes que permiten trabajar sobre la base de datos.  Estos lenguajes estandar son: 
  • DDL (Data Definition language):  Lenguaje de Definición de Datos.  Por medio de este el DBMS identifica las descripciones de los elementos de los esquemas y almacena la descripción del esquema en el catálogo del DBMS. Por medio de este el DBMS especifica el esquma conceptual e interno (Base de datos Almacenada). 
  • SDL (Store Definition language): Lenguaje de definición de almacenamiento.  Es utilizado por el DBMS para especificar el esquema interno que corresponde a la Base de Datos Almacenada.
  • VDL (View Definition language): Lenguaje de Definición de Vistas.  Es utilizado por el DBMS para especificar las vistas del usuario y sus correspondiencias con el esquema conceptual.
En las Bases de Datos Relacionales, el SQL, representa una combinación de los anteriores.
  • DML (Data Manipulation language): Lenguaje de Manipulación de Datos.  Permite la manipulación de las operaciones de Inserción, Eliminación y Modificación.
  Tipos de DML's
  • De alto Nivel o No por procedimientos: SQL.
  • De bajo Nivel o por procedimientos.
MySQL: es muy popular en aplicaciones web, y es componente de las plataforma, LAMP,  MAMP , WAMP , entre otras. MySQL suele combinarse con el popular lenguajes de PHP.
Cold Fusión: Es una interfaz creada por Allaire para acceder a bases de datos desde el Web. Es una potente herramienta para realizar las funciones de acceso a la información alojada en bases de datos, utilización de programación personalizada, y presentación de la información utilizando formatos muy avanzados.
Mediante el uso de esta herramienta, se puede distribuir información a nivel de Internet y/o de intranets, ya que permite conectar una base de datos al interior de una red (Intranet) o a nivel de redes más amplias en el Web (Internet).
ASPS (Active Server Pages) o Páginas Activas de Servidor: es una nueva tecnología desarrollada por Microsoft Corporation de reciente implantación y uso a nivel global en Internet. Quizás una de las funciones principales sea el acceso a Bases de Datos de forma sencilla e intuitiva, cosa que antes con los cgi´s se convertía en una acción más que dificultosa para más de un programador.


Lenguajes de Programación: Estos son programas que pueden ser empleados por los programadores, algunos lenguajes de tercera generación tiene la capacidad de entrar a interactuar con bases de datos. 
CLASIFICACIÓN DE LOS DBMS

La forma o vista externa con que se presentan los datos al usuario en la mayoría de los sistemas actuales es idéntica o muy semejante a la vista conceptual. La estructura lógica, en el ámbito conceptual o externo, es la base para la clasificación de los DBMS en las cuatro categorías siguientes: jerárquica, red, relacional y orientada a objetos. 
Cualquier categoría debe permitir un acceso aleatorio a los datos requeridos, utilizando para tal fin una estructura de datos: redes, árboles, tablas o listas enlazadas. Cada DBMS está diseñado para manejar un tipo de estructura lógica. No se pueden procesar programas diseñados para otro DBMS.

ENFOQUE JERÁRQUICO

La base de datos jerárquica consta de muchos registros. Cada nodo representa un tipo de registro conceptual o un segmento. Cada registro o segmento está constituido por un cierto número de campos que lo describen.
Cada rama representa una relación uno a muchos. Un cliente del banco puede tener muchos movimientos en su cuenta. En este caso 'muchos' significa cero, uno o más de uno.

ENFOQUE DE RED

Para representar este tipo de relación, es necesario que los dos tipos de registro estén interconectados por medio de un registro conector llamado conjunto conector.

ENFOQUE RELACIONAL

Un DBMS de enfoque relacional utiliza tablas bidimensionales llamadas relaciones para la representación lógica de los datos y las relaciones entre ellos. Si las consultas sobre claves múltiples en el enfoque jerárquico se conseguían mediante relaciones padre-hijo, en el enfoque en red mediante conjuntos, para el enfoque relacional, la relación uno a muchos entre el registro padre de un archivo y los registros hijos de otro archivo de la base de datos relacional se consigue mediante la utilización de campos de conexión, es decir, insertando el valor de la clave principal del registro padre en cada una de los registros hijos, consiguiendo relaciones parecidas al enfoque en red.

Hay características propias del enfoque relacional que no se presentan en los otros dos enfoques:
  •  La facilidad para su representación lógica, al realizarse mediante tablas separadas y no presentarse ningún tipo de jerarquía.
  • La posibilidad de recuperar una tabla o un grupo de registros mediante una proposición del DML, sin necesidad de acceder a otras relaciones. Su modo de operación no esta orientado a registros sino sobre la tabla como conjunto.
  • Se puede acceder a datos de cualquier columna de la tabla o filas de una o más relaciones.
Requisitos que han de cumplir las tablas en las bases de datos relacionales:
  •  La tabla puede tener solo un tipo de registro
  •  Cada registro posee un número determinado de campos, cada uno de ellos con  su nombre correspondiente. La base de datos tendrá muchas tablas.
  •  Dentro de cada tabla, cada campo es distinto
  •  Cada  registro de una tabla es único; no hay registros duplicados.
  •  Los registros dentro de cada tabla no tienen una secuencia determinada.
  •  Se pueden crear nuevas tablas relacionando campos procedentes de dos o más tablas existentes.

ENFOQUE ORIENTADO A OBJETO

En los últimos años la tecnología de diseño de las bases de datos se ha aplicado a terrenos ajenos al campo del procesamiento de datos, que en general  carecen de al menos una de las características siguientes: 
  •  Uniformidad
  •  Orientación a registros
  •  Elementos de datos de pequeño tamaño
  •  Campos atómicos 
Las nuevas aplicaciones incluyen estas nuevas características: 
  •  Diseño asistido por computadora (CAD, Computer - Aided Desing)
  •  Ingeniería de software asistida por computadora (CASE, Computer- Aided Software  Engineering).
  • Bases de datos multimedia.
  • Sistemas de información para oficinas (SIO).
  • Bases de datos de hipertexto. 
Estas nuevas aplicaciones de las bases de datos no se consideraban en los años setenta, cuando se diseñaron inicialmente la mayor parte de los sistemas comerciales de base de datos. Ahora son posibles debido al incremento de memoria principal y de tamaño de los discos, al  aumento de la velocidad de las unidades centrales de procesamiento, al menor costo del hardware y a la mejor comprensión de la gestión de las bases de datos obtenidos en los últimos años. 
El modelo relacional y los modelos relacionales entre entidades no resultan suficientes para modelar las necesidades de datos de estas aplicaciones nuevas. Además, hasta las necesidades de modelado de las aplicaciones comerciales tradicionales se han hecho más complejas con el paso del tiempo, y resulta difícil expresar algunas de estas necesidades en el modelo relacional, como por ejemplo, imágenes y base de datos de hipertexto. 

EL DICCIONARIO DE DATOS

Es una meta-base, o una base de datos que contiene datos sobre los datos. Es una base de datos del sistema y puede ser accesada de igual forma como se accesa cualquier tabla en la base de datos.

Contiene todo sobre:
  • Descripción externa, conceptual e interna de la base de datos.
  • Descripción de los campos, registros y referencias cruzadas entre registros de diferentes archivos.
  • Códigos de autorización y seguridad de los datos, definición de apodos.
  • Esquemas externos de los programas, los usuarios y sus autorizaciones.
USO DEL DICCIONARIO

Además de los usuarios, el DBA también accesa el diccionario para:
  •  Relación del personal o usuarios que tienen acceso a los datos
  •  Fuente para las analistas, programadores de nuevas aplicaciones 

LENGUAJE PARA PROGRAMACION WEB

ORACLE: soporta SQL para la definición y manipulación de datos. También posee un lenguaje de procedimiento llamado PL/SQL, que controla el flujo del SQL, uso de variables y manejo de errores.  Oracle es básicamente una herramienta cliente/servidor para la gestión de Bases de Datos. Es un producto vendido a nivel mundial, aunque la gran potencia que tiene y su elevado precio hace que sólo se vea en empresas muy grandes y multinacionales, por norma general.

ACCESS: es un sistema de gestión de base de datos que utiliza por defecto el motor de base de datos Microsoft Jet. Con esto quiere decir que Access en realidad es una interfaz preparada para gestionar cualquier base de datos, no sólo una base de datos Access. 

MySQL es muy popular en aplicaciones web, y es componente de las plataformas LAMP, MAMP, WAMP entre otras. MySQL suele combinarse con el popular Lenguaje PHP.

PHP (Hypertext Preprocessor): Es un lenguaje interpretado de alto nivel embebido en páginas HTML y ejecutado en el servidor. Al nivel más básico, PHP puede hacer cualquier cosa que se pueda hacer con un script CGI, como procesar la información de formularios, generar páginas con contenidos dinámicos, o mandar y recibir cookies.

Perl (Practical Extraction and Report Languaje): Es un lenguaje de programación surgido a inicios de los noventas, que busca facilitar la elaboración de tareas comunes en sistemas tipo UNIX, donde tradicionalmente las tareas de administración y proceso de datos se realiza con herramientas muy rudimentarias y por demás hostiles al usuario o administrador; pero que se aplican sobre grandes cantidades de información (por lo regular texto) por lo que se requiere que sean de alto rendimiento.

MAS INFORMACION:
MANEJADORBD  DBMS