El documento presenta una guía sobre el uso de MySQL para administrar una base de datos de ventas. Explica cómo normalizar una tabla original en varias tablas más pequeñas siguiendo las formas normales, incluyendo tablas para clientes, artículos, órdenes y artículos por orden. Luego crea la base de datos en MySQL e inserta registros en la tabla de artículos usando comandos como INSERT, SELECT, UPDATE y DELETE. Finalmente resume los principales comandos SQL vistos en la guía.
Factores que intervienen en la Administración por Valores.pdf
Guia basica de MySQL 2
1. Guía de MySQL #2
Para este caso vamos a utilizar las tablas que normalizamos en la práctica
anterior.
La tabla original era
Id_orden Fecha Id_cliente Nom_cliente Ciudad Num_art nom_art cant Precio
2301 23/02/19 101 Martín Caracas 3786 Red 3 35,00
2301 23/02/19 101 Martín Caracas 4011 Raqueta 6 65,00
2301 23/02/19 101 Martín Caracas 9132 Paq-3 8 4,75
2302 25/02/19 107 Germán Coro 5794 Paq-6 4 5,00
2303 27/02/19 110 Pedro Maracay 4011 Raqueta 2 65,00
2303 27/02/19 110 Pedro Maracay 3141 Funda 2 10,00
Al aplicar las 3 formas normales, nos quedarían al menos cuatro (4) tablas,
a saber:
• Clientes (id_cliente, nom_cliente, ciudad)
• Artículos (num_art, nom_art, precio)
• Ordenes (id_orden, fecha, id_cliente)
• Articulos_ordenes (id_orden, num_art, cant)
Pudiéramos pensar inclusive en una tabla aparte para las Ciudades y
colocar un código de ciudad en la tabla Clientes para relacionarlas, pero eso lo
haremos más adelante. Comparen este resultado con el que ustedes obtuvieron
en la práctica de normalización.
Vamos a crear una BD en MySQL denominada ventas donde agruparemos
estas tablas y comenzaremos la inserción de registros en las mismas, todo ello a
través de la consola.
Ejecutemos una ventana cmd e ingresemos a la consola como vimos en la
guía anterior, recordando el comando mysql –u root –p. No olvides levantar el
servicio MySQL antes, con el xampp o el wamp.
2. Tipeemos el comando create database ventas; y presionamos <Intro>:
Ahora introducimos el comando use ventas;
Con esto le hemos dicho al
motor del programa que vamos a
efectuar las siguientes operaciones
sobre esa base de datos, que obviamente está vacía en este momento.
Ese comando nos muestra las tablas que están contenidas dentro de la BD
ventas. Una acotación importante aquí es que todo se maneja en minúsculas
dentro de la consola; fuera de ella, los nombres de las tablas y los campos dentro
de ellas se seguirán manejando en minúsculas, pero los comandos usualmente se
escriben en MAYÚSCULAS por norma general SQL, aunque en minúscula
funcionarían igualmente.
Observemos la tabla artículos un momento:
En esta tenemos 3 campos, que son
los encabezados de cada columna; las
tablas las podemos visualizar como si
fueran tablas de Excel, donde las columnas
vienen siendo los campos y las filas los
registros. Un registro es el conjunto de datos del mismo individuo u objeto dentro
num_art nom_art precio
3786 Red 35,00
4011 Raqueta 65,00
9132 Paq-3 4,75
5794 Paq-6 5,00
3141 Funda 10,00
3. de la tabla; un manejador de BD relacionales (RDBMS en inglés) en realidad es un
gran administrador de registros. Un campo viene siendo un atributo o cualidad de
dicho individuo u objeto dentro de la tabla.
Cada campo también tiene sus propiedades, como el tipo de dato que
almacena, es parecido a los tipos de datos de las variables en programación.
Podemos ver que el campo num_art es de tipo numérico, con un ancho de al
menos 4 dígitos; el campo nom_art es de tipo carácter, con un ancho que
podemos considerar variable (algunos nombres son más largos que otros) y el
precio también es numérico pero con posibilidad de guardar decimales también
(algo así como un float en lenguaje C). Con esto en mente, crearemos la tabla
artículos (sin el acento en la i).
Para verificar, observemos la estructura de la BD con show tables;
Ahora veamos la estructura de
la tabla artículos, con el comando
describe articulos;
Observa la disposición de las
columnas de la tabla que aparece
después de ejecutar el comando.
La columna Null significa que el campo puede aceptar valores nulos, o sea
puede quedar vacío; en ocasiones esto no es lo deseado, por ejemplo un campo
clave o nombre de artículo no deben quedar así, Mucho menos la columna
4. Default, que indica que el campo tiene como valor por defecto NULL, o sea vacío.
Esto lo cambiaremos cuando veamos cómo usar HeidiSQL.
Ahora vamos a insertar algunos valores de un registro en la tabla articulos,
siguiendo el modelo de la tabla que tenemos, con el siguiente comando:
insert into articulos (num_art,nom_art,precio) values (3786,’red’,35);
Ya tenemos un producto insertado en la tabla. Para revisarlo ingresamos el
comando select * from articulos;
y aparece el artículo ingresado.
Observen que los decimales están a pesar
que ingresamos un valor entero. Observen
también que el valor para el nombre va
encerrado entre apóstrofes porque es un campo de caracteres.
Ahora vamos a ingresar el resto de registros en la tabla:
insert into articulos (num_art,nom_art,precio) values
(4011,’raqueta’,65),(9132,’paq-3’,4.75),(5794,’paq-6’,5),(3141,’funda’,10);
Usemos el comando select para revisar el contenido de la tabla (con la
flecha hacia arriba del teclado van apareciendo los últimos comandos ingresados;
busca el del select):
5. Ahora ya tenemos 5 registros insertados en la tabla articulos.
¿Qué tal si solamente queremos consultar los datos de un artículo en
particular? Por ejemplo, si conocemos el número de artículo que viene siendo una
especie de código para el mismo, ya que no se repite.
Entonces el comando select tiene una cláusula que nos permite filtrar la
consulta:
select * from articulos where num_art=9132;
Podemos probar con cualquiera de los valores de los otros campos,
obteniendo resultados similares.
Supongamos ahora que el precio de la funda aumentó 3,55; entonces
ingresamos algo como
update articulos set precio=precio+4.75 where nom_art=’funda’;
Ahora hagamos un select sobre el registro modificado:
select * from articulos where nom_art=’funda’;
Si tuviéramos más de
un artículo con ese nombre,
saldría en el reporte del
select. Si queremos obtener
un solo registro, es mejor utilizar en la consulta un campo unívoco como el número
de artículo.
6. Insertemos ahora un nuevo artículo en la tabla:
insert into articulos values (9999,’zapatos’,45.95);
Ahora ingresemos el select global para ver todos los registros de la tabla:
Pero resulta que los zapatos esos no había que incorporarlos todavía a la
BD, entonces ¿cómo borramos ese registro?
delete from articulos where num_art=9999;
Observa que ya el artículo no aparece en la tabla.
Hagamos un resumen de los comandos SQL vistos hasta ahora:
• INSERT: Permite insertar registros en una tabla; se puede utilizar
con un registro a la vez o con una lista de registros, encerrando cada
uno entre paréntesis y separándolos con una coma entre ellos. Si se
7. van a insertar todos los campos de uno o varios registros en una
tabla, no es necesario colocar los nombres de los campos antes de
la cláusula VALUES.
• SELECT: Permite consultar los registros de una tabla cualquiera; si
se coloca * luego de select saldrán todos los campos, también se
pueden colocar los nombres de los campos que se necesiten. Si se
usa la cláusula WHERE se debe colocar un criterio de búsqueda
después, como el nombre de un campo y el valor a buscar.
• UPDATE: Permite actualizar el valor de uno o varios campos de un
registro o de todos los que cumplan con la condición especificada en
la cláusula WHERE. Si no se coloca la cláusula, la actualización
afectará a TODOS los registros de la tabla; hay que tener mucho
cuidado con esto.
• DELETE: Permite eliminar físicamente un registro o varios de la tabla
que cumpla con la condición especificada en el WHERE. Si no se
coloca se eliminarán TODOS los registros de la tabla; ¡pilas pilas con
esto!
Bueno, para terminar esta guía, salgamos de la consola con quit y
salgamos de la ventana cmd.
Espero que practiquen con estos comandos, ingresando las demás tablas y
los registros correspondientes. Saludos.
PD: Estos comandos forman lo que el acrónimo CRUD significa; si
investigaron lo sabrán.