PDF. Base de Datos DAM-DAW. Tema 3
PDF. Base de Datos DAM-DAW. Tema 3
PDF. Base de Datos DAM-DAW. Tema 3
Sistemas gestores
de bases de datos
(SGDB)
3
/ 1. Introducción y contextualización práctica 4
/ 2. Definición y funciones 5
2.1. Concepto de SGBD 5
2.2. Funciones de un SGBD 5
/ 5. Tipos de SGBD 9
5.1. Según modelo lógico 9
5.2. Según tamaño 9
5.3. Según su forma de ejecución 9
5.4. Según la ubicación de la base de datos 9
© MEDAC
Reservados todos los derechos. Queda rigurosamente prohibida, sin la autorización escrita de los titulares del copyright,
bajo las sanciones establecidas en las leyes, la reproducción, transmisión y distribución total o parcial de esta obra por
cualquier medio o procedimiento, incluidos la reprografía y el tratamiento informático.
/ 9. Caso práctico 2: “Comparativa SGBD” 12
/ 11. Bibliografía 15
Comprender en qué consiste un Sistema Gestor de Bases de Datos (SGDB) y
reconocer su utilidad.
Estos sistemas estaban muy ligados a la parte física del sistema, por lo que no eran interoperables, y su programación
era compleja. Eso sí, supusieron un gran salto en cuanto a rendimiento y usabilidad.
Actualmente, los SGDB continúan en pleno desarrollo para poder hacer frente a varios retos, como puede ser el
mundo de la nube, garantizar la máxima disponibilidad, o la arquitectura multitenant. Algunas de las características
de Oracle 19c se pueden encontrar haciendo click aquí.
https://bit.ly/2ZsQTN8
TEMA 3. SISTEMAS GESTORES DE BASES DE DATOS (SGDB)
/5 MEDAC · Instituto Oficial de Formación Profesional
/ 2. Definición y funciones
2.1. Concepto de SGBD
Un sistema gestión de bases de datos (SGBD) se puede definir como la capa de aplicación (software) que utiliza el
usuario (analista, programador, usuario, etc) para poder gestionar y manipular las bases de datos, garantizando en
todo momento la seguridad.
Según el cuadrante de Gartner, esta es la visión actual del mercado de los SGBD, aunque no están todos los que
existen:
• Permiten almacenar, consultar y manipular datos de manera sencilla y transparente para el usuario.
• Facilitan la migración del sistema a otras máquinas independientemente de su sistema operativo, facilitando la
distribución de la base de datos.
• Garantizar el control del sistema, por ejemplo, dando acceso sólo a quien debe tenerlo, proporcionando además
seguridad y asegurando la integridad de los datos.
• Proporcionan una solución válida a posibles problemas producidos por la concurrencia de usuarios a los datos
(varios usuarios manipulando los mismos datos).
• Permiten consultar estadísticas sobre su uso, así como monitorizar la utilización de la base de datos.
• Permiten visualizar la arquitectura de la base de datos, es decir, la estructura de los datos en tablas, registros,
campos, relaciones entre ellos, etc.
NIVEL CARACTERÍSTICAS
En una base de datos, suele ocurrir que existe un único esquema físico, un solo esquema lógico, pero varios esquemas
externos. Esto es así porque en función del usuario, se le mostrarán unos datos y se omitirán otros.
• Lenguaje de programación: a través del cual los usuarios podrán acceder a los datos, con el fin de añadir,
consultar o modificar información.
• Diccionario de datos: contiene los llamados «metadatos», que es información relativa a los datos contenidos en
el sistema y a su estructura.
• Utilidades y herramientas de la base de datos: Se consideran en este grupo las herramientas que ayudan a
una correcta gestión y administración de la base de datos. Facilitan a los administradores tareas relativas a la
realización de copias de seguridad, gestión de usuarios y grupos, realización de estadísticas e informes, permisos
de acceso, etc. Es una parte muy importante en el SGBD, para su correcto funcionamiento y mantenimiento..
• Entorno gráfico: ayuda a facilitar el acceso al sistema por parte de usuarios menos avanzados, haciendo más
intuitivo su uso.
• Usuarios: junto a los datos, son el principal activo de la base de datos, ya que serán los que se encarguen de su
explotación, gestión y mantenimiento. Existirán diferentes perfiles:
Nudo: En el tema 2 ya tratamos sobre las entidades, tablas, registros y campos consideraremos en este primer
diseño.
Recordemos que el objetivo principal es la creación de un sistema de base de datos que le ayude en la gestión de su
almacén, así como en el proceso de ventas y compras.
Dado que ya tenemos más información sobre la estructura y componentes de un SGBD, vamos a plantear cómo será
esa estructura y cuáles serán los componentes en nuestro caso.
En relación al esquema interno, se definió en parte en el Caso práctico del tema 2, quedando pendiente de resolver
la ubicación de los ficheros y el nombre de estos. Nuestra propuesta es que el nombre coincida con el de la tabla
por sencillez, y que se almacenen en un dispositivo tipo NAS que implemente un sistema RAID redundante para
garantizar la integridad de los mismos.
En cuanto al esquema lógico o conceptual, en el tema 2 se definieron las siguientes tablas y atributos para cada una
de ellas, quedando pendiente cómo se relacionarán entre sí. Una posible propuesta puede ser la siguiente, aunque
puede haber otras:
Por último, en cuanto al esquema externo, dependerá en gran medida del SGBD que decidamos utilizar finalmente.
Habría que definir también los perfiles de usuario o grupos de usuarios que implementaremos. En nuestro caso,
habrá un perfil de administrador con permisos completos, otro perfil de usuario avanzado, y, por último, otro perfil
de consulta con acceso limitado a ciertas funciones.
TEMA 3. SISTEMAS GESTORES DE BASES DE DATOS (SGDB)
/9 MEDAC · Instituto Oficial de Formación Profesional
/ 5. Tipos de SGBD
De igual manera que ocurre con las bases de datos, los SGBD se pueden clasificar en base a múltiples criterios.
• Ligero: tamaño muy reducido, se utilizan en entornos donde no se dispone de equipos muy potentes y donde
no se necesita un gran rendimiento. Un ejemplo es el SQLite, MS Access o LibreOffice Base.
• Alto rendimiento: se utilizan para manejar grandes cantidades de datos, ya que ofrecen funcionalidades más
complejas: gestión de usuarios, control de concurrencia, estadísticas e informes, monitorización, etc. A este
grupo pertenecen Oracle, Microsoft SQL Server, MySQL y PostgreSQL, entre otros.
• SGBD Bicapa: esquema cliente / servidor, ya que el SGBD y la base de datos se encuentran en la misma máquina
o máquinas (servidores), que reciben conexiones de los clientes a través de la red.
• SGBD Multicapa: en este caso existe uno o varios servidores intermedios entre los usuarios y la base de datos.
Es el esquema que se da en la web habitualmente.
El usuario realiza una petición de acceso a la información contenida en la base de datos (1), a través de la aplicación
(nivel externo), que traduce la misma para que sea comprensible por parte del sistema.
A continuación, se activa el proceso de cliente (2), que se encarga de gestionar la petición y enviarla al proceso
servidor de la base de datos (3). La petición la recoge el proceso del servidor (equivalente al proceso de cliente
en el lado servidor), que a su vez se la pasa al SGBD (4) después de haberla analizado y traducido para facilitar su
comprensión.
Una vez que la petición ha llegado al SGBD, este verifica si es correcta a través del diccionario de datos, comprobando
además en qué parte concreta de los ficheros se encuentra la información demandada (5). Cuando tiene este dato,
traduce y envía la solicitud (6) al Sistema Operativo, que será el encargado de acceder directamente al soporte físico
de los datos (7).
En el caso de las bases de datos, estamos hablando de una entidad formada por un conjunto de ficheros de distinto
tipo, que además están relacionados entre sí, y que suelen tener un SGBD que facilita y potencia su gestión, a la vez
que regula el acceso a la información.
Por tanto, el usuario final de la base de datos no conoce cómo está repartida la información en la base de datos, ni
tampoco cómo está organizada. Es una información irrelevante para él, ya que la función de acceso a la información
la resuelve el propio sistema, que al fin y al cabo es lo que el usuario busca: eficacia, comodidad y ausencia de
problemas que impliquen pérdida de tiempo.
Es un hecho evidente que sea necesario el uso de una base de datos (y SGBD) para la correcta gestión y tratamiento
de grandes volúmenes de datos, aunque esto no quiere decir que sea la mejor solución en todos los casos. Es decir,
en caso de que las necesidades de almacenamiento y acceso a la información sean muy reducidas (caso que puede
ser válido en un entorno doméstico, por ejemplo) quizá no sea la mejor opción el utilizar una base de datos muy
potente con un SGBD avanzado, y por tanto complicado. Sin embargo, es cierto que hoy en día, como se indicó
TEMA 3. SISTEMAS GESTORES DE BASES DE DATOS (SGDB)
/ 11 MEDAC · Instituto Oficial de Formación Profesional
anteriormente, para estos casos existen SGBD muy livianos que se adaptan perfectamente a estas condiciones,
como puede ser SQLite, que además tiene soporte para Android.
Por otro lado, un SGBD ofrece posibilidades muy amplias y potentes, al permitir desarrollar aplicaciones específicas
para los diferentes casos que nos pudieran surgir, siendo mucho más versátil. Además, los SGBD suelen contar con
un interfaz intuitivo, y se adapta a la gran mayoría de los entornos de manera automática.
Quizá el gran aporte de un SGBD es la posibilidad de poder utilizar lenguajes estándar de consulta, especialmente
SQL, que además puede ser combinado con otros lenguajes (JAVA o PHP) para construir funcionalidades más
complejas y potentes.
Además, como se vio anteriormente, hoy en día existen gran variedad de SGBD adaptados a todos los mercados y
casuísticas.
• PostgreSQL: está considerado un SGBD muy avanzado, caracterizándose por ser un sistema relacional orientado
a objetos multiplataforma. Por lo tanto, soporta varios lenguajes de programación (Perl, Python, PHP, Java,
etc). Ha sido desarrollado desinteresadamente por una comunidad de programadores.
• SQLite: se trata de un gestor muy liviano pero potente, con tiempos de acceso muy reducidos. Soporta diversos
lenguajes de programación y es multiplataforma. Está muy extendido en aplicaciones móviles, y fue desarrollado
en C.
• MongoDB: es una base de datos no relacional (NoSQL) distribuida, diseñada especialmente para aplicaciones en
la nube. También es multiplataforma.
• Firebird: es reconocido por su buena gestión de la concurrencia y por un consumo de recursos muy bajo. Aún
así, es potente, multiplataforma y tiene soporte para varios lenguajes de programación. Es un SGBD del tipo
relacional.
TEMA 3. SISTEMAS GESTORES DE BASES DE DATOS (SGDB)
BASE DE DATOS / 12
• Microsoft SQL Server: creado por Microsoft, está también muy extendido. Es un SGBD relacional que se
caracteriza por la alta disponibilidad y rapidez en la conmutación. Además, se integra muy bien con Microsoft
Server, lo que le aporta robustez. Además, es escalable, y cuenta con distintas versiones adaptadas al uso que se
pretenda dar: DataCenter, empresa, Web, Business Intelligence, etc.
Permite además su utilización en máquinas virtuales de Azure, aportando seguridad y facilidad de gestión.
• Sybase – SAP: se caracteriza por ser también un SGBD relacional, escalable y que ofrece buen soporte a bases de
datos con gran cantidad de datos. Cuenta además con opciones para implementar funcionalidades en la nube, y
existen diferentes paquetes en función de las necesidades que se deseen cubrir. Soporta diferentes plataformas:
Windows, Linux, Unix, Solaris, etc.
• DB2: desarrollado por IBM en los setenta, es un SGBD multiplataforma con un motor potente desarrollado por
la propia IBM. Destaca por la capacidad de automatización de tareas, lo que redunda en una mayor rapidez de
respuesta. Cuenta con diferentes versiones, incluso con una versión gratuita con funcionalidades más limitadas.
Nudo: Como diseñadores de la misma, necesitaremos recabar información acerca de algunas características de los
SGBD de nuestra elección, en total 7 SGBD distintos a elegir entre todos los existentes.
La información que necesitamos de cada uno, a fin de establecer una comparativa, es la siguiente:
• Características principales
• Ventajas
• Inconvenientes
Desenlace: Una posible solución podría ser la tabla que se muestra a continuación, en la que se recogen los SGBD
más conocidos, aunque existen muchos otros en el mercado que también pueden resultar interesantes.
TEMA 3. SISTEMAS GESTORES DE BASES DE DATOS (SGDB)
/ 13 MEDAC · Instituto Oficial de Formación Profesional
Agrupación de
Pertenece a Oracle. transacciones.
No tiene soporte.
MYSQL Licencia GPL/ Distintos motores
Capacidad limitada.
licencia comercial. de almacenamiento.
Instalación sencilla.
Código abierto
y gratuito,
Tiene la extensión multiplataforma. Respuesta lenta.
POSTGRESQL POSTGIS para bases Gran volumen de Requiere hardware.
de datos especiales. datos. Transsaciones, No es intuitivo.
disparadores y
afirmaciones.
Por otro lado, también hemos analizado la estructura (nivel físico, conceptual y externo) y componentes principales
de los SGBD. Se han repasado de manera pormenorizada los diferentes tipos de SGBD en función de diferentes
criterios: según su modelo, su tamaño, su forma de ejecución o en función de la ubicación de la base de datos.
Posteriormente se ha explicado en detalle el funcionamiento paso por paso, desde que el usuario genera una petición
hasta que el sistema le contesta, indicando los procedimientos que ocurren en cada caso.
A continuación, se han analizado las diferencias entre los SGBD y los ficheros clásicos y, por último, se han descrito
las características principales de los SGBD más importantes y extendidos actualmente. Sin embargo, la lista de
SGBD existentes es muy extensa, e incluso dentro de cada SGBD descrito existen múltiples versiones y posibilidades
(por ejemplo, Oracle), cuyo contenido es prácticamente inabarcable. Por lo tanto, te animamos a que investigues
por tu cuenta para poder ampliar la información relacionada con este tema, si lo consideras de tu interés.
En el caso práctico inicial se planteaban diferentes cuestiones relacionadas con los SGBD, algunas de las cuáles han
sido tratadas directamente en el tema, y otras se pueden deducir tras estudiarlo.
A continuación, se contesta una por una a las cuestiones indicadas, aunque en algún caso la respuesta puede
depender del criterio subjetivo de cada uno:
En este caso, la respuesta debería ser “depende”, ya que hay ciertos SGBD que se adaptan mejor que otros a unas
casuísticas determinadas. También dependerá mucho de los objetivos que se persigan y de cómo se diseñe y
administre la base de datos.
De igual forma, después de todo lo estudiando en el tema, deberíamos contestar con un “depende” a esta pregunta,
ya que es cierto que dependerá del caso y la problemática concreta. En un entorno empresarial más profesionalizado,
quizá lo más lógico sea apostar por tecnologías consolidadas como Oracle, MySQL o SQL Server. En otros entornos,
puede ser preferible utilizar otro modelo.
• ¿Realmente nos interesa contar con un SGBD para gestionar nuestra base de datos?
En este caso, la respuesta debe ser afirmativa. Un SGBD es básico hoy en día para poder sacarle todo el rendimiento
que puede ofrecer una base de datos, por muy simple que sea su uso. La incorporación de herramientas gráficas y
visuales potentes hace que cada vez sean más sencillos de utilizar.
TEMA 3. SISTEMAS GESTORES DE BASES DE DATOS (SGDB)
/ 15 MEDAC · Instituto Oficial de Formación Profesional
/ 11. Bibliografía
Oppel, A. (2009): Databases: A Beginner’s Guide. Madrid, España: McGraw-Hill.
Elmasri, R.; Navathe, S. (2007): Fundamentos de Bases de Datos (5.a. ed.). Madrid, España: Pearson Addison-Wesley
López, I.; Castellano, M.J. y Ospino, J. (2011) : Bases de datos. Madrid, España: Garceta
Cabrera, G. (2011): Sistemas gestores de bases de datos. Madrid, España: Paraninfo.
García-Molina, H., Ullman, J. y Widom, J. (2002): Database Systems. New Jersey: Prentice Hall.