Pract Proc Admbd - 28!11!2022 - A (2) S

Descargar como doc, pdf o txt
Descargar como doc, pdf o txt
Está en la página 1de 6

IESTP “GILDA BALLIVÍAN ROSADO” ADMINISTRACIÓN DE BASE DE DATOS

FILA : A
DISEÑAR LA SIGUIENTE BASE DE DATOS EN DBDESIGNER, LUEGO EXPORTARLO A
PHPMYADMIN Y REALIZAR LOS PROCEDIMIENTOS ALMADENADOS.

Un cliente puede comprar uno o muchos productos y un producto puede ser comprado por un cliente o
muchos. ( 4 ptos )

Base de Datos : Venta

DOCENTE : MG. DAVID HUANASCA RIVAS


IESTP “GILDA BALLIVÍAN ROSADO” ADMINISTRACIÓN DE
BASE DE DATOS
Tabla: cliente Tabla : producto
Codigoc Integer llave primaria Codigop Integer llave primaria
Apellido varchar (30) Nombrep varchar (30)
Nombre varchar (30) Precio doublé
Edad Integer
Sexo varchar(1)

DOCENTE : MG. DAVID HUANASCA RIVAS


IESTP “GILDA BALLIVÍAN ROSADO” ADMINISTRACIÓN DE BASE DE DATOS

Cliente

Codigoc Apellidos Nombres Edad Sexo


1 ATIQUIPA JANANPA, Walter 14 H
2 BECERRA TORRES, Shonatan 17 H
3 BLAS HUERTA, Erickson 16 H
4 CONDORI LOPEZ, Aparicio Eduardo 18 H
5 CHUMPITAZ RUIZ, Andrés Héctor 15 H
6 FLORES RAMOS, Roxana Reynalda 16 M
7 GUTIERREZ ANTEZANA, Elizabeth 17 M
8 HUAMAN CALDERON, Selene Milagros 19 M
9 PALLI ÑOPE, Elizabeth 20 M
Roxana
10 PILLHUAMAN GOMEZ, Karen 17 M
Stefhanny
11 PORTA ÑAVINCOPA, Marcos Antonio 16 H
12 QUISPE CHIRE, Jesus Rully 15 H
13 RAMPAS LINARES, Doralice 17 M
14 RIPAS MAMANÍ, Jafet 14 M
15 TREJO ESPINOZA, Maynor Hiro 19 H
16 YANAKA CARDENAS, María Andrea 17 M

producto

codigop Nombrep precio


1 DVD 2
2 CD 1
3 Teclado 20
4 Mouse 15
5 Webcam 25
6 Case 40
7 Parlante 18
8 USB 35
9 Fuente de Poder 45
10 Supresor de Pico 15

cliente_has_producto

codigoc codigop cantidad precio descuento Subtotal


1 1 2
1 2 1
1 3 20
1 4 15

DOCENTE : MG. DAVID HUANASCA RIVAS


IESTP “GILDA BALLIVÍAN ROSADO” ADMINISTRACIÓN DE BASE DE DATOS
PROCEDIMIENTOS ALMACENADOS

1) Realizar un procedimiento almacenado que inserte datos a la tabla producto. ( 2 ptos )

CREATE PROCEDURE INSERPRO


(
NOMP VARCHAR(45),
PRE DOUBLE
)
BEGIN
INSERT INTO producto VALUES (NULL,NOMP,PRE);
END

CALL INSERPRO("DVD",2)

2) Realizar un procedimiento almacenado que inserte datos a la tabla cliente. Si el sexo es “H” en
condición será “masculino”, si sexo es “M” condición será “femenino”. ( 2 ptos )

CREATE PROCEDURE INSERTCLI


(
APELL VARCHAR(45),c
NOM VARCHAR(45),
EDAD INT,
SEX VARCHAR(1)
)
BEGIN
IF SEX="H" THEN
INSERT INTO cliente VALUES(NULL,APELL,NOM,EDAD,SEX,"Masculino");
ELSE
INSERT INTO cliente VALUES(NULL,APELL,NOM,EDAD,SEX,"Femenino");
END IF;
END

CALL INSERTCLI("Yanaka","Maria",17,"M")

3) Realizar un procedimiento almacenado que inserte datos a la tabla cliente_has_producto. Si el


precio es mayor que 20 el descuento será 10% de su precio, en caso contrario será cero. ( 3 ptos )

CREATE PROCEDURE INSERTCLIPRO


(
CP INT,
CC INT,
CANT INT,
)
BEGIN
DECLARE DES DOUBLE;
DECLARE PRE DOUBLE;
DECLARE CANT DOUBLE;
DOCENTE : MG. DAVID HUANASCA RIVAS
IESTP “GILDA BALLIVÍAN ROSADO” ADMINISTRACIÓN DE BASE DE DATOS
SET PRE=(SELECT Precio FROM producto WHERE CodP=CP);

IF PRE>20 THEN
SET DES= 0.10*PRE;
ELSE
SET DES=0;
END IF;

INSERT INTO producto_has_cliente VALUES(CP,CC,NULL,PRE,DES,NULL);


END

CALL INSERTCLI(1,1,2)

4) Realizar un procedimiento almacenado que compare la cantidad de hombres y mujeres y muestre


cuál de los dos tienen mayor cantidad”. ( 3 ptos )
CREATE PROCEDURE COMPAHM
(
)
BEGIN

DECLARE CANTH VARCHAR(1);


DECLARE CANTM VARCHAR(1);
SELECT COUNT(Sexo) INTO CANTH FROM cliente WHERE Sexo="H";
SELECT COUNT(Sexo) INTO CANTM FROM cliente WHERE Sexo="M";
SET CANTH=(SELECT Total FROM cliente WHERE Sexo=H);
SET CANTM=(SELECT Total FROM cliente WHERE Sexo=M);

IF CANTH>CANTM THEN
SET CANTH= "Hombres mayor";
ELSE
SET CANTM= "Mujeres mayor";
END IF;
END

5) Realizar un procedimiento almacenado que compare la cantidad de clientes mayores de edad con
la cantidad de clientes menores de edad y muestre cuál de los dos tienen menor cantidad”. ( 3 ptos
)

CREATE PROCEDURE COMPMAYORMENOR


(
)
BEGIN

DECLARE CANTMAYOR INT;


DECLARE CANTMENOR INT;
SELECT COUNT(Edad) INTO CANTMAYOR FROM cliente WHERE WHERE Edad>=18;
SELECT COUNT(Edad) INTO CANTMENOR FROM cliente WHERE Edad<18;
SET CANTMAYOR=(SELECT Total FROM cliente WHERE Edad>=18);
SET CANTMENOR=(SELECT Total FROM cliente WHERE Edad<18);

DOCENTE : MG. DAVID HUANASCA RIVAS


IESTP “GILDA BALLIVÍAN ROSADO” ADMINISTRACIÓN DE BASE DE DATOS
IF CANTMAYOR>CANTMENOR THEN
SET CANTMAYOR= "La mayoria son mayores de edad";
ELSE
SET CANTMENOR= "La mayoria son menores de edad";
END IF;
END

6) Realizar un procedimiento almacenado que determine la cantidad de productos cuyos precios son
mayores a 30. Realizar otro procedimiento que determine la cantidad de productos cuyos precios
son 30 o menos. ( 3 ptos )

DOCENTE : MG. DAVID HUANASCA RIVAS

También podría gustarte