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.