Publicado el 4 de Abril del 2021
491 visualizaciones desde el 4 de Abril del 2021
109,8 KB
11 paginas
Capítulo 4
Base de Datos MySQL
4.1 MySQL
La base de datos que contiene información relativa al servicio de directorio se ha
realizado en lenguaje SQL utilizando concretamente el servidor de bases de datos que
ofrece MySQL.
La base de datos al completo es diseñada y gestionada mediante el gestor de
bases de datos que ofrece MySQL, pero las distintas consultas que deba realizar el
cliente serán llevadas a cabo por el servicio web.
Para llevar a cabo la consulta a la base de datos se ha utilizado el estándar JDBC
que ofrece conexión a bases de datos desde servidores realizados en lenguaje Java.
4.1.1 Características de mySQL
El estándar MySQL constituye la base de datos de software libre más popular
del mercado. Es desarrollada, distribuida y costeada por el grupo de empresas MySQL
AB, el cual fue fundado por los creadores de MySQL con el objetivo de perpetuar esta
base de datos.
MySQL es un sistema de gestión de base de datos que ofrece los mecanismos
para añadir, acceder y procesar los distintos datos almacenados en una base de datos.
MySQL ofrece una base de datos relacional en lenguaje SQL, la cual almacena
los datos en tablas de datos separadas almacenadas todas ellas en un mismo espacio de
almacenamiento. Este hecho ofrece unas buenas características de velocidad y
flexibilidad.
MySQL es software libre, lo cual significa que cualquiera puede hacer uso del
código fuente que constituye a MySQL para usarlo libremente o incluso modificarlo sin
restricciones.
Los motivos por los que MySQL se ha hecho tan popular, además de lo expuesto
anteriormente, residen en el hecho de que supone un Servidor de bases de datos cuyas
características de velocidad, fiabilidad y facilidad de uso son extremadamente atractivas
y competitivas respecto del resto de soluciones existentes en el mercado.
75
Capítulo 4: Base de Datos MySQL
El software de MySQL ofrece un modelo de cliente/servidor consistente en un
servidor SQL multihilo que es capaz de soportar diferentes clientes, librerías,
herramientas administrativas y APIs.
4.1.2 Funcionamiento de mySQL
Las capacidades de MySQL son extremadamente amplias, ya que este servidor
de bases de datos cuenta con un gran potencial de funcionamiento. El objetivo de este
punto es el de mostrar el uso de MySQL para crear y usar una sencilla base de datos.
MySQL ofrece un programa interactivo que permite conectarnos a un servidor MySQL,
ejecutar consultas y ver los resultados. Todas estas operaciones se pueden llevar a cabo
tanto desde línea de comando en un shell, como desde un programa front-end gráfico
que presente una interfaz gráfica de control.
Puesto que es imposible que se describan aquí en detalle muchas de las
características cubiertas por MySQL, nos centraremos sólo en aquellas de relevancia e
invitamos consultar el manual de MySQL para obtener más información al respecto de
funcionalidades específicas.
4.1.2.1
Para realizar la conexión con el servidor MySQL solamente es necesario
indicarle el nombre o la dirección IP del dicho servidor, el Login o nombre de usuario y
el password o clave. Así se teclearía en el shell:
shell> mysql -h NombreDelServidor -u NombreDeUsuario -p
Establecimiento de una conexión con el servidor MySQL
Tras esto se nos pedirá la contraseña para este nombre de usuario y si la
conexión al servidor MySQL se pudo establecer de manera satisfactoria recibiremos el
mensaje de bienvenida y estaremos en el prompt de mysql:
shell>mysql -h COFFEEBREAK -u root -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5563 to server version: 3.23.41
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
Este prompt indica que Mysql está listo para recibir comandos.
Después de que nos hemos conectado de manera satisfactoria, podemos
desconectarnos en cualquier momento al escribir "quit", "exit", o presionar
CONTROL+D.
76
Creación de una tabla
Capítulo 4: Base de Datos MySQL
4.1.2.2
Supongamos que nuestra base de datos está siendo utilizada por el propietario de
un pequeño café llamado "The Coffee Break", donde los granos de café se venden por
kilos y el café líquido se vende por tazas.
Supondremos que el sólo se necesitan dos tablas, una para los tipos de café y
otra para los suministradores.
Lo primero que vamos a hacer es crear las tablas de la base de datos:
La primera de las tablas es COFFEES, que contiene la información esencial
sobre los cafés vendidos, esta tabla incluye: los nombres de los cafés, sus precios, el
número de euros vendidos la semana actual y el número de euros vendidos hasta la
fecha. Esta tabla sería:
SUP_ID PRICE SALES TOTAL
COF_NAME
101
Colombian
49
French_Roast
150
Espresso
Colombian_Decaf
101
French_Roast_Decaf 49
7.99
8.99
9.99
8.99
9.99
0
0
0
0
0
0
0
0
0
0
La columna que almacena el nombre del café es COF_NAME, y contiene valores
con el tipo VARCHAR y una longitud máxima de 32 caracteres, este campo será único
para cada tipo de café por lo que puede servir como clave primaria. La segunda columna
es SUP_ID que contiene un número que identifica al suministrador del café y es de tipo
INTEGER. La tercera columna, llamada PRICE, almacena valores del tipo FLOAT. La
columna SALES almacena valores de tipo INTEGER e indica el número de euros
vendidos durante la semana actual, y por último, la columna final de nombre TOTAL
contiene un INTEGER que contiene el número total de euros vendidos hasta la fecha.
Para crear esta tabla, tecleamos en el shell:
mysql> CREATE TABLE COFFEES (
-> COF_NAME VARCHAR(32), SUP_ID INTEGER,
-> PRICE FLOAT, SALES INTEGER,
-> TOTAL INTEGER);
Query OK, 0 rows affected (0.02 sec)
mysql>
La segunda tabla SUPPLIERS tiene información sobre cada uno de los
suministradores, se crearía exactamente igual que la anterior, pero con la siguiente
estructura:
77
Capítulo 4: Base de Datos MySQL
SUP_ID SUP_NAME
101
49
150
Acme, Inc.
Superior Coffee
The High Ground 100 Coffee Lane Meadows
STREET
99 Market Street Groundsville CA
Mendocino CA
1 Party Place
CA
STATE ZIP
95199
95460
93966
CITY
La columna SUP_ID es la clave primaria de la tabla SUPPLIERS por lo que es
un identificador único para cada uno de los suministradores de café. En la tabla
COFFEES esta columna es la clave externa.
4.1.2.3
Para introducir datos en una tabla lo haremos fila a fila, suministrando la
información a almacenar en cada columna de la fila. Los valores insertados en las
columnas se listarán en el mismo orden en que se declararon las columnas cuando se
creó la tabla, que es el orden por defecto.
Introducción de datos en una tabla
Para ver un ejemplo vamos a insertar una fila de datos con Colombian en la columna
COF_NAME, 101 en SUP_ID, 7.99 en PRICE, 0 en SALES, y 0 en TOTAL:
mysql> INSERT INTO COFFEES
-> VALUES ('Colombian', 101, 7.99, 0, 0);
4.1.2.4
Para obtener los datos de una tabla, ya sea toda la tabla completa o bien una
parte tenemos que realizar una sentencia SELECT que nos de los valores que queremos.
Obtención de datos de una tabla
Si queremos obtener toda la tabla COFFEES completa tendríamos que teclear en
En cambio si queremos obtener una lista de cafés y sus respectivos precios,
el shell:
mysql> SELECT * FROM COFFEES;
ejecutaríamos:
mysql> SELECT COF_NAME, PRICE FROM COFFEES;
Su resultado sería:
+--------------------------------+----------+
| COF_NAME | PRICE |
+--------------------------------+----------+
| Colombian | 7.99 |
| French_Roast | 8.99 |
| Espresso | 9.99 |
| Colombian_Decaf | 8.99 |
| French_Roast_Decaf | 9.99 |
+--------------------------------+----------+
5 rows in set (0.00 sec)
78
Capítulo 4: Base de Datos MySQL
Si ahora quisiésemos obtener los nombres y precios de todos los cafés de la tabla
Borrado en una tabla
Actualización de tablas
Donde se han eliminado de la tabla COFFEES todos los valores de la columna
limitándonos a aquellos cafés que cuesten menos de 9.00 euros, ejecutaríamos:
mysql> SELECT COF_NAME, PRICE
-> FROM COFFEES
-> WHERE PRICE < 9.00;
4.1.2.5
Si quisiésemos borrar alguna columna de una tabla, alguna fila al completo o
incluso una tabla entera usaríamos la instrucción DELETE de SQL con o sin sentencia
WHERE, según sea el caso. Así un ejemplo sería:
mysql> DELETE SALES FROM COFFEES
-> WHERE PRICE < 9.00;
SALES en aquellas filas en las que PRICE es menor de 9 euros.
4.1.2.6
Si por ejemplo queremos realizar una actualización de la columna SALES de la
tabla COFFEES introduciendo el número de euros vendidos de cada tipo de café,
ejecutaríamos la siguiente instrucción:
mysql> UPDATE COFFEES
-> SET SALES = 75
-> WHERE COF_NAME LIKE 'Colombian';
4.1.2.7 Ordenación de registros en una tabla
En los ejemplos anteriores las filas devueltas son mostradas sin ningún orden en
particular. Para ordenar los resultados tenemos que usar la cláusula ORDER BY. Así si
queremos ordenar algunos datos según el precio, haríamos:
mysql> SELECT COF_NAME, PRICE
-> FROM COFFEES
-> ORDER BY PRICE;
La salida será:
+----------------------------+----------+
| COF_NAME | PRICE |
+----------------------------+----------+
| Colombian
Comentarios de: 4.1 Mysql (0)
No hay comentarios