Este documento proporciona información sobre los sistemas gestores de bases de datos. Define qué es un sistema gestor de bases de datos y enumera algunos ejemplos como MySQL, Oracle, Microsoft SQL Server y Microsoft Access. También describe brevemente los componentes clave de un sistema gestor de bases de datos como los lenguajes de definición y manipulación de datos, el diccionario de datos y los mecanismos de seguridad e integridad.
1. GESTOR DE BASE DE
DATOS
INTEGRANTES:
• MORI ROJAS, José Manuel
• REGALADO JUAPE, Thalia
2. DEFINICIÓN
Los Sistemas Gestores de Bases de Datos (SGBD, por sus siglas en inglés), también
conocidos como sistemas manejadores de bases de datos o DBMS (DataBase
Management System), son un conjunto de programas que manejan todo acceso a la
base de datos, con el objetivo de servir de interfaz entre ésta, el usuario y las
aplicaciones utilizadas.
Gracias a este sistema de software específico el usuario puede gestionar la base de
datos (almacenar, modificar y acceder a la información contenida en ésta) mediante
el uso de distintas herramientas para su análisis, con las que puede realizar consultas
y generar informes.
3. Funciones de un Sistema Gestor de Bases
de Datos
Definición de los datos: El SGBD ha de poder definir todos los objetos de la base
de datos partiendo de definiciones en versión fuente para convertirlas en la
versión objeto.
Manipulación de los datos: El SGBD responde a las solicitudes del usuario para
realizar operaciones de supresión, actualización, extracción, entre otras
gestiones.
Seguridad e integridad de los datos: Un SGBD debe garantizar su seguridad
frente a ataques o simplemente impedir su acceso a usuarios no autorizados por
cualquier razón.
Recuperación y restauración de los datos: Su aplicación se realizará a través de
un Plan de recuperación y restauración de los datos que sirva de respaldo.
4. Tipos de Gestores de Bases de Datos
Sistemas de gestión de bases de datos (SGBD): cuyo propósito es general y se
basan, con frecuencia, en el modelo relacional. Su finalidad principal es la gestión
de datos comerciales, administrativos y, en general, cualquier tipo de datos.
Sistemas de gestión documental (SGD): que se soportan comúnmente en un
modelo textual. Están diseñados para gestionar datos textuales, no se estructuran
necesariamente bien y, en general, incorporan controles terminológicos.
5. Características Principales
Abstracción de la información.
Independencia.
Redundancia mínima.
Consistencia.
Seguridad.
Integridad.
Respaldo y recuperación.
Control de la concurrencia.
6. Ventajas
Proveen facilidades para la manipulación de grandes volúmenes de datos.
Simplifican la programación de equipos de consistencia.
Manejando las políticas de respaldo adecuadas, garantizan que los cambios de la
base serán siempre consistentes sin importar si hay errores correctamente, etc.
Organizan los datos con un impacto mínimo en el código de los programas.
Disminuyen drásticamente los tiempos de desarrollo y aumentan la calidad del
sistema desarrollado si son bien explotados por los desarrolladores.
Usualmente, proveen interfaces y lenguajes de consulta que simplifican la
recuperación de los datos.
7. Desventajas
Típicamente, es necesario disponer de una o más personas que administren la base de datos, de
la misma forma en que suele ser necesario en instalaciones de cierto porte disponer de una o
más personas que administren los sistemas operativos. Esto puede llegar a incrementar los costos
de operación en una empresa.
Si se tienen muy pocos datos que son usados por un único usuario por vez y no hay que realizar
consultas complejas sobre los datos, entonces es posible que sea mejor usar una hoja de calculo.
Complejidad: el software muy complejo y las personas que vayan a usarlo deben tener
conocimiento de las funcionalidades del mismo para poder aprovecharlo al máximo.
Tamaño: la complejidad y la gran cantidad de funciones que tienen hacen que sea un software
de gran tamaño, que requiere de gran cantidad de memoria para poder correr.
Coste del hardware adicional: los requisitos de hardware para correr un SGBD por lo general son
relativamente altos, por lo que estos equipos pueden llegar a costar gran cantidad de dinero.
8. COMPONENTES
Lenguajes de los SGBD
Lenguajes de definición de datos (DDL)
Se utilizan para especificar el esquema de la BD, las vistas de los usuarios y las estructuras de
almacenamiento. Es el que define el esquema conceptual y el esquema interno. Lo utilizan los
diseñadores y los administradores de la BD.
Lenguajes de manipulación de datos (DML)
Se utilizan para leer y actualizar los datos de la BD. Es el utilizado por los usuarios para realizar
consultas, inserciones, eliminaciones y modificaciones. Prácticamente hoy día todos los lenguajes ya
cuentan con la mayoría de estructuras de control (bucles, if-then-else, etc.) por lo que no habría que
preocuparse por ello. Aquellos que ya incorporan esas estructuras son llamados lenguajes
autosuficientes, mientras que los que no cuentan con ellas son llamados lenguajes huésped.
Generalmente se suele usar SQL en los SGBD que ya contiene ambos lenguajes incorporados.
9. Diccionario de datos
Proporciona información acerca de:
• La estructura lógica y física de la BD.
• Las definiciones de todos los objetos de la BD: tablas, vistas, índices.
• El espacio asignado y utilizado por los objetos.
• Los valores por defecto de las columnas de las tablas.
• Información acerca de las restricciones de integridad.
• Los privilegios y roles otorgados a los usuarios.
Cumple con las siguientes características:
• Debe soportar las descripciones de los modelos conceptual, lógico, interno y externo de la BD.
• Debe ser integrado dentro del SGBD.
• Debe apoyar la transferencia eficiente de la información al SGBD.
• Debe reflejar los cambios en la descripción de la BD.
• Debe estar almacenado en un medio de almacenamiento con acceso directo para la fácil
recuperación de información.
10. Seguridad e integridad
El SGBD debe vigilar las peticiones del usuario y rechazar todo intento de violar las restricciones de seguridad
y de integridad definidas por el DBA (Administrador). Estas tareas pueden realizarse durante el tiempo de
compilación, de ejecución o entre ambos.
El sistema de seguridad debe garantizar:
o La protección de los datos contra accesos no autorizados, tanto intencionados como accidentales.
o Debe controlar que solo los usuarios autorizados accedan a la BD.
o Ser capaz de recuperar la BD llevándola a un estado consistente en caso de ocurrir algún suceso
que la dañe.
o Ofrecer mecanismos para conservar la consistencia de los datos en el caso de que varios usuarios
actualicen la BD de forma concurrente.
16. SISTEMA DE GESTOR DE BASE DE DATOS
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.
o Ventajas:
o Velocidad al realizar las operaciones
o Bajo costo en requerimientos para la elaboración de bases de datos
o Facilidad de configuración e instalación.
o Desventajas:
o Un gran porcentaje de las utilidades de MySQL no están documentadas.
o No es intuitivo, como otros programas (ACCESS).
17. Oracle
Es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational
Data Base Management System), fabricado por Oracle Corporation.
Características:
Soporte de transacciones.
Estabilidad.
Escalabilidad.
Es multiplataforma.
Ventajas:
Oracle es el motor de base de datos objeto-relacional más usado a nivel mundial
Puede ejecutarse en todas las plataformas, desde una Pc hasta un supercomputador.
Desventajas:
El mayor inconveniente de Oracle es quizás su precio necesidad de ajustes elevado el coste de
la información
18. 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.
Características:
Soporte de transacciones.
Escalabilidad, estabilidad y seguridad.
Soporta procedimientos almacenados.
Incluye también un potente entorno gráfico de administración, que permite el uso de comandos DDL y DML
gráficamente.
Permite trabajar en modo cliente-servidor donde la información y datos se alojan en el servidor y las terminales o
clientes de la red sólo acceden a la información.
Ventajas:
Soporte de transacciones.
Escalabilidad, estabilidad y seguridad.
Soporta procedimientos almacenados.
Desventajas:
Soporte de transacciones. Escalabilidad, estabilidad y seguridad. Soporta procedimientos almacenados.
Enorme cantidad de memoria RAM que utiliza para la instalación y utilización del software
La relación calidad-precio esta muy debajo comparado con Oracle.
19. 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:
Crear tablas de datos indexadas.
Modificar y Relaciones entre tablas (creación de bases de datos relacionales).
Creación de consultas y vistas.
Consultas referencias cruzadas y Consultas de acción (INSERT, DELETE, UPDATE).
Formularios.
Informes.
Llamadas a la API de windows.
Ventajas:
Tablas para almacenar los datos.
Consultas para buscar y recuperar únicamente los datos que necesita.
Formularios para ver, agregar y actualizar los datos de las tablas.
Desventajas:
Limitaciones en el procesamiento de las búsquedas.
20. 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.
Características:
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 y Utilización de sentencias SQL en forma nativa.
Poderoso manejo de vistas, cursores y control completo de estructuras relacionales.
Su propio gestor de base de datos incorporado, pero se 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.
Ventajas:
Menor costo.
Entorno windows (Es mas familiar y predecible).
Desventajas:
Integridad y Seguridad
Menor capacidad de procesamiento
21. 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:
Alta concurrencia: mediante un sistema denominado MVCC (Acceso concurrente multiversión, por
sus siglas en inglés).
Amplia variedad de tipos nativos: provee nativamente varios soportes.
Ventajas:
Ahorros considerables de costos de operación
Estabilidad y confiabilidad
Desventajas:
Consume más recursos que MySQL.
La sintaxis de algunos de sus comandos o sentencias no es nada intuitiva.
22. Apache Derby
Es un sistema gestor de base de datos relacional escrito en Java que puede ser empotrado en aplicaciones Java y utilizado para
procesos de transacciones online. Tiene un tamaño de 2 MB de espacio en disco. Inicialmente distribuido como IBM Cloudscape,
Apache Derby es un proyecto open source licenciado bajo la Apache 2.0 License. Actualmente se distribuye como Sun Java DB.
Características:
APIs para JDBC y SQL. Soporta todas las características de SQL92 y la mayoría de SQL99. Su código mide
alrededor de 2000KB comprimido.
Soporta cifrado completo, roles y permisos. Además posee SQL SCHEMAS para separar la información en un única
base de datos y control completo de usuarios.
Soporta internamente procedures, cifrado y compresión. Trae soporte multilenguaje y localizaciones específicas.
A partir de la versión 10.4 trae un sistema simple de replicación maestro-esclavo.
Transacciones y recuperación ante errores ACID.
Ventajas:
Se pude configurar como cliente/servidor.
Tiene la opción del manejador de base de datos soporta la arquitectura cliente/servidor.
Desventajas:
Es tedioso solo lo puedes manipular si conoces lo básico de SQL
Necesitas códigos para crear la base de datos
23. DB2
Es una marca comercial, propiedad de IBM, bajo la cual se comercializa el sistema de gestión de base de datos. La versión más
actual es DB2 9, la cual utiliza XML como motor, además el modelo que utiliza es el jerárquico en lugar del modelo relacional que
utilizan otros gestores.
Características:
Permite el manejo de objetos grandes (hasta 2 GB).
SQL recursivo, soporte multimedia: texto, imágenes, video, audio; queries paralelos, commit de dos fases,
backup/recuperación on−line y offline.
Ventajas:
Permite agilizar el tiempo de respuestas de esta consulta.
Recuperación utilizando accesos de sólo índices.
Predicados correlacionados.
Tablas de resumen y Tablas replicadas.
Uniones hash
Desventajas:
Se tiene que ver con las aplicaciones que se tienen desarrolladas y las que se van a implementar.
Influye en la elección.
24. DB2 express-C
Es un motor de base de datos perteneciente a la empresa IBM, conteniendo parte de las funcionalidades de la
versión de pago DB2 propiedad también de la empresa IBM, este motor de base de datos es gratuita pero no
libre (como aquellas que tienen licencia GPL) y cuenta con la ventaja de no tener límite de crecimiento en sus
archivos de base de datos.
Características:
Compatibilidad SQL, lo que facilita la ejecución de aplicaciones escritas para otras bases de datos
principales, en DB2.
Mejorías para el desarrollo de aplicativos.
Mejoras en seguridad.
Ventajas:
No hay Límites de Datos.
No hay límites de conexiones.
25. SQLite
Es un sistema de gestión de bases de datos relacional compatible con ACID, contenida en una relativamente
pequeña biblioteca escrita en C. SQLite es un proyecto de dominio público.
Características:
La biblioteca implementa la mayor parte del estándar SQL-92.
Varios procesos o hilos pueden acceder a la misma base de datos sin problemas.
Varios accesos de lectura pueden ser servidos en paralelo.
Un acceso de escritura sólo puede ser servido si no se está sirviendo ningún otro acceso
concurrentemente.
Ventajas:
Rendimiento de base de datos.
Interfaces.
Costo.
Desventajas:
Falta de Clave Foránea.
Falta de documentación en español.