NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
Instalacin de MySQL 5 en Windows XP La instalacin de MySQL es muy intuitiva, del tipo Siguiente Siguiente. Veamos algunas pantallas importantes en la instalacin de MySQL. Hacia el final de la instalacin aparecer la siguiente pantalla:
Instalar MySOL como servicio y configurar la variable PATH.
Aqu vamos a chequear las tres casillas de verificacin y hacemos clic en siguiente (Next)
Establecer la contrasea del usuario root y crear una cuenta annima. Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
La penltima pantalla nos permite comprobar si el servicio se ejecuta correctamente.
Lanzar el motor por primera vez.
Una vez que finalizamos la instalacin estamos listos para comenzar a trabar con MySQL
Finalizar con la instalacin.
Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
Una vez instalado MySQL, podremos observar en el directorio de instalacin las siguientes carpetas (hay otras):
DATA: contiene las bases de datos.
BIN: contiene los ejecutables. Los ms importantes son mysqld-net.exe: El Servidor. mysql.exe: El Cliente de consola. mysqldump.exe: Aplicacin que permite hacer copias de seguridad.
MySQL nos permite interactuar con el motor por medio de su cliente de consola de comandos del sistema operativo. Veamos como funciona.
Comandos de MySQL en modo consola
Todos los comandos en modo consola de MySQL terminan con punto y coma ( ; ) Si queremos, podemos escribir comandos en varias lneas, presionando [ENTER]. El comando completo se ejecutar cuando se ingrese el ; final. Las flechas arriba y abajo del teclado nos permiten ver las lneas de comando escritas con anterioridad. Esto es til si necesitamos ejecutar un comando nuevamente y no queremos volver a teclear todo. Para utilizar el cliente de modo consola de MySQL hacemos:
Inicio Ejecutar
En el combo correspondiente a Abrir escribimos cmd y hacemos clic en Aceptar.
Abrir el Smbolo del Sistema
Se abre la ventana de comandos del sistema operativo, en la cual colocamos simplemente el comando mysql y presionamos [ENTER] Nota: para cambiar los colores de fondo y texto en el smbolo del sistema podemos ejecutar el comando color F0. El primer parmetro (F) es un nmero hexadecimal que representa el color de fondo de la Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
pantalla (podemos elegir entre 0 y F). El segundo parmetro corresponde al color del texto y tiene el mismo rango de 16 valores posibles. Cambiar los colores puede ser til si necesitamos capturar las pantallas para imprimirlas luego. Si todo sali bien, se ejecutar el cliente de modo consola del motor de Base de Datos y veremos una ventana similar a la siguiente:
figura : Entramos al cliente de modo consola de MySOL
Ver las bases de datos existentes; SHOW DATABASES;
Crear una base de datos: CREATE DATABASE basededatos;
Utilizar una base de datos en particular: USE basededatos;
Ver las tablas existentes en una base de datos SHOW TABLES;
Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
Ejemplo sencillo con una tabla de datos personales
Para: Entrar a MySQL - Ver las bases de datos existentes - Crear una nueva base de datos Utilizar la base de datos recin creada ejecutar los siguientes comandos:
Crear una tabla. Mostrar la tabla recin creada.
Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
Mostrar la estructura de una tabla: DESC tabla; o bien utilizar DESCRIBE tabla;
Operaciones Bsicas con una base de datos
ALTAS: insertar nuevos registros a la tabla.
Consultas sencillas Mostrar los registros existentes en la tabla. Mostrar todas las columnas y filas (select * from tabla;) Mostrar solo algunas columnas y todas las filas (select col1,col2, from tabla;)
Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
BAJAS: Eliminar registros de la tabla.
Borrar filas segn un criterio: delete from tabla where campo=valor;
Borrar todas las filas de la tabla: delete from tabla;
MODIFICACIONES: Modificar los valores de uno o ms campos de una o mas filas
Modificar utilizando un criterio. Modificar todos los registros de la tabla.
Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
Comandos sencillos
La familia de comandos show nos muestra distintos elementos de MySQL. Veamos algunos comandos show de utilidad. Mostrar las bases de datos existentes: show databases; Muestra un listado con los nombres de las bases de datos que existen actualmente en el motor.
comando show databases
Crear una base de datos Para crear una base de datos utilizamos el comando create database <nombre_de_la_base_de_datos_a_crear>
comando CREATE DATABASE
Las bases de datos se corresponden con carpetas en el directorio DATA en el directorio de instalacin de MySQL. Para poder trabajar con una base de datos debemos primero seleccionarla. Para ello utilizamos el comando use Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
use <base_de_datos> El comando use es una de las excepciones en cuanto al punto y coma final. De todas formas no es incorrecto ponerlo.
Mostrar las tablas de una base de datos show tables Muestra los nombres de las tablas que actualmente existen en la base de datos en que estamos trabajando.
comando CREATE TABLE
Como podemos observar, an no tenemos ninguna tabla creada en la base de datos dbstruts.Vamos a crear una tabla muy sencilla con el solo fin de mostrar como funciona el comando create table, que ser presentado en detalle ms adelante.
Una vez creada la tabla, llamamos nuevamente al comando show tables, que nos mostrar ahora el nombre de la nica tabla existente en la base de datos: la que acabamos de crear. use dbstruts show tables create table personas create table personas ( dni integer, apeynom varchar(45), fechanac date ); comando SQL: create table nombre de la tabla: personas nombre del campo: dni tipo de dato del campo: integer ( comienza la declaracin de campos ; termina el comando. ) termina la declaracin de campos. , separador de campos Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
Mostrar el comando SQL necesario para crear una tabla
show create table <nombre_de_la_tabla>
Muestra en pantalla el comando SQL que se necesita para crear una tabla.
figura : comando SHOW CREATE TABLE
Como podemos observar terminamos el comando con \G en vez de con punto y coma ; La terminacin de un comando con \G nos permite ver la salida por pantalla lnea por lnea.
Este es un ejemplo de lo que se llama cdigo generado, es decir, aquel cdigo que es generado por el motor. Es el equivalente al comando que ingresamos arriba, pero notemos que se agregan acentos (no comillas simples), valores por defecto para los campos y el tipo de motor (en ingls: Engine) a utilizar.
Ver la estructura de una tabla
describe <nombre_de_la_tabla>;
Muestra la estructura de la tabla.
Tambin se puede utilizar Desc <nombre_de_la_tabla>; Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
figura : comando DESCRIBE
La estructura de la tabla se conoce como metadatos, es decir, informacin acerca de los datos mismos.
Apectos bsicos de seguridad
Cuando lanzamos el cliente de modo consola de mysql, vimos que en una instalacin standard, basta con colocar el comando mysql en la ventana de comandos y presionar [ENTER] para entrar.
Esto no es lo ideal, ya que cualquier persona que tenga acceso fsico a la mquina, podra ingresar al motor y ejecutar cualquier comando.
Durante la instalacin del motor, MySQL crea una base de datos llamada mysql en la cual almacena informacin sobre el propio motor, usuarios, permisos de acceso, etc.
Una tabla muy importante dentro de la base de datos MySQL es la tabla user,
Para trabajar con la base de datos mysql, ejecutamos el comando use mysql; Para ver todas las tablas contenidas en la base de datos mysql ejecutamos el comando show tables; Tambin podemos ejecutar: show tables from mysql; si estamos usando otra base de datos. Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
La base de datos mysql y la tabla user
Veamos la estructura de la tabla user:
Parte de la estructura de la tabla user
En la figura anterior podemos observar la estructura de las tres primeras columnas de la tabla user. Las dems columnas describen los permisos sobre operaciones para un usuario en particular. Para asignar un permiso a un usuario sobre alguna operacin o recurso, simplemente debemos colocar como valor de ese campo el letra Y ( de YES)
Si queremos mostrar los datos que se almacenan en la tabla para estas tres columnas utilizamos el comando mostrado a continuacin
La tabla user almacena informacin sobre los usuarios de MySQL Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
select host, user, password from user;
figura : datos de la tabla user para las columnas host, user y password
Debemos leer las tres columnas como una combinacin (host, user, password). La columna host nos indica la direccin IP de la/s mquina/s desde las cuales podemos acceder al motor. Tambin especifica el usuario con el que nos podremos conectar y la clave de ese usuario.
Por ejemplo, la lnea uno significa:
El usuario identificado con el nombre root puede acceder al motor desde el equipo local (localhost) utilizando la clave cuya encriptacin da como resultado la cadena que se muestra en el campo password.
El campo password se muestra de forma encriptada por razones de seguridad.
La segunda lnea dice que el usuario identificado como root podr acceder al motor desde cualquier mquina de la red a la que pertenezca el equipo donde est instalado el motor. Esto se establece con el carcter %
La tercera lnea da permiso de ingresar al motor a un usuario que no debe especificar ni su nombre de usuario ni su clave desde el localhost.
La cuarta lnea da permiso de ingresar al motor a un usuario que no debe especificar ni su nombre de usuario ni su clave, desde cualquier mquina que pertenezca a la red donde est instalado el motor.
Lo que debemos hacer es eliminar estas dos lneas de la tabla user de manera tal que para ingresar al motor debamos especificar de manera explcita el nombre de usuario y la contrasea. Para eliminar estas dos lneas utilizamos el comando Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
delete from user where user = ;
figura : borrando los usuarios en blanco y ejecutando flush privileges
A continuacin debemos actualizar la tabla de permisos. Hacemos esto al ejecutar el comando
flush privileges;
Cambiar la contrasea de un usuario
Para cambiar la contrasea de un usuario podemos utilizar un simplemente un comando update.
Por ejemplo, si queremos cambiar la clave del usuario root podramos intuitivamente tratar de ejecutar el siguiente comando:
update user set password = nuevaclave where user = root;
Lo cual en principio puede parecer correcto. Sin embargo hacer esto podra traer como consecuencia que no podamos volver a entrar al motor. La razn es la siguiente. Recordemos que MySQL almacena las claves de forma encriptada. Si asignamos un valor literal al campo password, el mismo no se guardar tal cual nosotros lo escribimos. MySQL para dejarnos entrar con el usuario root, necesitar una contrasea cuya encriptacin de cmo resultado la cadena nuevaclave.
La forma correcta de cambiar la contrasea es utilizar la funcin PASSWORD de MySQL, como se muestra a continuacin update user set password = PASSWORD(nuevaclave) where user = root; Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
Entonces el valor que almacenar el campo password ser el que resulte del llamado a la funcin PASSWORD, que recibe como argumento la clave que nosotros podemos ver y leer como texto claro, y la que vamos a utilizar de ahora en ms para entrar al motor. Ahora intentemos entrar como antes, colocando simplemente mysql en la ventana de comandos:
Intentando acceder a MySOL con distintas alternativas
Veamos las distintas alternativas que intentamos en cada comando:
1: mysql [ENTER] En este caso no proporcionamos usuario ni clave. No podemos acceder.
2: mysql u root p [ENTER] Aqu escribimos mysql u root p lo que quiere decir que queremos entrar como el usuario root (la bandera u significa usuario, y vamos a proporcionar la contrasea despus de la bandera p, que significa password). Como no ingresamos ninguna contrasea nos devuelve el mensaje:
Acceso denegado al usuario root desde la mquina local ya que no proporciono la contrasea.
3:mysql u root p [ENTER] enter password: ****** [ENTER]
1 2 3 4 5 Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
Es parecida a la anterior, solo que despus de p pulsamos ENTER y la contrasea. En este caso introdujimos una contrasea equivocada, de manera que obtenemos el mensaje:
Acceso denegado al usuario root desde la mquina local ya que proporciono una contrasea equivocada.
4: mysql u root p myclave [ENTER] enter password: ******** [ENTER]
En este caso podramos intentar escribir la clave a continuacin de p (dejando un espacio en blanco de por medio). Cuando pulsamos [ENTER] vemos que aparece el prompt pidiendonos la clave nuevamente. Ingresamos el password correcto, repitiendo el que escribimos arriba. Obtenemos el mensaje:
Acceso denegado al usuario root desde la mquina local ya que proporciono una contrasea equivocada. A pesar de que el mensaje es igual al que obtuvimos anteriormente, notemos que la clave es la correcta. Lo que ocurre es lo siguiente. La linea
mysql u root p myclave [ENTER]
Es interpretada por MySQL como: ingresar al cliente mysql como el usuario root para utilizar la base de datos llamada myclave luego de proporcionar la contrasea. Es decir que lo que quisimos colocar como clave se interpret como el nombre de una base de datos. La forma correcta (aunque no la ideal) es la numero 5 mysql u root pmyclave
En este caso vemos que pudimos entrar al cliente. El inconveniente de esta sintaxis es que deja ver la contrasea en la ventana de comandos. La misma debe colocarse inmediatamente despus de la bandera p, sin dejar ningn espacio en blanco de por medio. Para que podamos entrar sin mostrar la clave lo correcto seria colocar la lnea 3
mysql u root p [ENTER] enter password [ENTER]
pero con la clave correcta. Al ingresar al cliente lo hacemos sin seleccionar ninguna base de datos en particular. Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
Si queremos entrar directamente seleccionando la base de datos con la que queremos trabajar desde la ventana de comandos, debemos colocar por ejemplo:
mysql u root -D dbstruts p [ENTER] enter password: ********** [ENTER] para ingresar al cliente con la base de datos dbstruts seleccionada.
figura : intentando acceder a MySOL con -d y -D Notemos que la opcin es D (con maysculas) y no d, si no obtenemos el mensaje de arriba.
Estructura de las tablas en las bases de datos En la siguiente figura podemos observar como se estructuras las tablas en una base de datos. Se trata bsicamente de un arreglo rectangular formado por filas y columnas. Cada columna representa un campo en la tabla, es decir una propiedad de la realidad que se trata de modelar. Por ejemplo, si queremos registrar los datos personales de alguien, seguramente necesitaremos conocer su dni, apellido y nombre, fecha de nacimiento, entre otros datos. Cada uno de estos datos tendr vinculado un tipo de datos. Generalmente los tipos de datos son cadenas de caracteres simples, llamados Strings, nmeros enteros de distinta cantidad de dgitos con y sin signo, nmeros reales de distinta precisin y tamao, fechas, horas, etc. Una vez que hemos conformado la estructura, podemos plasmar el modelo en la definicin concreta de una tabla en el motor de bases de datos. Si bien podramos definir la estructura que queramos para una tabla, teniendo como lmite solo los lmites propios del motor, es importantsimo entender que lo fundamental es realizar lo mejor posible las etapas de anlisis de requerimientos y diseo de la base de datos. Para ello podemos valernos de herramientas como la Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
normalizacin. Tambin es importante notar que la normalizacin es una herramienta terica, muy valiosa, pero no debe ser un limitante prctico. A veces, segn el caso, podemos dejar de lado la aplicacin extrema y a rajatabla de las frmulas tericas y ser prcticos. El diseo de las bases de datos, la programacin de aplicaciones y muchas reas de la vida real deben mezclar el ingenio con las herramientas tericas.
Para mencionar algunos conceptos, diremos que la cantidad de columnas de una tabla define su grado y la cantidad de filas o registros que posee definen su cardinalidad. Veamos a continuacin la estructura de una tabla sencilla.
Grado
columna columna columna columna campo campo campo campo
DNI APEYNOM FECHANAC SUELDO
fila, tupla, registro 11111111 AAAAA 01-01-1980 1213.25
fila, tupla, registro 22222222 BBBBB 12-12-1965 1542.36
fila, tupla, registro 33333333 CCCCC 14-03-1974 1248.25 Cardinalidad
fila, tupla, registro 44444444 DDDDD 16-11-1986 1432.10
figura : estructura de una tabla en una base de datos
Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
NySql
Para acceder y comenzar a trabajar con NySOL deberemos contar con un nombre de usuario y una contrasena. Desde la shell del sistema operativo deberemos colocar
mysql -h <servidor> -u <usuario> -D <base de datos> -p |ENTER| y a continuacin la contrasena. Por ejemplo:
mysql -h localhost -u root -D dblamp -p ******** La base de datos ya debera existir. Tambin podemos usar de forma mas sencilla mysql -u <usario> -p
Una vez dentro de NySOL podremos ejecutar algunos comandos de utilidad (los comandos terminan con ;)
CONANDO ACC!ON OUE REAL!ZA SHOW DATABASES; Nuestra una lista de las Bases de Datos que existen en el servidor. USE <BASE DE DATOS> Selecciona una Base de Datos para trabajar con ella. SHOW TABLES; Nuestra una lista con los nombres las tablas en la Base de Datos actual. SELECT USER(); Nuestra el usuario y la maquina desde la cual se estableci la conexin actual.
CREAC!ON DE TABLAS: Para crear tablas utilizamos en comando CREATE TABLE
TABLA PA!SES TABLA CLUBES create table paises ( idpais integer not null auto_increment, pais varchar(15), primary key(idpais} ); create table clubes ( idclub integer not null, club varchar(15) not null, fkpais integer, foreign key (fkpais) references paises(idpais} on update cascade on delete restrict );
Podemos observer que la tabla clubes define un campo fkpais que actuara como clave foranea, referenciando al campo idpais de la tabla paises.
Esto se realiza para cumplir con una caracteristica soportada por NySOL, la !NTEGR!DAD REFERENC!AL.
Si estamos trabajando con datos de una planilla de calculo podemos llevarlos a una tabla de NySOL si creamos una tabla con la estructura adecuada y utilizamos los comandos LOAD DATA y SELECT !NTO OUT F!LE como se muestra en el siguiente esquema:
!mportar datos Guardar como. PLAN!LLA DE CALCULO TABLA NySOL PLAN!LLA DE CALCULO ARCH!vO CSv ARCH!vO CSv load data local infile 'C:\\datos.csv' into table personas fields terminated by '#' lines terminated by '$\r\n'; select * into outfile 'C:\\listado.txt' fields terminated by '#' lines terminated by '$\r\n' from personas Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
Ejecucin de scripts
un script es un archivo de texto plano que contiene instrucciones que pueden ser ejecutadas por un programa. En nuestro caso, como el archivo contendra sentencias SOL, tendremos un script SOL.
Podemos ejecutar los script desde la shell del sistema operativo:
mysql -u root -p < "C:\\archivoscript.sql"
Tambin podemos redireccionar el resultado hacia un archivo en disco:
mysql -u root -D dbtodojunto -p < "C:\\consulta.txt" > "C:\\salida.txt"
Si estamos en una !nterfaz Grafica como NySOL Ouero Browser, tambin podemos cargar y ejecutar nuetros scripts desde alli.
Procedimientos Almacenados
Un procedimiento almacenado es un conjunto de comandos SOL que pueden almacenarse en el servidor. Una vez que se hace, los clientes no necesitan relanzar los comandos individuales y pueden en su lugar, referirse al procedimiento almacenado.
TABLA AUD!TOR!A TABLA PERSONAS CREATE TABLE auditoria ( user varchar(20) NOT NULL default '', fecha datetime NOT NULL, operacion varchar(20) NOT NULL default '' ); CREATE TABLE personas ( dni INTEGER NOT NULL, apeynom VARCHAR(20) NOT NULL, fechanac DATE NOT NULL, sexo CHAR NOT NULL, sueldo FLOAT NOT NULL, PRIMARY KEY (dni));
Podemos definir el siguiente procedimiento almacenado
DEL!N!TER $$ DROP PROCEDURE !F EX!STS `dbejemplo`.`auditar` $$ CREATE PROCEDURE `dbejemplo`.`auditar` (in p_operacion varchar(20)) BEG!N
Un trigger es una porcin de cdigo que se ejecuta como respuesta a un evento, es decir, al intento de llevar a cabo una accin en una tabla.
CREATE TR!GGER bipersonas BEFORE !NSERT ON personas FOR EACH ROW BEG!N !F NONTH(NEW.fechanac) = '03' THEN SET NEW.sueldo = NEW.sueldo * 1.25; ELSE SET NEW.sueldo = NEW.sueldo * 0./5; END !F;
CALL auditar('ALTA'); END; Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
Algunas funciones y consultas sencillas
NySOL incluye una extensa coleccin de funciones predefinidas que ayudan al Administrador y a los usuarios a realizar sus tareas. Tenemos funciones matematicas, de cadenas de caracteres, de fecha y hora. Comandos para asignar permisos a usuarios, para realzar copias de seguridad, etc.
Supongamos una tabla autos con la siguiente estructura:
CREATE TABLE autos ( idauto int(11) NOT NULL auto_increment, marca varchar(10) default NULL, model varchar(10) default NULL, anio char(+) NOT NULL default '', precio double NOT NULL default '0', PR!NARY KEY (idauto) ) ENG!NE=!nnoDB DEFAULT CHARSET=latin1 CONNENT='tabla de autos'
En la imagen de la derecha podemos ver algunos datos que contiene la tabla autos.
Una vez disenadas las tablas y cargados los datos, la tarea mas importante a llevar a cabo es la recuperacin de la informacin a travs de las consultas, que son el punto de partida para la toma de decisiones en el nivel gerencial.
veamos a continuacin algunas consultas sencillas y la sintaxis SOL para poder recuperar los datos solicitados.
ver la marca y modelo del auto mas caro
select marca, model, precio from autos where precio = (select max(precio} from autos}
El auto mas caro y mas barato de cada marca
SELECT marca, max(precio} as mascaro, min(precio} as masbarato from autos group by marca order by marca
Universidad Tecnolgica Nacional LEG: 17371 C ant, Javier Alejandro NOTAS DE CLASE Facultad Regional Tucumn LEG: 20440 Gutierrez, Gabriela BASES DE DATOS Ctedra de Diseo de Interfaz Grfica MySQL 5
Profesor: Ing. Ricardo Enrique Adra 2007
ver el precio promedio de los autos de marcas que comiencen con F" ordenados de mayor a menor
select marca, avg(precio} as promedio from autos group by marca having marca like 'F%' order by promedio desc
Configurar el Origen de Datos
Necesitan tener instalado MyODBC
INICIO PANEL DE CONTROL HERRAMIENTRAS ADMINISTRATIVAS ORIGENES DE DATOS (ODBC) Pestaa DSN DE USUARIO Botn AGREGAR MySQL ODBC x.xx Driver Botn FINALIZAR
Configuran el origen de datos completando la siguiente informacin:
Cuando hacen Test Data Source y se conectaron correctamente, cierran las ventanas con OK, ACEPTAR, etc. En caso de haber algn error, revisar los parmetros de configuracin.
ALIAS Nombre del Servidor o Host o su IP USUARIO DE MYSOL CLAVE DEL USUARIO El nombre de la base de datos fsica (Directorio en la carpeta DATA}