2. OBJETIVOS DE APRENDIZAJE
1. Mostrar el concepto de Base de datos en MySQL
2. Aprender las características de una Base de Datos en
MySQL
3. Explicar el funcionamiento de una Base de Datos en
MySQL
3. INDICE
1. ¿QUE ES UNA BASE DE DATOS EN MySQL?
2. REPASO DE CARACTERISTICAS DE MySQL
3. FUNCIONAMIENTO DE ALGUNAS ACCIONES EN MySQL
4. LA IMPORTANCIA DE LAS BASE DE DATOS EN MySQL
5. BIBLIOGRAFIA
4. ¿QUE ES UNA
BASE DE DATOS
EN MySQL?
Una base de datos es una
colección de datos
estructurados, es un lugar
donde se almacenan y
organizan los datos, estos
datos almacenados están
organizados en tablas, tablas
que se relacionan de alguna
manera.
Al ser MySQL de código
abierto significa que este es
libre de ser usado y
modificado.
Desarrollado en 1994 por MySQLAB
empresa sueca.
Sun Microsystems compra MySQLAB
2008.
2010 Oracle adquiere Sun Microsystem
y MySQL.
ORIGENES DEL MySQL
My SQL es un sistema de gestión de base
de datos relacionales de código abierto
(RDBMS) con un modelo cliente-servidor.
5. REPASO DE CARACTERISTICAS DE
MySQL
PRESTACIONES
Esta desarrollado en C/C++
Se distribuyen ejecutables para cerca de
diecinueve plataformas diferentes.
La API se encuentra disponibe en
C,C++,Eiffel,Java,PHP,Python,Ruby y TCL.
Esta optimizado para equipos de multiples
procesadores
Es muy destacable su velocidad de respuesta
Se puede utilizar como cliente-servidor o
incrustado en aplicaciones
LIMITACIONES
Dentro de los principios de diseño, se puede
explicar algunas carencia que tiene.
El soporte de transacciones
La integridad referencial(gestión de claves
foráneas)
Condicionado a un esquema de
almacenamiento de tabla concreto
No soporta procedimientos almacenados
6. REPASO DE CARACTERISTICAS DE
MySQL
PRESTACIONES
Cuenta con un rico conjunto de tipo de datos
Soporta multiples métodos de almacenamiento
de tablas, con prestaciones y rendimiento
diferentes para poder optimizar el sistema gestor
de base de datos a cada caso concreto.
Su administración se basa en usuarios y
privilegios
Se tiene constancia de caos en los que se
maneja cincuenta millones de registros, sesenta
mil tablas y cinco millones de columnas
LIMITACIONES
No incluye disparadores
No incluye vistas
No incluye características de objetos como
tipos de datos estructurados definidos por el
usuario, herencia,etc.
7. REPASO DE CARACTERISTICAS DE
MySQL
PRESTACIONES
Sus opciones de conectividad abarcan TCP/IP,
sockets UNIX y sockets NT, además de soportar
completamente ODBC.
Los mensajes de error pueden estar en
español y hacer ordenaciones correctas con
palabras acentuadas o con la letra “ñ”
Es altamente confiable en cuanto a
estabilidad se refiere.
8. FUNCIONAMIENTO DE
ALGUNAS ACCIONES EN
MySQL
ACCESO A UN SERVIDOR
CREACIÓN DE TABLAS
MODIFICAR TABLAS
SENTENCIAS
TIPOS DE DATOS
CONSULTAR TABLAS
9. ACCESO A UN SERVIDOR MySQL
Para conectar con el servidor hay que asegurar de
que este funcionando y que puede admitir conexiones,
sean estas locales o remotas, así como también es
necesario dispones de las credenciales necesarias
para la conexión (distintos tipos de credenciales
permiten distintos tipos de accesos).
CONECTANDOSE
CON EL SERVIDOR
MySQL tiene el servidor mysqld el cual puede recibir
solicitudes de clientes locales o remotas en forma de
ficheros locales a la maquina en la que se esta ejecutando.
La conexión a un servidor remoto y un nombre de usuario
especifico requiere de al menos dos argumentos:
• -h (para especificar el nombre del servidor)
• -u (para el nombre de usuario)
SERVIDORES Y
CLIENTES
10. ACCESO A UN SERVIDOR MySQL
La administración y seguridad de MySQL esta diseñada
sobre un esquema de usuarios y privilegios; los usuarios
deben ser creados por el administrador con sus respectivos
privilegios y restricciones, es el administrador el que elige si
los nombres de usuario corresponden o no a los del
sistema operativo.
CONECTARSE Y
DESCONECTARSE
Con el comando help se obtienen una serie de
opciones.
Para salir del cliente simplemente debemos escribir ‘q’ o
‘quit’
Tanto para el comando quit como para help el punto y
como al final es opcional.
11. SENTENCIAS
SELECT
La instrucción SELECT se utiliza para
recuperar registros de una o mas tablas de
MySQL, permitiendo seleccionar cuales
campos se quieren incluir y excluir.
COMANDOS CON MULTIPLES LINEAS
Los comandos pueden expandirse en
varias líneas por comodidad, esto gracias
a que no se enviara la sentencia SQL al
servidor hasta que se encuentre el punto y
coma.
12. SENTENCIAS
COMANDOS CON MULTIPLES LINEAS
Podemos ver en la imagen anterior que el
indicador se transforma en ->, este signo
significa que el comando aun no esta
completo.
Indicadores en mysql:
CADENAS DE CARACTERES
Las cadenas de caracteres pueden
delimitarse entre comillas dobles o
simples, y se deben cerrarse con el mismo
delimitador con que sea han abierto, así
como también pueden escribirse en
diversas líneas.
13. SENTENCIAS
EXPRESIONES Y VARIABLES
MySQL dispone de variables de sesión,
variables únicamente durante la conexión
actual, las cuales pueden almacenarse de
tipo entero, flotante o cadenas pero no
tablas.
EXPRESIONES
Hay que tener cuidado con el uso de
variables locales por los motivos siguientes:
•Se evalúan en el servidor al ser enviadas
por el cliente.
•Se realizan conversiones de tipo implícitas.
Las variables no requieren declaración, por
lo tanto tienen el valor NULL por omisión lo
que significa “ausencia de valor”
14. SENTENCIAS
PROCESO POR LOTES
MySQL puede procesar por lotes las
sentencias contenidas en archivos, dichas
sentencias deberán terminar con “;”.
También se puede usar el comando source
para procesar un archivo. (demo.sql crea
una nueva BD )
Si se desea llevar un registro de todas las
operaciones de una sesión, se puede usar
la expresión tee de este modo se guardan
los comandos en archivo_registro.txt.
Para cancelar la captura basta con teclear
notee.
15. SENTENCIAS
USAR BASE DE DATOS
Show databases; nos muestra el listado de
las bases de datos definidas en el servidor,
para poder utilizar una base datos y trabajar
con ella debemos usar use demo;
Para crear una nueva base de datos
usamos la sentencia create database
Para eliminar una base de datos se usa la
sentencia drop database
16. CREACION DE TABLAS
CREAR TABLAS
La sentencia create table construye una nueva tabla en la base de datos.
Las tablas pueden eliminarse con drop table,
17. ATRIBUTOS DE COLUMNA
ATRIBUTOS SIGNIFICADO
null Se permiten valores nulos, atributo por omisión si no se especifica lo contrario
not null No se permiten valores nulos
default valor Valor por omisión que se asigna a la columna
auto_increment El valor se asigna automáticamente incrementado en uno el máximo valor registrado
hasta ahora. Se aplica solo a las columnas marcadas como clave primaria.
primary key Señala al campo como clave primaria, implícitamente también lo declara como not null
18. RESTRICCIONES DE TABLA
RESTRICCION SIGNIFICADO
primari key Define la o las columnas que servirán como clave
primaria.
Las columnas que forman parte de la clave primaria
deben de ser not null.
unique Define las columnas en las que no pueden duplicarse
valores.
Serán las claves candidatas del modelo racional.
foreing key (columna)
reference tabla (columna 2)
Define que los valores de columna permitirán solo si
existen en tabla (columna 2). Es decir, columna hace
referencia a los registros de tabla, esto asegura que
no se realicen referencias a registros que no existen.
19. TIPOS DE DATOS
NUMERICOS
NUMEROS ENTEROS
usigned : indica que el entero no podrá
almacenar valores negativos.
zerofill: indica que rellenara con ceros a la
izquierda los espacios vacíos.
NUMEROS FLOTANTES
22. MODIFICAR TABLAS
AGREGAR O ELIMINAR COLUMNAS
•La sentencia alter table perimte una amplia
forma de modificar una tabla.
•El formato alter table además de insertar
columnas antes (before) o después (after) de
una columna en cuestión.
•Las columnas no deseadas se eliminan con la
opción drop.
23. MODIFICAR TABLAS
MODIFICAR COLUMNAS
•Al utilizar la opción modify es similar a volver a
definirla.
•Para cambiar el nombre de la columna se
utiliza change
•Con el mismo comando de alter table se
puede realizar la odenacion física de una tabla
bajo una columna especifica
24. MODIFICAR TABLAS
COPIAR TABLAS
•Utilizando el comando de rename table es
posible copiar una base de datos a otra.
•Tambien se puede crear una tabla nueva con el
contenido de una ya existente
•Like es una sentencia similar pero no copia los
datos de la tabla origen
25. CONSULTAS
CONSULTAR INFORMACION
•Operadores lógicos: comparación.Aparte de
los estándares =,!=,<,>, IS NULL, IS NOT NULL,
BETWEN,IN,destacan COALESCE, INTERVAL,
LEAST,GREATEST para trabajar con listas de
valores.
•Control de flujo de ejecución:
CASE,..WHEN..THEN..END, Similar a la
estructura que crearíamos mediante cualquier
lenguaje de programación.
•Funciones para trabajar con cadenas de
caracteres:
CONCAT,INSTR (encontrar una cadena),
SUBTRING,LCASE/RCASE,
LENGTH,REPLACE,TRIM.
QUOTE: delimita una cadena de texto
correctamente para evitar problemas al usarla
en sentencias SQL.
ENCODE/DECODE,CRYPT,COMPRESS/UNCOMP
RESS,MD5,etc: son funciones que nos ayudan
en el almacenamiento de datos sensibles
como contraseñas.
26. CONSULTAS
CONSULTAR INFORMACION
•Funciones numéricas:
los operadores aritméticos clásicos para
realizar todo tipo de operaciones,
suma,resta,división, producto, división
entera,etc.
•Funciones matemáticas de todo tipo,
trigonometría, logarítmicas,etc.
•Funciones para trabajar con fechas y
horas:
obtención de fechas en cualquier
formato: DATE_FORMAT, DATE, NOW,
CURRDATE,etc.
Manipulación y cálculos de fechas:
ADDATE,ADDTIME,CONVERT_TZ,DATE_
DIFF,etc.
27. CONSULTAS
LA SENTENCIA EXPLAIN
Explain entrega el plan de ejecución de la
consulta, nos ayuda a entender como y
cuando MySQL utilizara índices, devolviendo
una tabla con datos de la que se identifican
mejoras potenciales a optimizar.
MANIPULACION DE FILAS
INSERT [DELAYED]. Cuando la sentencia insert
tarda mucho en devolver un resultado puede
utilizarse la palabara delayed para que MySQL
devuelva el control y realice la inserción en
segundo plano.
INSERT[[LOW_PRIORITY]|[HIGH_PRIORITY]].E
n tablas donde se quieren realizar consultas
constantes, uns inserccion lenta puede
bloquear a los clientes durante un tipo, con
tipos de modificadores se puede variar este
comportamiento.
28. CONSULTAS
MANIPULACION DE FILAS
INSERT[IGNORE]. Convierte los errores de inserción en avisos.
UPDATE[LOW_PRIORITY][IGNORE]. Se comportan de igual modo que la sentencia
INSERT
DELETE [QUICK]. Borra el/los registros sin actualizar los índices.
TRUNCATE. Es una forma mas rápida de borrar todos los registros de una tabla.
LAST_INSERT_ID(). Devuelve el ultimo identificador asignado a una columna de tipo
AUTO_INCREMENT después de una sentencia INSERT.
29. LA IMPORTANCIA DE LAS BASE
DE DATOS EN MySQL
Es muy importante hacer una gestión optima e inteligende de una BD integrada a una aplicación
o sitio web, de esto dependerá la protección de los datos y aplicaciones en desastres como
hackeo o la probable falla de servidores que alojan los proyectos.
La gestión de las bases de datos requiere de actividades como optimizarlas, al considerar estos
factores las servidores consumen menos recursos de la memoria RAM;los tipos de bases de
datos principales en el mercado son:
BASE DE DATOS DE RED
BASE DE DATOS TRANSACCIONALES
BASE DE DATOS MySQL O RELACIONALES.
30. LA IMPORTANCIA DE LAS BASE
DE DATOS EN MySQL
BASE DE DATOS DE RED
Compuesta por un sistema de registros
conectados mediante vínculos a una red,
expresa los registros en forma de nodos, no
restringe el tipo y la cantidad de arcos que se
pueden tener por lo tanto se puede modelar
estructuras de datos muy grandes.
La base de datos de la red emplea menos
tiempo en mantener registros , esto debido a
la eliminación de tablas redundantes, lo cual,
mejora la eficiencia y el rendimiento.
BASE DE DATOS TRANSACCIONALES
Caracterizadas por permitir hacer un gran
numero de transacciones cortas en línea, esto
reflejando un procesamiento de consultas
relativamente rapido.
Una ventaja es la flexibilidad, puede modificar
información deseada evitando la manipulación
de información que resulte sensible.
Otras ventajas son:
•Mejor capacidad
•Historial de datos
31. LA IMPORTANCIA DE LAS BASE
DE DATOS EN MySQL
BASE DE DATOS MYSQL O RELACIONALES
La mas utilizada actualmente, representa un registro de forma muy lógica y
entendible; las BD relacionales son un conjunto de tablas formadas por filas,
representando a un registro.
Los registros identifican cada uno de los objetos descritos en la tabla y los
campos los atributos.
Las tablas pueden compartir campos entre ellas, esta es la característica de las
relaciones, sirviendo para permitir consultas complejas.
32. BIBLIOGRAFIA
1. Casillas Santillan, L. A., Gilbert Ginesta, M., & Perez Mora, O. (s. f.). BASES DE DATOS EN MySQL. UOC|
formacion de posgrado. Recuperado 12 de junio de 2022, de
http://ual.dyndns.org/biblioteca/Bases%20de%20Datos%20Avanzado/Pdf/05%20Bases%20de%20da
tos%20en%20MySQL.pdf
2. MySQL: ¿Para qué sirve EXPLAIN en una consulta y cómo interpretar los resultados obtenidos? (2017,
7 marzo). Stack Overflow en español. https://es.stackoverflow.com/questions/53779/mysql-para-
qu%C3%A9-sirve-explain-en-una-consulta-y-c%C3%B3mo-interpretar-los-resultados
3. Tablado, F. (2020, 4 noviembre). Bases de datos MySQL. ¿Qué son? Ayuda Ley Protección Datos.
Recuperado 12 de junio de 2022, de https://ayudaleyprotecciondatos.es/bases-de-datos/mysql/
4. Unade, U. (2022, 24 enero). Importancia de la base de datos MySQL. Universidad Americana de
Europa. Recuperado 12 de junio de 2022, de https://unade.edu.mx/importancia-de-la-base-de-
datos-mysql/
5. Valdez, A. (2020, 14 mayo). MySQL: Sentencia Select. Hazlo Express. Recuperado 12 de junio de 2022,
de https://hazloexpress.com/sentencia-
select/#:%7E:text=Descripci%C3%B3n,campos%20queremos%20incluir%20y%20excluir.