Você está na página 1de 22

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


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

!NSERT !NTO auditoria vALUES (user(),now(),p_operacion);

END $$
DEL!N!TER ;
Triggers

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}

Você também pode gostar