DBMS (Sistema de
Gestión de Bases de
Datos

Definición

Es un software que administra y
organiza demanera eficiente la
información en una base de
datos, permitiendo;

Acceso

Consulta

Manipulación

Componentes principales

Motor de base de datos

Controla el acceso a
los datos.

Diccionario de consulta

Almacena detalles de
la base de datos.

Lenguaje de consulta

Conjunto de comandos que
busca y manipula datos

Funciones principales

Almacenamiento

Organiza y guarda los datos de
manera eficiente en la base de
datos.

Consulta

Permite buscar y recuperar datos
mediante comandos específicos.

Administración

Controla la seguridad, integridad
y accesibilidad de los datos

Usuarios

Pueden ser clasificados en varias
categorías en función de sus roles
y privilegios en la base de datos,
ejem

Administrador del sistema

Controla el sistema y la infraestructura

Administrador de la base
de datos

Gestiona una base de datos específica.

Desarrollador de aplicaciones

Crean aplicaciones que usan la base de datos.

Usuarios finales

Utilizan aplicaciones para acceder a los datos.

Usuarios con permisos
de solo lectura

Solo pueden consultar datos.

Usuarios con permisos
de solo escritura

Pueden modificar datos.

Usuarios con permiso de
administrador

Configuran y gestionan el DBMS.

Usuarios remotos

Acceden desde ubicaciones fuera de la red local.

Usuarios con permisos
limitados

Tienen acceso restringido a datos y funciones específicos.

Tipos

Relacional

Almacena datos en tablas
relacionadas y utiliza SQL
para consultas

NoSQL

Diseñado para gestionar datos no
estructurados o semiestructurados

Orientado a
objetos

Almacena datos en forma de objetos

Basado en
columnas

Almacena datos de manera eficiente por
columnas en lugar de filas

Optimizado para análisis de datos
y almacenamiento masivo.

Elementos de una
Base de Datos

Tablas

Estructuras que almacenan
datos en filas y columnas.

Campos (Atributos)

Columnas individuales en una
tabla que representan atributos
específicos.

Registros (Tuplas)

Filas en una tabla que contienen
información completa.

Claves

Primarias

Campo único que identifica de
manera única cada registro en
una tabla.

Secundarias

Campo utilizado para buscar y
acceder a registros de manera
eficiente.

Relaciones

Vínculos entre tablas que permiten
combinar datos de múltiples fuentes.

Funciones

Almacentamiento

Organiza y guarda datos
en la base de datos de
manera eficiente.

Consulta

Permite buscar y recuperar
datos mediante comandos
específicos.

Control de ocurrencias

Gestiona el acceso simultáneo
de usuarios para mantener la
integridad de los datos.

Seguridad

Protege los datos de accesos
no autorizados mediante
autenticación y autorización.

Integridad de datos

Aplica reglas para garantizar la
precisión y coherencia de los datos.

Respaldo y recuperación

Realiza copias de seguridad y
recupera datos en caso de fallas.

Optimización de
consultas

Mejora el rendimiento de las consultas
mediante la planificación y optimización.

Ejemplos de DBMS
populares

Oracle Database

Líder en la industria que gestiona
datos estructurados y ofrece
escalabilidad y seguridad.

Microsoft SQL Server

De Microsoft diseñado para aplicaciones
empresariales, con funciones de
almacenamiento y análisis avanzados.

MySQL

De código abierto ampliamente utilizado
para aplicaciones web y empresariales
que requieren un almacenamiento eficiente.

PostgreSQL

De código abierto que se destaca por su
capacidad de extensión y compatibilidad
con estándares SQL.

MongoDB

DBMS NoSQL que gestiona datos no
estructurados o semiestructurados,
como documentos JSON, ideal para
aplicaciones modernas y escalables.

SQLite

Ligero y de un solo archivo adecuado
para aplicaciones móviles y sistemas
integrados.

Pros y contras

Ventajas

Seguridad de Datos

Integridad de Datos

Acceso Concurrente

Control de Redundancia

Mantenimiento y Respaldo

Desventajas

Costo Inicial

Complejidad

Consumo de Recursos

Rigidez en el Esquema

Dependencia del Proveedor

Arquitectura MYSQL

Utiliza una arquitectura cliente-servidor.

Servidor MySQL (MySQL Server

Almacena y gestiona la base de datos.

Cliente MySQL

Aplicación que se conecta al servidor
para interactuar con la base de datos.

Motor de Almacenamiento

Determina cómo se almacenan los datos
(por ejemplo, InnoDB, MyISAM).

Protocolo

Define cómo se comunica el cliente
con el servidor.

Diccionario de Datos

Contiene información sobre la estructura
de la base de datos.

Almacenamiento físico

Datos almacenados en el sistema de archivos.

Gestor de Consultas y Optimizador

Analiza y optimiza las consultas SQL.

Instalación y configuración
MYSQL

Adjunto link que habla de
la instalación y configuración
de MySQL

Variables del sistema

Utiliza una variedad de variables del
sistema para controlar su comportamiento
y configuración.

Sistema

Afectan el comportamiento general
de MySQL y su rendimiento

Sesión

Aplican a una sesión de conexión
MySQL en particular y pueden
ajustarse en tiempo real.

Seguridad

Se utilizan para configurar la
seguridad de MySQL.

Rendimiento

Permiten ajustar el rendimiento de
MySQL según las necesidades específicas
de la aplicación

Registro y depuración

Habilitar y configurar la generación de
registros y mensajes de depuración.

Replicación

Almacenamiento

Dependiendo del motor de almacenamiento
que utilices, hay variables específicas
relacionadas con el almacenamiento que puedes
ajustar.

Estructura del diccionario de datos

El diccionario de datos se conoce como el "Catálogo de Información", es una base de datos especial que contiene tablas y vistas que almacenan información sobre la estructura y el estado de otras bases de datos en el servidor MySQL.Ejem

'TABLES'

Almacena información sobre todas las tablas
en las bases de datos del servidor MySQL

'COLUMNS'

Contiene detalles sobre las columnas de todas las tablas, como nombres de columnas

'STATISTICS'

Mantiene estadísticas sobre índices y claves en las tablas.

'KEY_COLUMN_USAGE'

Ofrece información sobre las columnas que forman parte de claves primarias y foráneas en las tablas.

'REFERENTIAL_CONSTRAINTS'

Almacena datos sobre las restricciones de integridad referencial, incluidas las claves foráneas.

'ROUTINES'

Contiene detalles sobre las funciones y procedimientos almacenados en las bases de datos.

'VIEWS'

Proporciona información sobre las vistas definidas en las bases de datos.

'TRIGGERS'

Mantiene detalles sobre los disparadores definidos en las bases de datos

Herramientas para la
administración de MySQL

phpMyAdmin

Aplicación web de código abierto para gestionar bases de datos MySQL a través de una interfaz gráfica en el navegador.

MySQL Workbench

Herramienta de diseño y administración visual de bases de datos MySQL que permite diseñar, consultar y administrar bases de datos.

Navicat for MySQL

Herramienta de gestión de bases de datos con una interfaz gráfica que facilita la administración y desarrollo de bases de datos MySQL.

HeidiSQL

Cliente ligero y de código abierto para MySQL que proporciona una interfaz fácil de usar para administrar bases de datos.

DBeaver

Herramienta de administración de bases de datos universal que admite varios sistemas de gestión de bases de datos, incluido MySQL.

Toad for MySQL

Herramienta de administración y desarrollo de bases de datos que ofrece una amplia gama de características para trabajar con MySQL.

Paula Andrea García Moreno

Ingeniería de Software

Administración de bases de datos