Consideraciones SGBD

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 13

SISTEMA GESTOR DE BASE DE DATOS.

Introducción.
Un sistema gestor de bases de datos o SGBD (aunque se suele utilizar más a
menudo las siglas DBMS procedentes del inglés, Data Base Management System) es
el software que permite a los usuarios procesar, describir, administrar y recuperar los
datos almacenados en una base de datos.
En estos Sistemas se proporciona un conjunto coordinado de programas,
procedimientos y lenguajes que permiten a los distintos usuarios realizar sus tareas
habituales con los datos, garantizando además la seguridad de los mismos.

Gestor de base de datos SGDB o MBMS.

El éxito del SGBD reside en mantener la seguridad e integridad de los datos.


Lógicamente tiene que proporcionar herramientas a los distintos usuarios. Entre las
herramientas que proporciona están:

• Herramientas para la creación y especificación de los datos. Así como la


estructura de la base de datos.
• Herramientas para administrar y crear la estructura física requerida en las
unidades de almacenamiento.
• Herramientas para la manipulación de los datos de las bases de datos, para
añadir, modificar, suprimir o consultar datos.
• Herramientas de recuperación en caso de desastre.
• Herramientas para la creación de copias de seguridad.
• Herramientas para la gestión de la comunicación de la base de datos.
• Herramientas para la creación de aplicaciones que utilicen esquemas externos
de los datos.
• Herramientas de instalación de la base de datos
• Herramientas para la exportación e importación de datos

Características deseables en un SGBD.

1. Control de redundancia.
2. Restricción de accesos no autorizados.
3. Almacenamiento de objetos y estructuras de datos de programas.
4. Inferencias en la BD mediante reglas de deducción.
5. Suministro múltiple de interfaces con los usuarios.
6. Recuperación de vínculos complejos entre los datos.
7. Cumplimiento de las restricciones de integridad.
8. Respaldo y recuperación.

Control de redundancia.

El SGBD consta de herramienta para crear restricciones para evitar duplicaciones.

Restricción de accesos no autorizados.

Tenemos muchos usuarios que comparten la base pero no todos deben tener acceso
a toda la información que ella contiene. El SGBD debe contar con un subsistema de
seguridad y autorización que permita al DBA administrar restricciones y
autorizaciones.

Inferencias en la BD mediante reglas de deducción.

Una base mediante reglas de deducción u orientada a objeto. Surgen como una
combinación de las BD y la programación orientada a objeto. BDR: persistencia,
concurrencia, recuperación, facilidad de consultas. BDOO: objetos, encapsulamiento,
tipos de clases, herencia, identidad de objeto.

Suministro múltiple de interfaces con los usuarios.

Como podemos tener una gran variedad de usuarios y con diversos niveles de
conocimientos el SGBD debe contar con diferentes interfaces para los diferentes
usuarios.

Vínculos complejos entre los datos.


Una BD puede contener numerosos conjuntos de datos que estén relacionados entre
si de muchas maneras. Es preciso que el SGBD pueda representar diversos vínculos
complejos de bases de datos y también obtener y actualizar con rapidez y eficiencia
datos que estén mutuamente relacionados.

Cumplimiento de las restricciones de integridad.

Cuando hablamos de restricciones de integridad nos referimos a restricciones de los


datos que las aplicaremos mediante el SGBD. La forma más fácil de restringir la
integridad consiste en especificar un tipo de datos para cada elemento de información.
Ej el campo grado de primaria no va ser texto sino que numérico y a su ves no va
tener mas de una posición numérica ya que no tenemos grados de dos dígitos.

Respaldo y recuperación.
Respaldo y recuperación se refiere a la recuperación ante falla de hardware o
software del SGBD. Si por algún motivo el SGBD falla debe volver a la instancia
anterior a la falla.

Funciones y lenguajes de SGBD.


Los SGBD tienen que realizar tres tipos de funciones para ser considerados válidos.

Función de descripción o de definición.

Permite al diseñador de la base de datos crear las estructuras apropiadas para


integrar adecuadamente los datos. Este función es la que permite definir las tres
estructuras de la base de datos (relacionadas con sus tres esquemas).

• Estructura interna
• Estructura conceptual
• Estructura externa

Esta función se realiza mediante el lenguaje de descripción de datos o DDL. Mediante


ese lenguaje:

• Se definen las estructuras de datos


• Se definen las relaciones entre los datos
• Se definen las reglas que han de cumplir los datos

Función de manipulación.

Permite modificar y utilizar los datos de la base de datos. Se realiza mediante el


lenguaje de modificación de datos o DML. Mediante ese lenguaje se puede:

• Añadir datos
• Eliminar datos
• Modificar datos
• Buscar datos
Actualmente se suele distinguir aparte la función de buscar datos en la base de datos
(función de consulta). Para lo cual se proporciona un lenguaje de consulta de datos o
DQL.

Función de control.

Mediante esta función los administradores poseen mecanismos para proteger las
visiones de los datos permitidas a cada usuario, además de proporcionar elementos
de creación y modificación de esos usuarios.
Se suelen incluir aquí las tareas de copia de seguridad, carga de ficheros, auditoria,
protección ante ataques externos, configuración del sistema,... El lenguaje que
implementa esta función es el lenguaje de control de datos o DCL.

Estructura multicapas del SGBD.


El proceso que realiza un SGBD está en realidad formado por varias capas que
actúan como interfaces entre el usuario y los datos. Fue el propio organismo ANSI (en
su modelo X3/SPARC que luego se comenta) la que introdujo una mejora de su
modelo de bases de datos en 1988 a través de un grupo de trabajo llamado UFTG
(User Facilities Task Group, grupo de trabajo para las facilidades de usuario). Este
modelo toma como objeto principal al usuario habitual de la base de datos y modela el
funcionamiento de la base de datos en una sucesión de capas cuya finalidad es
ocultar y proteger la parte interna de las bases de datos.
Desde esta óptica para llegar a los datos hay que pasar una serie de capas que desde
la parte más externa poco a poco van entrando más en la realidad física de la base de
datos.
Modelo de referencia de las facilidades del usuario.

Facilidades del usuario: Son las herramientas que proporciona el SGBD a los usuarios
para permitir un acceso más sencillo a los datos. Actúan de interfaz entre el usuario y
la base de datos, y son el único elemento que maneja el usuario.

Capa de acceso a datos: La capa de acceso a datos es la que permite comunicar a


las aplicaciones de usuario con el diccionario de datos a través de las herramientas de
gestión de datos que incorpore el SGBD.

Diccionario de datos (del SGBD): Se trata del elemento que posee todos los
metadatos. Gracias a esta capa las solicitudes de los clientes se traducen en
instrucciones que hacen referencia al esquema interno de la base de datos.

Núcleo: El núcleo de la base de datos es la encargada de traducir todas las


instrucciones requeridas y prepararlas para su correcta interpretación por parte del
sistema. Realiza la traducción física de las peticiones.

Sistema operativo: Es una capa externa al software SGBD pero es la única capa que
realmente accede a los datos en sí.

Funcionamiento del SGBD.


Esquema del funcionamiento del SGBD.

El esquema anterior reproduce la comunicación entre un proceso de usuario que


desea acceder a los datos y el SGBD:

(1) El proceso lanzado por el usuario llama al SGBD indicando la porción de la base
de datos que se desea tratar

(2) El SGBD traduce la llamada a términos del esquema lógico de la base de datos.
Accede al esquema lógico comprobando derechos de acceso y la traducción física
(normalmente los metadatos se guardan una zona de memoria global y no en el
disco)

(3) El SGBD obtiene el esquema físico

(4) El SGBD traduce la llamada a los métodos de acceso del Sistema Operativo que
permiten acceder realmente a los datos requeridos

(5) El Sistema Operativo accede a los datos tras traducir las órdenes dadas por el
SGBD

(6) Los datos pasan del disco a una memoria intermedia o buffer. En ese buffer se
almacenarán los datos según se vayan recibiendo

(7) Los datos pasan del buffer al área de trabajo del usuario (ATU) del proceso del
usuario. Los pasos 6 y 7 se repiten hasta que se envíe toda la información al proceso
de usuario.

(8) En el caso de que haya errores en cualquier momento del proceso, el SGBD
devuelve indicadores en los que manifiesta si ha habido errores o advertencias a tener
en cuenta. Esto se indica al área de comunicaciones del proceso de usuario. Si las
indicaciones son satisfactorias, los datos de la ATU serán utilizables por el proceso de
usuario.
SGBD Comerciales.

MySQL:

Es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más


de seis millones de instalaciones. MySQL AB desarrolla MySQL como software libre
en un esquema de licenciamiento dual. Por un lado lo ofrece bajo la GNU GPL, pero,
empresas que quieran incorporarlo en productos privativos pueden comprar a la
empresa una licencia que les permita ese uso.

Está desarrollado en su mayor parte en ANSI C.

Al contrario de proyectos como el Apache, donde el software es desarrollado por una


comunidad pública, y el copyright del código está en poder del autor individual,
MySQL es propiedad y está patrocinado por una empresa privada, que posee el
copyright de la mayor parte del código. Esto es lo que posibilita el esquema de
licenciamiento anteriormente mencionado. Además de la venta de licencias privativas,
la compañía ofrece soporte y servicios. Para sus operaciones contratan trabajadores
alrededor del mundo que colaboran vía Internet. MySQL AB fue fundado por David
Axmark, Allan Larsson, y Michael Widenius.

Oracle:

Es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en


inglés de Relational Data Base Management System), fabricado por Oracle
Corporation.

Se considera a Oracle como uno de los sistemas de bases de datos más completos,
destacando su:
• Soporte de transacciones.
• Estabilidad.
• Escalabilidad.
• Es multiplataforma.

Su mayor defecto es su enorme precio, que es de varios miles de dólares (según


versiones y licencias). Otro aspecto que ha sido criticado por algunos especialistas es
la seguridad de la plataforma, y las políticas de suministro de parches de seguridad,
modificadas a comienzos de 2005 y que incrementan el nivel de exposición de los
usuarios. En los parches de actualización provistos durante el primer semestre de
2005 fueron corregidas 22 vulnerabilidades públicamente conocidas, algunas de ellas
con una antigüedad de más de 2 años.

Aunque su dominio en el mercado de servidores empresariales ha sido casi total


hasta hace poco, recientemente sufre la competencia del Microsoft SQL Server de
Microsoft y de la oferta de otros SGBD con licencia libre como PostgreSQL, MySql o
Firebird. Las últimas versiones de Oracle han sido certificadas para poder trabajar
bajo Linux.
Paradox (base de datos):

Base de datos relacional para entorno MS Windows, anteriormente disponible para


MS-DOS y Linux, desarrollada actualmente por Corel e incluida en la suite ofimática
WordPerfect Office.

En los tiempos del MS-DOS, era una base de datos de bastante éxito, compitiendo
con dBase, Clipper y FoxBase. Pasó al control de Borland después de la compra de
Ansa Software en 1987.

Aunque Borland la portó a Windows, su cuota de mercado es mucho menor que la de


Microsoft Access, pero su lenguaje de programación (Objectpal) es Pascal lo que le
hace más potente que Access que usa Visual Basic que limita bastante sus
prestaciones si se compara con otras bases de datos que usan lenguajes más
avanzados. Con su Runtime se puede desarrollar una aplicación usando una sola
licencia sin limitación de puestos.

Microsoft SQL Server:

Es un sistema de gestión de bases de datos relacionales basado en el lenguaje


Transact-SQL, capaz de poner a disposición de muchos usuarios grandes cantidades
de datos de manera simultánea. Así de tener unas ventajas que a continuación se
pueden describir.
Entre sus características figuran:

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

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 su versión 2005
pasa a ser el SQL Express Edition.

Microsoft SQL Server constituye la alternativa de Microsoft a otros sistemas gestores


de bases de datos como son Oracle, Sybase ASE o MySQL.

Es común desarrollar completos proyectos complementando Microsoft SQL Server y


Microsoft Access a través de los llamados ADP (Access Data Project). De esta forma
se completa una potente base de datos (Microsoft SQL Server) con un entorno de
desarrollo cómodo y de alto rendimiento (VBA Access) a través de la implementación
de aplicaciones de dos capas mediante el uso de formularios Windows.

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.

Microsoft SQL Server, al contrario de su más cercana competencia, no es


multiplataforma, ya que sólo está disponible en Sistemas Operativos de Microsoft.

Microsoft Access:

Es un sistema de gestión de bases de datos Relacional creado y modificado por


Microsoft (DBMS) para uso personal de pequeñas organizaciones. Es un componente
de la suite Microsoft Office aunque no se incluye en el paquete “básico”. Una
posibilidad adicional es la de crear ficheros con bases de datos que pueden ser
consultados por otros programas.

Características:

Entre las principales funcionalidades de Access se encuentran:

• Crear tablas de datos indexadas.


• Modificar tablas de datos.
• Relaciones entre tablas (creación de bases de datos relacionales).
• Creación de consultas y vistas.
• Consultas referencias cruzadas.
• Consultas de acción (INSERT, DELETE, UPDATE).
• Formularios.
• Informes.
• Llamadas a la API de windows.
• Interacción con otras aplicaciones que usen VBA (resto de aplicaciones de
Microsoft Office, Autocad, etc.).
• Macros.
• Interconexión con entornos de bases de datos de gran nivel (como por ejemplo
SQL Server) a través de vinculación.
• Soporte de lectura de sistemas de archivos individuales (como FoxBase y
similares) a través de vinculación e importación de datos.

Además, permite crear frontends – o programa que muestra la interfaz de usuario – de


bases de datos más potentes ya que es un sistema capaz de acceder a tablas
externas a través de ODBC como si fueran tablas Access.

Generalidades:

Es un software de gran difusión entre pequeñas empresas (PYMES) cuyas bases de


datos no requieren de excesiva potencia, ya que se integra perfectamente con el resto
de aplicaciones de Microsoft y permite crear pequeñas aplicaciones con unos pocos
conocimientos de programación.

Tiene un sistema de seguridad de cifrado bastante primitivo y puede ser la respuesta


a proyectos de programación de pequeño y mediano tamaño.

Inconvenientes:

Para bases de datos de gran calibre (en cuanto a volumen de datos o de usuarios) es
recomendable usar otros sistemas como MySQL o Microsoft SQL Server, y código
VBA (Visual Basic para Aplicaciones).

Entre sus mayores inconvenientes figuran que no es multiplataforma, pues sólo está
disponible para sistemas operativos de Microsoft, y que no permite transacciones. Su
uso es inadecuado para grandes proyectos de software que requieren tiempos de
respuesta críticos o muchos accesos simultáneos a la base de datos.

DB2:

Es una marca comercial, propiedad de IBM, bajo la cual se comercializa el sistema de


gestión de base de datos.

La versión más actual es DB2 9, la cual utiliza XML como motor, además el modelo
que utiliza es el jerárquico en lugar del modelo relacional que utilizan otros gestores.

Visual FoxPro:

Es un lenguaje de programación orientado a objetos y procedural, un Sistema Gestor


de Bases de datos o Database Management System (DBMS), y desde la versión 7.0,
un Sistema administrador de bases de datos relacionales, producido por Microsoft.

Características:

Visual FoxPro ofrece a los desarrolladores un conjunto de herramientas para crear


aplicaciones de bases de datos para el escritorio, entornos cliente/servidor, tablet PC
o para la Web.

Entre sus características se pueden enumerar:


• Capacidades poderosas y muy veloces para el manejo de datos nativos y remotos.
• Flexibilidad para crear todo tipo de soluciones de bases de datos.
• Lenguaje de programación Orientado a objetos.
• Utilización de sentencias SQL en forma nativa.
• Poderoso manejo de vistas y cursores y control completo de estructuras
relacionales.
• Su propio gestor de base de datos incorporado. Sin embargo, también puede
conectarse con servidores de base de datos, tales como Oracle, Microsoft SQL Server
o MySQL.
• Cuenta con un motor de generación de informes renovado y muy flexible para
soluciones más robustas.
• Desde la versión 9.0, amplio soporte de XML, tanto como fuente de datos (por ej.,
servicios Web basados en XML) como por generar reports en formato XLM.
• Desde la versión 7.0, soporte de la tecnología IntelliSense de Microsoft

La última versión liberada es la 9.0. La próxima versión, ‘Sedna’, será un poderoso y


completo lenguaje que permitirá al producto interactuar aun más con VisualStudio.net,
SQLServer2005, SQLExpress2005 y Office12, Windows Vista.

No habrá una próxima versión llamada sedna, microsoft ha cancelado el desarrollo de


dicha versión y lanzarán lo que han hecho hasta ahora como un service pack, hay
fecha de fin de soporte que es en el año 2015.

Hay un movimiento que está haciendo presión para que microsoft continue, o deje el
visual fox como código abierto para que otra gente pueda seguir evolucionando.

La versión 9.0 de Visual FoxPro cuenta con el SP1 en la que hay algunas nuevas
características y especialmente brinda estabilidad al producto.

PostgreSQL.

Es un sistema de gestión de base de datos relacional orientada a objetos y libre,


publicado bajo la licencia BSD.

Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es


manejado por una empresa y/o persona, sino que es dirigido por una comunidad de
desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyada por
organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL
Global Development Group).

Características

Algunas de sus principales características son, entre otras:

1. Alta concurrencia: mediante un sistema denominado MVCC (Acceso concurrente


multiversión, por sus siglas en inglés) PostgreSQL permite que mientras un proceso
escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos.
Cada usuario obtiene una visión consistente de lo último a lo que se le hizo commit.
Esta estrategia es superior al uso de bloqueos por tabla o por filas común en otras
bases, eliminando la necesidad del uso de bloqueos explícitos.....

2. Amplia variedad de tipos nativos: provee nativamente soporte para:

• Números de precisión arbitraria.


• Texto de largo ilimitado.
• Figuras geométricas (con una variedad de funciones asociadas).
• Direcciones IP (IPv4 e IPv6).
• Bloques de direcciones estilo CIDR.
• Direcciones MAC.
• Arrays.

Adicionalmente los usuarios pueden crear sus propios tipos de datos, los que pueden
ser por completo indexables gracias a la infraestructura GiST de PostgreSQL. Algunos
ejemplos son los tipos de datos GIS creados por el proyecto PostGIS.

Otras características

1. Claves ajenas también denominadas Llaves ajenas o Claves Foráneas (foreign


keys).

2. Disparadores (triggers): Un disparador o trigger se define como una acción


específica que se realiza de acuerdo a un evento, cuando éste ocurra dentro de la
base de datos. En PostgreSQL esto significa la ejecución de un procedimiento
almacenado basado en una determinada acción sobre una tabla específica. Ahora
todos los disparadores se definen por seis características:
• El nombre del disparador o trigger
• El momento en que el disparador debe arrancar
• El evento del disparador deberá activarse sobre...
• La tabla donde el disparador se activará
• La frecuencia de la ejecución
• La función que podría ser llamada

Entonces combinando estas seis características, PostgreSQL le permitirá crear una


amplia funcionalidad a través de su sistema de activación de disparadores (triggers).

3. Vistas.
4. Integridad transaccional.
5. Herencia de tablas.
6. Tipos de datos y operaciones geométricas.
7. Soporte para transacciones distribuidas. Permite a PostgreSQL integrase en un
sistema distribuido formado por varios recursos (p.ej, una base de datos PostgreSQL,
otra Oracle, una cola de mensajes IBM MQ JMS y un ERP SAP) gestionado por un
servidor de aplicaciones donde el éxito ("commit") de la transacción globlal es el
resultado del éxito de las transacciones locales.

Bibliografía
http://asc-spd2.blogspot.mx/2011/09/sistema-gestor-de-base-de-datos.html

También podría gustarte