Está en la página 1de 19

SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS

ADMINISTRACIÓN DE BASE DE DATOS

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:

• Implementar la gestión de bases de datos


mediante el lenguaje MySQL.

IACC
2
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS

APRENDIZAJE ESPERADO ................................................................................................................ 2


INTRODUCCIÓN ............................................................................................................................. 4
1. MYSQL ................................................................................................................................... 5
1.1 INSTALACIÓN .................................................................................................................. 5
1.1.1 MYSQL COMMUNITY SERVER .................................................................................. 6
1.1.2 MYSQL WORKBENCH............................................................................................... 8
1.2 CREACIÓN DE USUARIOS................................................................................................. 9
1.2.1 PERMISOLOGÍA ..................................................................................................... 10
1.2.2 PERFILES ............................................................................................................... 10
1.2.3 MANTENIMIENTO ................................................................................................. 11
1.3 DISEÑO DE BASES DE DATOS ......................................................................................... 12
1.3.1 MODELO ENTIDAD-RELACIÓN ............................................................................... 12
2. TABLAS ................................................................................................................................. 14
2.1. REGISTRO ......................................................................................................................... 14
2.2. ÍNDICES ............................................................................................................................ 14
2.3. CREACIÓN DE RELACIONES ............................................................................................... 15
2.4. ACTUALIZACIÓN DE REGISTROS ........................................................................................ 15
2.4.1. INSTRUCCIÓN UPDATE .......................................................................................... 15
2.4.2. INSTRUCCIÓN DELETE ........................................................................................... 16
3. VISTAS EN MYSQL ................................................................................................................. 16
COMENTARIO FINAL..................................................................................................................... 17
REFERENCIAS ............................................................................................................................... 18

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:

• Establecer si MySQL puede ser ejecutado bajo la plataforma tecnológica actualmente


utilizada. Aun cuando la mayoría de las plataformas actualmente disponibles en el
mercado soportan esta aplicación, es necesario corroborar su compatibilidad para
evitar posteriores errores durante el proceso de instalación.
• Una vez corroborado el paso anterior y asegurado el funcionamiento de MySQL bajo la
plataforma actual, se requiere establecer si la misma cuenta con el respaldo y soporte
tecnológico de la empresa Oracle Corporation, actual dueña del producto. Este paso
reviste gran importancia ya que asegura que de presentarse algún inconveniente con
la aplicación se contará con el soporte oportuno y adecuado.
• Decidir cuál distribución de MySQL se desea instalar, ya que el mismo se ofrece en
diferentes versiones y distribuciones. En relación a la distribución deseada existen dos
posibilidades: la distribución preempaquetada en modo binario o la distribución en
código abierto u Open Source, la cual ofrece acceso al código de la aplicación para
aquellos usuarios expertos que desean realizar el desarrollo de funciones adicionales.
• Descargar la distribución que ha sido seleccionada, para lo cual siempre es
recomendable utilizar los enlaces o links de descarga ofrecidos por Oracle Corporation,
para garantizar la integridad de la aplicación y el resguardo del sistema computacional.
• Ejecutar el programa de instalación descargado y seguir las instrucciones que se
proporcionan. Estas instrucciones pueden presentar cierta variación dependiendo de
factores como el sistema operativo sobre el cual se desea instalar MySQL. La siguiente
figura muestra la página oficial de MySQL desde donde es posible descargar la
aplicación de forma segura, garantizada y libre de cualquier tipo de virus informático
que pueda amenazar la integridad del sistema.

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:

Descargar MySQL Community Server


Fuente: https://dev.mysql.com/downloads/mysql/

1.1.1 MYSQL COMMUNITY SERVER


MySQL Community Server o Communiy Edition es la versión descargable de manera libre de
MySQL destinada al uso de pequeños y medianos usuarios que no poseen una gran estructura
computacional. Está soportada bajo licencia para el público general o General Public License (GPL),

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:

Descargar MySQL Community Server


Fuente: https://dev.mysql.com/downloads/mysql/

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

Selección del sistema operativo


Fuente: https://dev.mysql.com/downloads/mysql/

1.1.2 MYSQL WORKBENCH


MySQL Workbench es una herramienta unificada, la que ha sido desarrollada con una interface
gráfica muy intuitiva y amigable que facilita las actividades del personal relacionado con la gestión
de las bases de datos. Entre sus diversas herramientas se encuentran el modelado de datos,
desarrollo de consultas utilizando comandos SQL y las funciones administrativas que un DBA
(DataBaseAdministrator) debe realizar como respaldo, recuperación y seguridad de los datos.

Interfase gráfica MySQL Wokbench


Fuente: https://dev.mysql.com/doc/workbench/en/wb-what-is-new-60.html

En relación con el modelado de datos, MySQL Workbench facilita a un DBA, desarrolladores o


arquitectos de datos diseñar, modelar, generar y administrar bases de datos visualmente, ya que
cuenta con todas las herramientas que un modelador de datos requiere crear modelos complejos

IACC
8
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS

basados en el modelo entidad-relación. Asimismo, MySQL Workbench cuenta con herramientas


visuales para crear, ejecutar y optimizar la generación de consultas SQL.

El editor de SQL proporciona resaltado de sintaxis de color, autocompletado, reutilización de


fragmentos de código SQL e historial de ejecución de SQL. El panel de conexiones de la base de
datos permite a los desarrolladores administrar fácilmente las conexiones estándar de la base de
datos.

Modelo de reporte
Fuente: https://www.mysql.com/it/products/workbench/design/

1.2 CREACIÓN DE USUARIOS


Se pueden utilizar diferentes maneras para crear un nuevo usuario en MySQL, pero todas ellas
requieren de una conexión al servidor mediante una cuenta de súper usuario o una cuenta de
administración con los privilegios necesarios. Una vez establecida la conexión se crea el usuario
asignándole un nombre y una contraseña, valores que quedarán registrados en la tabla de
usuarios en la base de datos MySQL, que contiene los detalles de inicio de sesión de todas las
personas que tienen algún nivel de acceso a la base de datos.

El comando a utilizar para este fin y su sintaxis es el siguiente:

CREATE USER nombre del usuario IDENTIFIED BY PASSWORD 'contraseña’;

IACC
9
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS

Ejemplo: se desea crear el usuario supervisor y asignarle la contraseña sp08*3, el comando a


ejecutar sería el siguiente:

CREATE USER supervisor INDENTIFIED BY PASSWORD ‘sp08*3’;

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:

GRANT permisos ON nombre de la base de datos TO ‘usuario’;

Existe la posibilidad de asignar permisos particulares a un usuario o, por el contrario, asignarle


acceso completo a la base de datos. Los ejemplos siguientes muestran estos dos escenarios:

Ejemplo 1: GRANT INSERT, UPDATE ON EMPLEADOS TO ‘supervisor;

En este ejemplo el usuario supervisor solo puede agregar y actualizar registros en la base de datos.

Ejemplo 2: GRANT ALL ON empleados TO ‘usuario’;

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.

Mantenimiento con MySQL


Fuente: http://www.mysqltutorial.org/mysql-database-table-maintenance-statements.aspx

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:

OPTIMIZE nombre de la tabla;

Ejemplo: OPTIMIZE EMPLEADOS;

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:

CHECK TABLE nombre de la tabla;

Ejemplo: CHECK TABLE EMPLEADOS;

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

1.3 DISEÑO DE BASES DE DATOS


Realizar un buen diseño de las estructuras de datos a utilizar garantizará un mejor desempeño del
DBMS seleccionado, así como una mejor ejecución de las aplicaciones que deban acceder a la base
de datos.

1.3.1 MODELO ENTIDAD-RELACIÓN


Representar las relaciones existentes entre las estructuras de datos se ha convertido en una gran
ayuda para los modeladores de las mismas, ya que almacenan información sobre distintos objetos
o entidades y las asociaciones o relaciones entre ellas. Un enfoque muy utilizado para este fin
utiliza el modelo de relación de entidad (ER), que ayuda a transformar los requisitos en una
descripción formal de las entidades y relaciones que aparecen en la base de datos.

Un modelo entidad-relación se construye de manera gráfica mediante el uso de símbolos como


rectángulos, óvalos y líneas, los que son utilizados para representar las entidades presentes en un
proceso, sus características y las relaciones existentes entre ellas.

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.

• Atributos: Representan las características o propiedades que describen una entidad y


la hacen única y, por lo tanto, es posible identificarla de manera inequívoca. Aun
cuando es posible que dos o más entidades compartan un mismo atributo, resulta
imposible que esas mismas entidades compartan todos sus atributos.

• Relaciones: Determinan el tipo de asociación existente entre las entidades. Estas se


representan mediante una relación matemática aun cuando también pueden ser
nombradas. Independientemente de su tipo, las relaciones se representan mediante el
uso de rombos y líneas.

Símbolos usados en un 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

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);

Ejemplo: CREATE TABLE Empleados (Nombre varchar(50), identificación int AUTOINCREMENT


PRIMARY KEY (identificación) );

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:

INSERT INTO nombre de la tabla (columna1,columna2,..columnan) VALUES (valor,valor2,valorn);

Ejemplo: INSERT INTO Empleados (Nombre,Apellido,Salario) VALUES (‘John’,’Smith’,650000);

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

CREATE INDEX nombre del índice ON nombre de la tabla(nombre de la columna);

Ejemplo: CREATE INDEX identidad ON Empleados(Id_Empleado);

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.

2.3. CREACIÓN DE RELACIONES


Para establecer relaciones entre dos o más tablas, MySQL cuenta con el comando JOIN, el cual
soporta los siguientes tipos: CROSS JOIN, INNER JOIN, LEFT JOIN y RIGHT JOIN. Las cláusulas JOIN
se utilizan en combinación con la cláusula SELECT para combinar columnas provenientes de dos o
más tablas en las cuales está presente por lo menos una columna en común. La sintáxis del
comando es la siguiente:

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);

Ejemplo: SELECT Id_Empleado, Nombre, Apellido, Contacto.Telefono FROM Empleados INNER


JOIN Contacto ON Empleados.Id_Empleado=Contacto.Id_Empleado;

Resultado del comando:

2.4. ACTUALIZACIÓN DE REGISTROS


Una vez creadas las tablas e introducidos los datos en las columnas correspondientes es posible
modificar los mismos o eliminarlos de manera permanente utilizando los comandos UPDATE o
DELETE, cuya sintaxis se nuestra a continuación.

2.4.1. INSTRUCCIÓN UPDATE


La sintaxis de esta instrucción es la siguiente:

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

Ejemplo: UPDATE Empleados SET Nombre = ‘John’ WHERE Nombre = ‘Jhon’;

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.

Ejemplo: UPDATE Empleados SET Nombre = ‘John’ ;

En este caso todos los registros contendrán el nombre John.

2.4.2. INSTRUCCIÓN DELETE


La sintaxis de esta instrucción es la siguiente:

DELETE FROM nombre de la tabla WHERE condición;

Ejemplo: DELELE FROM Empleados WHERE Salario<= 150000;

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.

Ejemplo: DELETE FROM Empleados;

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:

CREATE VIEW nombre de la vista AS SELECT condición;

Ejemplo: CREAT VIEW Temporal_Empleados AS SELECT Nombre, Apellido, Salario FROM


Empleados WHERE Salario >= 400000;

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.

Para ejercitar en los temas revisados en la semana, se sugiere ver el


siguiente link:

http://www.academia.edu/20198718/EJERCICIO_DE_TABLAS_Y_CO
NSULTAS_EN_MySQL

Las instrucciones o comandos de MySQL deben finalizar en un


punto y coma.

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.

PARA REFERENCIAR ESTE DOCUMENTO, CONSIDERE:

IACC (2019). Administradores de bases de datos-MySQL I. Administración de Base

de datos. Semana 7.

IACC
18
SEMANA 7 – ADMINISTRACIÓN DE BASE DE DATOS

IACC
19

También podría gustarte