Veterinaria DB Sentencias SQL

***Crear DB***** Create database veterinariadb; *****Crear Tablas**** create table Animal( idAnimal int not null auto_in

Views 194 Downloads 5 File size 26KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

***Crear DB***** Create database veterinariadb; *****Crear Tablas**** create table Animal( idAnimal int not null auto_increment, AniCliente int not null, Nombre varchar(40) not null, Edad int not null, foreign key(AniCliente ) references Cliente (CarnetCliente), primary key(idAnimal)) auto_increment =1; ----------------------------------create table Cliente( idCliente int not null, CarnetCliente int not null , CliTrabajador int not null, CliDireccion varchar(50) not null, CliDNI int not null, CliTelefono int not null, CliNombre varchar(80) not null, CliApellido varchar(80) not null, foreign key(CliTrabajador) references Trabajador (idTrabajador ), primary key(CarnetCliente )) auto_increment =1; -------------------------------------create table Historial( idHistorial int not null auto_increment, HisAnimal int not null, HisFecha date not null, HisCirugiaRevisionCura varchar(100)not null, foreign key(HisAnimal )references Animal(idAnimal), primary key(idHistorial)) auto_increment =1; ---------------------------------------create table Pedido( idPedido int not null auto_increment, PedServicio int not null, PedTipo varchar(20)not null, idArticulo int not null, foreign key(PedServicio )references Servicio(idServicio), primary key(idPedido )) auto_increment =1; -----------------------------------------create table Producto( idProducto int not null auto_increment, ProPedido int not null, ProTipo varchar(20)not null, ProStockMinimo int not null, ProStockActual int not null, foreign key(ProPedido )references Pedido(idPedido ), primary key(idProducto )) auto_increment =1;

------------------------------------------create table ProductohasProveedor( idProveedores int not null, idProducto int not null, foreign key(idProveedores )references Proveedores(idProveedores), foreign key(idProducto )references Producto(idProducto), primary key(idProveedores ,idProducto )); ---------------------------------------------create table Proveedores( idProveedores int not null auto_increment, primary key(idProveedores)) auto_increment=1; ----------------------------------------------create table Reservas( idReservas int not null auto_increment, RedServicio int not null, ResFechaHora date not null, foreign key(RedServicio)references Servicio(idServicio ), primary key(idReservas )) auto_increment =1; ------------------------------------------------create table Servicio( idServicio int not null auto_increment, serCliente int not null, SerClinica varchar(80)not null, SerSalonBelleza varchar(80)not null, SerTienda varchar(45)not null, foreign key(serCliente )references Cliente(CarnetCliente), primary key(idServicio )) auto_increment =1; -------------------------------------------------create table Trabajador( idTrabajador int not null auto_increment, TraDNI integer not null, TraDatos varchar(80) not null, primary key(idTrabajador)) auto_increment=1; ***************************************************************************** ***************************************************************************** ***************************************************************************** ****************************************************************************** ***************************************************************************** Procedimientos almacenados 1.Insertar datos en la tabla Trabajador create procedure ProInsertTrabajador( in TraDNI int, in TraDatos varchar(80)) insert into Trabajador (TraDNI,TraDatos) values(TraDNI,TraDatos);

-------Ejecutar Procedimiento-------------call veterinariadb.ProInsertTrabajador (71376486,'Datos del trabajador'); *********************************************** 2.Insertad datos en la tabla Proveedores create procedure ProInsertProveedor() insert into proveedores() values(); -------Ejecutar Procedimiento-------------call veterinariadb.ProInsertProveedor (); *********************************************** 3.Insertar datos en la tabla Cliente create procedure ProInsertCliente( in idCliente int, in CarnetCliente int, in CliTrabajador int, in CliDireccion varchar(50), in CliDNI int, in CliTelefono int, in CliNombre varchar(80), in CliApellido varchar(80)) insert into Cliente (idCliente,CarnetCliente,CliTrabajador,CliDireccion,CliDNI,CliTelefono,CliNombre,Cl iApellido) values(idCliente,CarnetCliente,CliTrabajador,CliDireccion,CliDNI,CliTelefono,CliNom bre,CliApellido); -------Ejecutar Procedimiento-------------call veterinariadb.ProInsertCliente (1,01,1,'Direccion del trabajador',1,123456,'Nombre del cliente','Apellido del cliente'); *********************************************************************************** ********** 4.Insertar datos en la tabla Animal create procedure ProInsertAnimal( in AniCliente int, in Nombre varchar(40), in Edad int) insert into Animal(AniCliente,Nombre,Edad) values(AniCliente,Nombre,Edad); --------------Ejecutar Procedimiento--------------call veterinariadb.ProInsertAnimal (1,'Guau',6); ***************************************************************************** 5.Insertar datos en tabla historial create procedure ProInsertHistorial( in HisAnimal int, in HisFecha date,

in HisCirugiaRevisionCura varchar(100)) insert into Historial(HisAnimal,HisFecha,HisCirugiaRevisionCura) values(HisAnimal,HisFecha,HisCirugiaRevisionCura); --------------Ejecutar Procedimiento--------------call veterinariadb.ProInsertHistorial (1,'2017/11/27','Datos del Historial'); ****************************************************************************** 6.Insertar datos en la tabla Servicio create procedure ProInsertServicio( in serCliente int, in SerClinica varchar(80), in SerSalonBelleza varchar(80), in SerTienda varchar(45)) insert into Servicio(serCliente,SerClinica,SerSalonBelleza,SerTienda) values(serCliente,SerClinica,SerSalonBelleza,SerTienda); --------------Ejecutar Procedimiento--------------call veterinariadb.ProInsertServicio (1,'Servicio Clinica','Servicio salon belleza','Servicio tienda'); ************************************************************************** 7.Insertar datos en la tabla pedido create procedure ProInsertPedido( in PedServicio int, in PedTipo varchar(20), in idArticulo int) insert into Pedido(PedServicio,PedTipo,idArticulo) values(PedServicio,PedTipo,idArticulo); -----------------------Ejecutar procedimiento------------call veterinariadb.ProInsertPedido (1,'Tipo de pedido',1); ********************************************************** 8.insertar datos en la tabla Producto create procedure ProInsertProducto( in ProPedido int, in ProTipo varchar(20), in ProStockMinimo int, in ProStockActual int) insert into Producto(ProPedido,ProTipo,ProStockMinimo,ProStockActual) values(ProPedido,ProTipo,ProStockMinimo,ProStockActual); -----------Ejecutar Procedimineto----------call veterinariadb.ProInsertProducto (1,'Tipo producto',1,1); ************************************************************* 9.insertar datos en la tabla Producto has Proveedor create procedure ProInsertProducProveedor( in idProveedores int, in idProducto int) insert into Productohasproveedor(idProveedores,idProducto)

values(idProveedores,idProducto); ------------Ejecutar Procedimiento-------------call veterinariadb.ProInsertProducProveedor (1,1); ******************************************************************* 10.Insertar datos en la tabla reservas create procedure ProInsertReserva( in RedServicio int, in ResFechaHora date) insert into Reservas(RedServicio,ResFechaHora) values(RedServicio,ResFechaHora); ---------------Ejecutar Procedimiento-----------call veterinariadb.ProInsertReserva (1,'2017/11/27'); *********************************************************************************** ********** *********************************************************************************** ********** Funciones 1.Funcion que permite conocer la cantidad de clientes que esta atendiendo el centro veterinario. delimiter // create function cuantosclientes() returns int begin declare cantidad int; select count(*) into cantidad from cliente; return cantidad; end ; // 2.funcion que determina el promedio de edades de los animales en el centro veterinario. delimiter // create function promedioedadanimal() returns float begin declare promedioedadanimal float; select avg(edad) into promedioedadanimal from animal; return promedioedadanimal; end; // 3. Funcion que permite conocer el animal con la edad mas corta en a�os. delimiter // create function animalmenor() returns varchar (255) begin declare datos varchar (255); select concat_ws (' - ', nombre, edad) into datos from animal where edad = (select min(edad) from animal); return datos; end; //

4. funcion para saber

del animal mas longevo o viejo del centro.

delimiter // create function longevoanimal() returns varchar (255) begin declare info varchar (255); select concat_ws(' - ', nombre, edad) into info from animal where edad = (select max(edad) from animal); return info; end; // 5. funcion con la que evidenciamos la cantidad de animales atendidos en el centro veterinario. delimiter // create function cantidadanimal() returns int begin declare cantidad int; select count(*) into cantidad from animal; return cantidad; end; // *********************************************************************************** ************ *********************************************************************************** ************ desencadenadores. TRIGGER 1. CREATE TRIGGER animalupdate BEFORE UPDATE ON animal FOR EACH ROW INSERT INTO trigger_animal (DocumentoAnterior, ClaseAnterior, NombreAnterior, EdadAnterior, DocumentoNuevo, ClaseNuevo, NombreNuevo, EdadNuevo) VALUES (OLD.idAnimal, OLD.Anicliente, OLD.nombre, OLD.Edad, NEW.idAnimal, NEW.aniCliente, NEW.nombre, NEW.edad); 2. CREATE TRIGGER clienteupdate BEFORE UPDATE ON cliente FOR EACH ROW INSERT INTO trigger_cliente (DocumentoAnterior,CarnetAnterior,TrabajadorAnterior,DireccionAnterior,DNIAnterior, TelefonoAnterior,NombreAnterior,ApellidoAnterior,DocumentoNuevo,CarnetNuevo,Trabaja dorNuevo,DireccionNuevo,DNINuevo,TelefonoNuevo,NombreNuevo,ApellidoNuevo) VALUES (OLD.idCliente,OLD.CarnetCliente,OLD.CliTrabajador,OLD.CliDireccion,OLD.CliDNI,OLD. CliTelefono,OLD.Clinombre,OLD.CliApellido,NEW.idCliente,NEW.CarnetCliente,NEW.CliTr abajador,NEW.CliDireccion,NEW.CliDNI,NEW.CliTelefono,NEW.Clinombre,NEW.CliApellido) ; 3. CREATE TRIGGER pedidoupdate BEFORE UPDATE ON pedido FOR EACH ROW INSERT INTO trigger_pedido (DocumentoAnterior, ServicioAnterior, TipoAnterior, ArticuloAnterior, DocumentoNuevo, ServicioNuevo, tipoNuevo, ArticuloNuevo) VALUES (OLD.idPedido, OLD.PedServicio, OLD.PedTipo, OLD.idArticulo, NEW.idPedido, NEW.PedServicio, NEW.PedTipo, NEW.idArticulo);

4. CREATE TRIGGER proveedoresupdate BEFORE UPDATE ON proveedores FOR EACH ROW INSERT INTO trigger_proveedores (DocumentoAnterior, DocumentoNuevo) VALUES (OLD.idProveedores, NEW.idProveedores); 5. CREATE TRIGGER trabajadorupdate BEFORE UPDATE ON trabajador FOR EACH ROW INSERT INTO trigger_trabajador (DocumentoAnterior, DNIAnterior, DatosAnterior, DocumentoNuevo, DNINuevo, DatosNuevo) VALUES (OLD.idTrabajador, OLD.TraDNI, OLD.TraDatos, NEW.idtrabajador, NEW.TraDNI, NEW.TraDatos);