Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SEMANA 7
Administradores de bases de
datos – MySQL I
IACC
1
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS
APRENDIZAJE ESPERADO
El estudiante será capaz de:
IACC
2
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS
IACC
3
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS
INTRODUCCIÓN
La importancia de SQL como lenguaje para derechos de autor, aunque solo 5 años más
el manejo y control de bases de datos ha tarde se apegó a la teoría del código abierto
llevado a la aparición de diferentes u Open Source, por lo cual cientos de
versiones, cada una de ellas con sus colaboradores se dedicaron a mejorar su
características particulares, pero funcionabilidad y eficiencia.
conservando una total compatibilidad con el
De esta forma MySQL adquirió una mayor
entorno SQL original.
fortaleza, lo que incluyó soporte para los
Tal es el caso de MySQL, desarrollado a diversos sistemas operativos existentes,
mediados del año 1995 con la intención de tales como Unix y Linux. Esto, aunado a su
proporcionar una herramienta para la gran velocidad de procesamiento, ha hecho
gestión de bases de datos para usuarios de MySQL una de las plataformas preferidas
profesionales y aplicaciones de mediana por los usuarios en la actualidad.
envergadura que no contaban con acceso a
las grandes plataformas tecnológicas
existentes para la época.
Originalmente, MySQL fue desarrollado
como software propietario, es decir, sujeto a
IACC
4
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS
1. MYSQL
El concepto bajo el cual MySQL fue desarrollado nunca estuvo orientado a la creación de una gran
plataforma para el manejo de bases de datos; por el contrario, su objetivo era conseguir resolver
ciertos problemas puntuales dentro de los sistemas de gestión de bases de datos existentes para
el momento de su aparición en el mercado tecnológico.
No obstante, el código de MySQL fue escrito de una manera tan eficiente y tomando en cuenta
todos los aspectos relacionados con la teoría de bases de datos que en muy poco tiempo fue
posible extrapolar su funcionabilidad hasta el punto de convertirse en el DBMS preferido por la
mayoría de usuarios de sistemas computacionales de mediana envergadura.
1.1 INSTALACIÓN
El proceso de instalación de MySQL difiere un poco dependiendo de ciertos aspectos que se deben
de tomar en cuenta, entre los que se destacan:
IACC
5
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS
Descargas MySQL
Fuente: https://www.mysql.com/downloads/
Desde esta página es posible seleccionar la distribución deseada al igual que el tipo y versión sobre
la cual se ejecutará, como se muestra en la siguiente figura:
IACC
6
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS
por lo cual su código es de libre acceso, lo que ha dado origen a que sea soportada por una
inmensa comunidad de colaboradores, en su mayoría programadores expertos.
Dada la característica de ser suministrado bajo la GPL existen ciertas limitaciones en cuanto a su
alcance si se compara con la distribución MySQL Enterprise Edition, que se provee bajo una
licencia propietaria de Oracle Corporation e incluye funciones adicionales orientadas al ámbito
empresarial.
La siguiente figura muestra la página desde la cual se puede descargar MySQL Community Server:
De la misma manera que la distribución general de MySQL, MySQl Community Server puede ser
ejecutado bajo diferentes plataformas, por lo cual resulta vital descargar la diseñada para el
sistema operativo sobre el cual se desea ejecutar. En la siguiente gráfica se muestra cómo
seleccionar este parámetro al momento de realizar la descarga de la aplicación.
IACC
7
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS
IACC
8
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS
Modelo de reporte
Fuente: https://www.mysql.com/it/products/workbench/design/
IACC
9
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS
1.2.1 PERMISOLOGÍA
Una vez creado un usuario se debe proceder a asignarle los permisos con los cuales contará al
momento de acceder a la base de datos. Es necesario tener en cuenta que solo deben asignarse
aquellos recursos requeridos para evitar poner en riesgo la seguridad de los datos. En este caso, el
comando a utilizar y su sintaxis es el siguiente:
En este ejemplo el usuario supervisor solo puede agregar y actualizar registros en la base de datos.
En este caso el usuario supervisor podrá realizar cualquier tipo de operación sobre la base de
datos EMPLEADOS.
1.2.2 PERFILES
El proceso de definir el perfil adecuado para los usuarios reviste gran importancia dentro de la
gestión del sistema de bases de datos. Un perfil deficiente en cuanto a los privilegios otorgados a
un usuario indudablemente repercutirá en una limitada, y tal vez nula, posibilidad para ejecutar
sus funciones. Por el contrario, garantizar privilegios más allá de los necesarios puede poner en
riesgo la seguridad de los datos, al permitir que un usuario ejecute operaciones como el borrado o
actualización de los mismos.
Es por ello que el DBA debe exigir una definición clara y específica de las labores desarrolladas por
los diversos usuarios que de una u otra manera deben acceder a los datos almacenados y, en base
a ello, establecer los permisos adecuados al momento de su creación.
IACC
10
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS
1.2.3 MANTENIMIENTO
MySQL cuenta con un grupo de herramientas que permiten mantener las tablas de la base de
datos de manera fácil y efectiva. Las mismas hacen posible analizar, optimizar, verificar y reparar
tablas de bases de datos.
Dependiendo del número de transacciones que se ejecutan sobre la base de datos, esta sufrirá un
proceso de fragmentación del espacio sobre el cual está almacenada. MySQL proporciona un
comando para la optimización de las tablas y así minimizar este problema. La sintaxis de este
comando es la siguiente:
De la misma manera MySQL cuenta con el comando CHECK TABLE, el cual se utiliza para verificar la
integridad de las tablas, la que puede verse afectada por una situación irregular como el incorrecto
funcionamiento del servidor. Su sintaxis es la siguiente:
En el mismo orden de ideas, MySQL dispone de un optimizador de consultas, el cual crea un plan
de ejecución de consultas óptimo. Para una consulta en particular, el optimizador de consultas
utiliza la distribución de claves almacenada y otros factores para decidir el orden en el que se
deben unir las tablas al realizar la unión, y qué índice se debe usar para una tabla específica.
IACC
11
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS
Modelo Entidad-Relación
Fuente: https://sites.google.com/site/ticsyfinanzasjs21/diseno-de-bases-de-datos-relacionales/modelo-entidad-
relacion?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%2F&showPrintDialog=1
• Objetos: Son cualquier elemento, cosa o persona del mundo real que existe de
manera independiente, esto quiere decir que se pueden definir características que lo
hacen único y, por lo tanto, diferente de otro objeto, aun cuando pertenezcan a la
misma categoría o clase. En el ámbito de los sistemas de información, y
particularmente dentro de la teoría de las bases de datos, las entidades están
representadas por las tablas.
IACC
12
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS
Las entidades u objetos pueden o no tener presencia física, como por ejemplo un
edificio, aunque también pueden representar un ente de forma conceptual, como la
descripción de un puesto de trabajo.
Las relaciones llevan asociado el concepto de cardinalidad, el cual representa el número de veces
que una entidad puede relacionarse con otra entidad o entidades. El tipo de relación entre las
entidades se define con base al valor máximo de la cardinalidad.
IACC
13
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS
2. TABLAS
Dentro de la teoría de base de datos relacionales las tablas desempeñan un papel fundamental, ya
que son las estructuras donde se almacenan todos los datos en una base de datos. Sin la existencia
de tablas resultaría impensable el concepto de bases de datos relacionales. Para la creación de
tablas se deben considerar ciertos aspectos, como la cantidad, el número de columnas que cada
una de ellas contendrá y el tipo de dato a almacenar en cada una de esas columnas.
La creación de tablas en MySQL se logra mediante la implementación del comando CREATE TABLE,
cuya sintaxis se muestra a continuación:
CREATE TABLE IF NOT EXISTS nombre de la tabla (nombre columna1 tipo de datos, nombre
columna2 tipo de dato);
En el ejemplo anterior se crea la tabla Empleados la cual contiene las columnas Nombre e
identificación, esta última se define como clave principal; y, adicionalmente, es un número entero
auto incrementado, lo cual quiere decir que al ingresar un nuevo registro a la tabla, el valor de
esta columna es obtenido sumando 1 al valor de la misma columna en el último registro ingresado.
2.1. REGISTRO
Un registro dentro de una tabla está conformado por una instancia de cada una de las columnas
que componen la tabla. Para insertar un nuevo registro en una tabla se debe utilizar el comando
de MySQL INSERT INTO , cuya sintaxis es la siguiente:
Los valores de tipo carácter deben ser ingresados entre comillas sencillas o dobles.
2.2. ÍNDICES
La creación de índices permite llevar a cabo búsquedas más rápidas y eficiente en las tablas. Para
indexar una tabla utilizando MySQL se utiliza el comando CREATE INDEX, cuya sintaxis es la
siguiente:
IACC
14
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS
La ejecución de este comando creará un archivo índice llamado identidad en la tabla Empleados
utilizando la columna Id_Empleado como campo de indexación.
SELECT nombre de columna(s) FROM nombre tabla1 INNER JOIN nombre tabla2 ON nombre
tabla1.nombre de columna(s)=nombre tabla2.nombre de columna(s);
UPDATE nombre de la tabla SET nombre de la columna = Nuevo valor WHERE condición;
IACC
15
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS
En este caso, la columna Nombre contiene como dato la palabra Jhon y será cambiada por la
palabra John. Al igual que con el comando DELETE, la omisión de la cláusula WHERE ocasionaría
que todas las columnas mencionadas sean actualizadas en la tabla.
En este ejemplo se eliminarán todos los registros de la tabla Empleados cuyo salario sea menor o
igual a 150000. Es necesario ser muy cuidadoso al utilizar la cláusula WHERE en conjunto con el
comando DELETE, ya que su omisión elimina todos los registros de la tabla.
3. VISTAS EN MYSQL
Las vistas son estructuras a las cuales también se les referencia como tablas virtuales, las cuales
resultan de mucha utilidad ya que, como cualquier tabla, pueden ser utilizadas para realizar
consultas de los datos. La diferencia fundamental entre una vista y una tabla es que las vistas son
creadas de manera temporal y una vez utilizadas son eliminadas, por lo cual no disminuyen el
espacio de almacenamiento del cual se dispone en el sistema computacional. MySQL cuenta con el
comando CREATE VIEW para este fin, y su sintaxis es la siguiente:
En este caso se creará la vista Temporal_Empleados que contendrá las columnas Nombre, Apellido
y Salario obtenidas desde la tabla Empleados, cuyos registros contengan un valor igual o mayor a
IACC
16
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS
400000 en la columna Salario. Es necesario resaltar que al crear vistas se pueden utilizar todas las
condiciones soportadas por la cláusula SELECT.
COMENTARIO FINAL
MySQL se ha convertido en la versión más difundida y utilizada de SQL para el manejo de bases de
datos dada su sencillez, efectividad y facilidad de uso. Estas características se potencian al
disponer de una herramienta como Workbench, la cual hace posible la realización de cualquier
tipo de consulta a través de un entorno gráfico muy amigable e intuitivo.
Asimismo, MySQL es totalmente compatible con las estructuras básicas de SQL y aunque ofrece
extensiones y mejoras de las mismas, dicha compatibilidad permite realizar migraciones de una
plataforma a la otra de manera muy sencilla.
Estas características han hecho de MySQL el lenguaje preferido para el manejo y gestión de los
sistemas de bases de datos de mediana envergadura, lo cual ha generado que hoy día existan
grandes grupos de usuarios que ofrecen soporte.
http://www.academia.edu/20198718/EJERCICIO_DE_TABLAS_Y_CO
NSULTAS_EN_MySQL
IACC
17
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS
REFERENCIAS
Shuwartz, B. (2009). MySQL avanzado. 3.ª edición. Monterrey: Grupo Araya Comercial.
Beaulieu, A. (2009). Aprende SQL. 2.ª edición. España: Editorial Anaya Multimedia.
de datos. Semana 7.
IACC
18
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS
IACC
19