Proyecto de Base de Datos (Ejemplo)
-
Author
franklin-monreal -
Category
Documents
-
view
41 -
download
9
Embed Size (px)
description
Transcript of Proyecto de Base de Datos (Ejemplo)
GlobalTec
Taller de Base de DatosDocumentacin del Sistema
Instituto Tecnolgico de Zacatecas
Departamento de Sistemas y Computacin
Ingeniera en Sistemas Computacionales
Taller de base de datos Grupo B
Documentacin del Sistema de base de datos de egresados
Integrantes:
10450454 Franklin Itzcoatl Monreal Cristerna10450458 Alfredo Pablo Hernndez 10450000 Alberto Marnathael Valdez Raygoza
Fecha: 03/12/2012ndicePROBLEMA DEL PROYECTO3DIAGRAMA ENTIDAD RELACIN4MODELO RELACIONAL5APLICACIN8CDIGO CONSULTAS SQL18MANUAL DE USUARIO25CONCLUSIONES26BIBLIOGRAFA32
Ilustracin 1 Ventana de Acceso8Ilustracin 2 Ventana Principal8Ilustracin 3 Men Administrador8Ilustracin 4 Submen Egresados y sus funciones9Ilustracin 5 Ventana Alta de egresados9Ilustracin 6 Ventana Baja de egresados10Ilustracin 7 Ventana Actualizacin egresados10Ilustracin 8 Submen Alumnos y sus funciones11Ilustracin 9 Submen Alumnos, funciones y sub-funciones11Ilustracin 10 Ventana Alta de Alumnos11Ilustracin 11 Ventana Actualizacin de alumnos12Ilustracin 12 Ventanas Consultas de alumnos12Ilustracin 13 Submen Carreras y sus funciones13Ilustracin 14 Ventana Alta Carreras13Ilustracin 15 Ventana Actualizacin de carreras14Ilustracin 16 Ventana consulta de carreras14Ilustracin 17 Submen Usuarios y sus funciones15Ilustracin 18 Ventana Agregar usuario15Ilustracin 19 Men Invitado16Ilustracin 20 Ventanas Consultas Egresados16Ilustracin 21 Ventana Mostrar egresados17
PROBLEMA DEL PROYECTO
Disear un sistema de bases de datos para llevar a cabo el control de egresados del Instituto Tecnolgico de Zacatecas. El sistema debe contemplar al menos 5 carreras y registro de los ltimos 5 aos. Por cada carrera se almacenarn al menos 5 registros de alumnos. El administrador del sistema dar altas, bajas, modificaciones, y consultas de egresados. El usuario invitado desea realizar las siguientes consultas: Consultar por nmero de control Consultar por carrera Consultar por ao Consultar por carrera y ao Consultar por nombreLa informacin de los egresados debe estar en una base de datos y debe contemplar la siguiente informacin: Numero de control, Nombre completo, Direccin, Telfono, Email, Foto (imagen) en la base de datos se guarda la ruta donde se est subiendo, Carreara, Generacin (ao de egreso).
GlobalTec
Taller de Base de DatosDocumentacin del Sistema
DIAGRAMA ENTIDAD RELACINGlobalTec
Taller de Base de DatosDocumentacin del Sistema
MODELO RELACIONAL
Especificacin de las tablas y sus atributos
Alumnos:
No_Control: Numero de control de los alumnos inscritos. Id_Carrera: Atributo externo, referencia a la carrera en la que est inscrito el alumno. Nombre: Nombre del alumno. Apell_P: Apellido Paterno Apell_M: Apellido Materno Direccion: Direccion del alumno. Telefono: Numero de Telfono del alumno. Email: Correo electrnico del alumno. Ao_I: Ao de Inscripcin, viene representando la Generacin del alumno. Foto: Foto del alumno, guarda la ruta donde se encuentra la imagen. (Campo de tipo cadena varchar(30))
Carreras
Id_Carrera: Nmero que identifica a la carrera. Nombre: Nombre de la carrera. Abrev: Nombre abreviado de la carrera. Ejemplo ISC.
Egresados
No_Control: Atributo externo, referencia al numero de control del alumno egresado. Id_Carrera: Atributo externo, referencia al id de la carrera del egresado. Nombre: Nombre del alumno egresado. Apell_P: Apellido Paterno. Apell_M: Apellido Materno. Direccion: Direccin del egresado. Telefono: Telfono del egresado. Email: Correo electrnico. Ao_I: Ao de ingreso del egresado. (Generacin). Foto: Ruta de la imagen del alumno. Ao_E: Ao de egreso.
Usuarios
Id_Usuario: Identificador del usuario (Administrador o invitado). Usuario: Nombre utilizado para ingresar al sistema. passwords: Contrasea del usuario para ingresar al sistema. Tipo: Nos permite determinar si es de Administrador o Invitado
APLICACIN
Ilustracin 1 Ventana de Acceso
Ilustracin 2 Ventana Principal
Ilustracin 3 Men Administrador
Ilustracin 4 Submen Egresados y sus funciones
Ilustracin 5 Ventana Alta de egresados
Ilustracin 6 Ventana Baja de egresados
Ilustracin 7 Ventana Actualizacin egresados
Ilustracin 8 Submen Alumnos y sus funciones
Ilustracin 9 Submen Alumnos, funciones y sub-funciones
Ilustracin 10 Ventana Alta de Alumnos
Ilustracin 11 Ventana Actualizacin de alumnos
Ilustracin 12 Ventanas Consultas de alumnos
Ilustracin 13 Submen Carreras y sus funciones
Ilustracin 14 Ventana Alta Carreras
Ilustracin 15 Ventana Actualizacin de carreras
Ilustracin 16 Ventana consulta de carreras
Ilustracin 17 Submen Usuarios y sus funciones
Ilustracin 18 Ventana Agregar usuario
Ilustracin 19 Men Invitado
Ilustracin 20 Ventanas Consultas Egresados
Ilustracin 21 Ventana Mostrar egresados
CDIGO CONSULTAS SQL
create database Proyecto_BD_EGRE_ITZ;use Proyecto_BD_EGRE_ITZ;
create table if not exists Usuarios ( Id_Usuario int Auto_Increment primary key, Usuario varchar(10), passwords varchar(10), tipo int)Engine=innodb;
create table if not exists Carreras ( Id_Carrera int primary key, Nombre varchar(30), Abrev varchar(10))Engine=innodb;
create table if not exists Alumnos ( No_Control int primary key, Id_Carrera int not null, Nombre varchar(30), Apell_P varchar(30), Apell_M varchar(30), Direccion varchar(30), Telefono varchar(30), Email varchar(30), Ao_I int, Foto varchar(30))engine=innodb;
create table if not exists Egresados ( No_Control int primary key, Id_Carrera int not null, Nombre varchar(30), Apell_P varchar(30), Apell_M varchar(30), Direccion varchar(30), Telefono varchar(30), Email varchar(30), Ao_I int, Foto varchar(30), Ao_E int)engine=innodb;
alter table Alumnos add constraint foreign key fk_Carr_Alum (Id_Carrera) references Carreras (Id_Carrera) ON DELETE CASCADE ON UPDATE CASCADE;alter table Egresados add constraint foreign key fk_Alum_Egre (No_Control) references Alumnos (No_Control) ON DELETE CASCADE ON UPDATE CASCADE;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Alta_Carrera(IN Id_Carrera int , IN Nombre varchar(30), IN Abrev varchar(10)) begin Insert Into Carreras Values ( Id_Carrera , Nombre, Abrev ); end //delimiter ;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Alta_Alumno( IN No_Control int, IN Id_Carrera int, IN Nombre varchar(30), IN Apell_P varchar(30), IN Apell_M varchar(30), IN Direccion varchar(30), IN Telefono varchar(30), IN Email varchar(30), IN Ao_I int, IN Foto varchar(30)) begin Insert Into Alumnos Values ( No_Control ,Id_Carrera , Nombre ,Apell_P ,Apell_M ,Direccion , Telefono ,Email ,Ao_I, Foto ); end //delimiter ;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Alta_Egresado( IN No_Control int, IN Id_Carrera int, IN Nombre varchar(30), IN Apell_P varchar(30), IN Apell_M varchar(30), IN Direccion varchar(30), IN Telefono varchar(30), IN Email varchar(30), IN Ao_I int, IN Foto varchar(30),IN Ao_E int) begin Insert Into Egresados Values ( No_Control ,Id_Carrera , Nombre ,Apell_P ,Apell_M ,Direccion , Telefono ,Email ,Ao_I, Foto, Ao_E );
end //delimiter ;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Baja_Carrera(IN Id_CarreraB int ) begin Delete From Carreras Where Id_Carrera=Id_CarreraB ; end //delimiter ;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Baja_Alumno( IN No_ControlB int) begin Delete From Alumnos Where No_Control=No_ControlB ; end //delimiter ;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Baja_Egresado( IN No_ControlB int) begin Delete From Egresados Where No_Control=No_ControlB ; end //delimiter ;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Actualizacion_Carrera(IN Id_CarreraA int , IN NombreA varchar(30), IN AbrevA varchar(10)) begin UPDATE Carreras SET Id_Carrera=Id_CarreraA , Nombre=NombreA, Abrev=AbrevA WHERE Id_Carrera=Id_CarreraA; end //delimiter ;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Actualizacion_Alumno( IN No_ControlA int, IN Id_CarreraA int, IN NombreA varchar(30), IN Apell_PA varchar(30), IN Apell_MA varchar(30), IN DireccionA varchar(30), IN TelefonoA varchar(30), IN EmailA varchar(30), IN Ao_IA int, IN FotoA varchar(30)) begin UPDATE Alumnos SET No_Control=No_ControlA ,Id_Carrera=Id_CarreraA , Nombre=NombreA, Apell_P=Apell_PA, Apell_M=Apell_MA ,Direccion=DireccionA ,Telefono=TelefonoA ,Email=EmailA,Ao_I=Ao_IA, Foto=FotoA WHERE No_Control=No_ControlA; end //delimiter ;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Actualizacion_Egresado( IN No_ControlA int, IN Id_CarreraA int, IN NombreA varchar(30), IN Apell_PA varchar(30), IN Apell_MA varchar(30), IN DireccionA varchar(30), IN TelefonoA varchar(30), IN EmailA varchar(30), IN Ao_IA int, IN FotoA varchar(30),Ao_EA int) begin UPDATE Egresados SET No_Control=No_ControlA ,Id_Carrera=Id_CarreraA , Nombre=NombreA, Apell_P=Apell_PA, Apell_M=Apell_MA ,Direccion=DireccionA, Telefono=TelefonoA ,Email=EmailA,Ao_I=Ao_IA, Foto=FotoA,Ao_E=Ao_EA WHERE No_Control=No_ControlA; end //delimiter ;
Delimiter // Create trigger Actualizacion_AL_EG After Update on Alumnos For Each ROw Begin UPDATE Egresados SET Id_Carrera=New.Id_Carrera , Nombre= New.Nombre,Apell_P=New.Apell_P, Apell_M=New.Apell_M ,Direccion=New.Direccion, Telefono=New.Telefono ,Email=New.Email,Ao_I=New.Ao_I, Foto=New.Foto WHERE No_Control=New.No_Control; END //
Delimiter ;
INSERT INTO Carreras values (01,'Ing.Sistemas Computacionales','ISC'),(02,'Ing.Electromecanica','EME'),(03,'Ing.Gestion Empresarial','IGE'),(04,'Ing.Informatica','INF'),(05,'Arquitecura','ARQ'),(06,'Administracion','ADMON'),(07,'Lic.Informatica','INFO');
INSERT INTO Alumnos values(08450454,01,'Laura','Sanchez','Hernandez','Canteros 14',4924931934,'[email protected]',2008,NULL),(08450455,02,'Blanca','Robles','Saucedo','Lomas Gpe 23', 4924931974,'[email protected]',2008,NULL),(08450456,03,'Antonio','Ramirez','Jimenez','Sta.Rita 45', 4924931964,'[email protected]',2008,NULL),(08450457,04,'Martin','Jimenez','Lopez',' Tres Cruces 56',4924931944,'[email protected]',2008,NULL),(08450458,05,'Aldo','Juarez','Orta','San Fernando 34',4924931976,'[email protected]',2008,NULL),(09450454,01,'Samantha','Robles','Sanchez','Felipe angeles 13',4924931935,'[email protected]',2009,NULL),(09450455,02,'Lorena','Albino','Zuiga','Luis Moya 88', 4924931975,'[email protected]',2009,NULL),(09450456,03,'Juan','Ramirez','Perez','Donato Guerra 445', 4924931965,'[email protected]',2009,NULL),(09450457,04,'Alejandro','Salas','Rangel','Laguna 102',4924931945,'[email protected]',2009,NULL),(09450458,05,'Elba','Torres','Orta','Jacinto Luna 765',4924931977,'[email protected]',2009,NULL),(10450454,01,'Yoseline','Perez','Pinedo','Zacatecas 333',4924931936,'[email protected]',2010,NULL),(1050455,02,'Clara','Ramirez','Alonso','Sonora 409', 4924931976,'[email protected]',2010,NULL),(1050456,03,'Pablo','Zuiga','Diaz','Reforma 534', 4924931966,'[email protected]',2010,NULL),(1050457,04,'Antonio','Rivera','Hernandez','Luis Moya 324',4924931946,'[email protected]',2010,NULL),(1050458,05,'Nancy','Montes','Talavera','Zinc 432',4924931978,'[email protected]',2010,NULL),(1150454,01,'Hilda','Martinez','Trejo','Garcia Salinas 234',4924931937,'[email protected]',2011,NULL),(1150455,02,'Alan','Ayala','Saucedo','24 Marzo 22', 4924931977,'[email protected]',2011,NULL),(1150456,03,'Joaquin','Jaramillo','Robles','Arroyo 23', 4924931967,'[email protected]',2011,NULL),(1150457,04,'Diego','Reyesy','Lopez','Polvaredas 45',4924931947,'[email protected]',2011,NULL),(1150458,05,'Misael','Soto','Zavala','Industriales 10',4924931979,'[email protected]',2011,NULL),(12450454,01,'Daniel','Flores','Monreal','Lomas de plateros 23',4924931938,'[email protected]',2012,NULL),(12450455,02,'Marco','Rangel','Gonzales','Loma bonita 78', 4924931978,'[email protected]',2012,NULL),(12450456,03,'Rodrigo','Castillo','Acevedo','Santa Ana 90', 4924931968,'[email protected]',2012,NULL),(12450457,04,'Victor','Hernandez','Davila','Consquistadores 56',4924931948,'[email protected]',2012,NULL),(12450458,05,'Mauricio','Rodriguez','Acua','10 de Junio 12',4924931970,'[email protected]',2012,NULL);
insert into usuarios (Usuario,passwords,tipo) values ('Admin','123',0);
Procedimientos Almacenados Para Consultas
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Get_Nomb_Carrera( IN Id_CarreraC int) begin SELECT Nombre FROM Carreras Where Id_Carrera= Id_CarreraC ; end //delimiter ;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Get_Carrera( IN Id_CarreraC int) begin SELECT * FROM Carreras Where Id_Carrera= Id_CarreraC ; end //delimiter ;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Get_Carrera_All() begin SELECT * FROM Carreras ; end //delimiter ;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Get_Egresado_No_Cont( IN No_ControlC int) begin SELECT * FROM Egresados Where No_Control= No_ControlC; end //delimiter ;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Get_Egresado_AoE( IN Ao_EC int) begin SELECT * FROM Egresados Where Ao_E=Ao_EC ; end //delimiter ;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Get_Egresado_Carr_AoE( IN Id_CarreraC int,IN Ao_EC int) begin SELECT * FROM Egresados Where (Ao_E=Ao_EC) AND ( Id_Carrera=Id_CarreraC); end //delimiter ;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Get_Egresado_Carrera( IN Id_CarreraC int) begin SELECT * FROM Egresados Where Id_Carrera= Id_CarreraC ; end //delimiter ;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Get_Egresado_Nombre( IN NombreC varchar (20),IN ApeP varchar (20),IN ApeM varchar(20)) begin SELECT * FROM Egresados Where (Nombre=NombreC) AND ( Apell_P=ApeP) AND (Apell_M=ApeM); end //delimiter ;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Get_Alumnos_All() begin SELECT * FROM Alumnos ; end //delimiter ;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Get_Alumno_No_Cont( IN No_ControlC int) begin SELECT * FROM Alumnos Where No_Control= No_ControlC; end //delimiter ;
delimiter // create procedure Proyecto_BD_EGRE_ITZ.Get_Alumno_Carrera( IN Id_CarreraC int) begin SELECT * FROM Alumnos Where Id_Carrera= Id_CarreraC ; end //delimiter ;
delimiter //create procedure Get_Alumno_Nombre(NombreC varchar(20),ApeP varchar(20),ApeM varchar(20))begin SELECT * FROM Alumnos Where (Nombre=NombreC) AND ( Apell_P=ApeP) AND (Apell_M=ApeM); end //delimiter ;
Ejecucin de Procedimientos Almacenados de Consultas
Consulta Por Numero de Control
Consulta Por Carrera
Ejecucin del Procedimiento Almacenado dependiendo del Tipo de Consulta EnviadoMANUAL DE USUARIO
Acceso a la Aplicacin (Login) Lo primero que debemos realizar es identificarnos en el sistema como nuestro nombre de usuario y contrasea para verificar si tenemos acceso al sistema. Esta venta es la primera que aparece de no tener acceso no se podr realizar ninguna operacin.
Dependiendo del tipo de Usuario (Administrador o Invitado) se podr tener acceso a las diferentes opciones si se identifica como Invitado solo se podr tener acceso al Men de Consulta de Egresados, mientras que el Men de Administrador permanecer bloqueado.
Ilustracin 19 Men Invitado
Si se identifica como un usuario de tipo Administrador todas las funciones estarn disponibles para este tipo de usuario.
Ilustracin 19 Men Administrador
Operaciones de Consultas de Egresados Invitado y Administrador Consulta por Numero de Control: Se selecciona el tipo de consulta del men Consulta de Egresados, en la consulta por Numero de Control se tendr que acceder el numero de control del egresado que se desea buscar, pulsar el botn consultar y nos desplegara un ventana con los datos del Egresado Consulta Por Carrera:
Al seleccionar el tipo de consulta por Carrera nos mostrara una ventana la cual tiene una lista de las carreras disponibles, solo es necesario seleccionar la carrera de la cual deseamos mostrar los egresados dar consultar y nos desplegara una ventana con la informacin de todos los alumnos que pertenezcan a la carrera seleccionada.
Consulta Por Ao de Egreso
Al seleccionar el tipo de consulta por ao de egreso nos mostrara una venta donde tenemos que ingresar el ao de egreso del cual deseamos consultar los egresados, al dar consultar nos desplegara una ventana con la informacin de los egresados que tengan como ao de egreso el indicado.
Consultar por Carrera y Ao :
Al seleccionar el tipo de consulta por Carrera y Ao nos mostrara una ventana donde se nos pedira elegir la carrera e ingresar el ao de egreso del cual deseamos obtener la informacion, mostrandonos asi la informacion de los egresados correspondientes a la carrera y ao indicados.
Consulta por Nombre:
Al seleccionar el tipo de consulta por Nombre nos mostrara una ventana donde se nos pedira ingresar el Nombre, Apellido Paterno y Apellido Materno para mostrar la informacion del egresado correspondiente a los datos ingresados.
En caso de que el nmero de control sea equivocado o no se encuentre registrado se mostrara un mensaje que lo indique.
Operaciones o funciones de Administrador Creacin de Usuarios:
Para crear un nuevo usuario nos dirigimos al men, seleccionamos el submen Usuarios y damos clic en Agregar Usuarios lo cual nos mostrara una venta donde se nos pedir ingresar el Usuario que utilizaremos, su contrasea a si como el tipo de privilegios que tendr el nuevo usuario Administrador o Invitado.
Alta de Egresados:
Para dar de alta un nuevo egresado nos dirigimos al men, seleccionamos el submen Egresados, del cual seleccionamos alta egresados el cual nos desplegara una venta donde para dar de alta un egresado ingresamos el numero de control del alumno que deseamos dar de alta en egresados, pulsamos el botn de ok , para verificar que ese numero de control sea valido, de ser valido nos rellenara automticamente los campos excepto el campo de Ao de Egreso el cual debemos ingresar para posteriormente dar clic al botn guardar y dar de alta el egresado.
Actualizacin de Egresados:
Para actualizar un egresado nos dirigimos al men, seleccionamos el submen Egresados, del cual seleccionamos actualizacin egresados el cual nos desplegara una venta donde para dar de actualizar un egresado ingresamos el numero de control del egresado que deseamos dar de alta en egresados, pulsamos el botn de ok , para verificar que ese numero de control sea valido, de ser valido nos rellenara automticamente los campos de informacin correspondientes al numero de control del egresado, donde podemos realizar cambios para posteriormente dar clic en el botn actualizar.
Borrar Egresado
Para dar de baja un egresado nos dirigimos al men, seleccionamos el submen egresados, seleccionamos bajas de egresados el cual nos desplegara una ventana con todos los egresados en el sistema, para dar de baja un egresado tenemos que seleccionar el elemento que deseamos dar de baja, dar clic en eliminar Egresado y el egresado ser eliminado.
Alta Alumnos:
Para dar de alta un nuevo alumno nos dirigimos a men, seleccionamos el submen Alumnos, seleccionamos la opcin de Alta de Alumnos donde nos desplegara una ventana donde debemos ingresar todos los datos correspondientes al nuevo alumno para posteriormente darle clic en guardar y registrar el nuevo alumno.
Actualizacin y Consulta de Alumnos:La actualizacin y Consulta de Alumnos repite los mismos pasos que se siguieron para las mismas operaciones que se realizaron en egresados.
CONCLUSIONES
Despus de concluir con la materia de Taller de Bases de Datos, nos fue posible realizar una base de datos con procedimientos almacenados, disparadores y transacciones as como la posibilidad de correccin de muchos errores. La realizacin de este proyecto nos permiti aplicar todos los conocimientos aprendidos en clases, apoyndonos en los diversos ejercicios que realizamos durante el semestre as como en el material proporcionado por el docente, dicho proyecto se realizo de una forma ms rpida por el conocimiento previo de la creacin y funcionamiento de las bases de datos. El problema que mas se presento fue a al hora de recuperar los datos almacenados en la base de datos cread y poderlos manipular dentro de una aplicacin mediante un lenguaje de programacin en este caso JAVA. Dichos problemas se solucionaron con la investigacin de algunos temas, donde pudimos poner en prctica las transacciones que a sus ves hicimos que pudieran revertir o aplicar los cambios de los procedimientos almacenados. Al realizar las diversas pruebas en la aplicacin pudimos adquirir el conocimiento de como capturar los errores producidos por MySQL a travs de un lenguaje de programacin, obteniendo el cdigo de error y darle tratamiento a los errores mas comunes que pudieran surgir dentro de la aplicacin y su interaccin con la Base de Datos lo que nos permiti el ahorro de cdigo, tiempo y esfuerzo, permitindonos as lanzar un mensaje mas explicito y que sea entendible por el usuario al ocurrir un error. Sin duda este curso fue de mucha utilidad ya que utilizamos los conocimientos adquiridos tanto en este proyecto como en otros referentes a otras materias.
BIBLIOGRAFA
Introduccin a MySQLDr. Roberto Sols RoblesUniversidad Autnoma de ZacatecasCurso Taller Acceso a Bases de Datos MySQL usando Java JDBC
Crear Usuarios y Asignar Privilegios en MySQLhttp://luauf.com/2008/06/26/crear-usuario-y-asignar-permisos-en-mysql/
Como Funciona el Sistema de Privilegioshttp://dev.mysql.com/doc/refman/5.0/es/privileges.html
El Sistema de Privilegios de Acceso a MySQLhttp://dev.mysql.com/doc/refman/5.0/es/privilege-system.html