15
/*EJECUCION 1---------------------------------------------------------------------------------*/ Create Database Ferreteria /*EJECUCION 2---------------------------------------------------------------------------------*/ use Ferreteria Create Table Ofertas ( Id_Art char(15), Fvigencia datetime, Precio_Oferta numeric(9,2), ) Create Table Articulos ( Id_Art char(15), Descripcion char(65), Precio_Costo numeric(9,2), Precio_Vta_Mayoreo numeric(9,2), Precio_Vta_Menudeo numeric(9,2), Id_Unidad char(3), Ubicacion char(10), Existencia numeric(7,2), Id_Grupo char(2), Equivalencia numeric(3), Patron_Medida char(1), Maximo numeric(4), Minimo numeric(4), Promedio numeric(4), Compuesto char(2), ) Create Table Grupos ( Id_Grupo char(2), Descripcion char(25), ) Create Table Unidades ( Id_Unidad char(3), Descripcion char(15), Abreviatura char(4), ) Create Table Det_Vta ( Id_Art char(15),

2) BD - Ferreteria

  • Upload
    daaha2

  • View
    226

  • Download
    7

Embed Size (px)

DESCRIPTION

Database

Citation preview

Page 1: 2) BD - Ferreteria

/*EJECUCION 1---------------------------------------------------------------------------------*/

Create Database Ferreteria

/*EJECUCION 2---------------------------------------------------------------------------------*/

use Ferreteria

Create Table Ofertas(

Id_Art char(15),Fvigencia datetime,Precio_Oferta numeric(9,2),

)

Create Table Articulos(

Id_Art char(15),Descripcion char(65),Precio_Costo numeric(9,2),Precio_Vta_Mayoreo numeric(9,2),Precio_Vta_Menudeo numeric(9,2),Id_Unidad char(3),Ubicacion char(10),Existencia numeric(7,2),Id_Grupo char(2),Equivalencia numeric(3),Patron_Medida char(1),Maximo numeric(4),Minimo numeric(4),Promedio numeric(4),Compuesto char(2),

)

Create Table Grupos(

Id_Grupo char(2),Descripcion char(25),

)

Create Table Unidades(

Id_Unidad char(3),Descripcion char(15),Abreviatura char(4),

)

Create Table Det_Vta(

Id_Art char(15),Cantidad numeric(5,2),Precio numeric(7,2),Id_Venta char(10),Descto numeric(5,2),Id_Unidad char(3),

)

Create Table Det_Compra(

Id_Compra char(10),Id_Art char(15),

Page 2: 2) BD - Ferreteria

Precio numeric(7,2),Cantidad numeric(5,2),Descto numeric(5,2),Id_Unidad char(3),

)

Create Table Proveedor(

RFC char(13),Id_Prov char(3),Nombre char(60),Calle char(35),Colonia char(30),Ciudad char(18),CP char(6),Estado char(15),Telefono char(10),Correo char(35),Contacto char(40),Clabe_Cta char(18),Id_Banco char(2),

)

Create Table Clientes(

Id_Cte char(3),RFC char(13),Nombre char(60),Calle char(35),Colonia char(40),CP char(6),Ciudad char(18),Estado char(15),Telefono char(10),Limite_Credito numeric(5),Correo char(35),Contacto char(40),Clabe_Cta char(18),Fecha datetime,Id_Agente char(3),Dias_Credito numeric(3),

)

/*Correccion de longitud al atributo RFC de la tabla Clientes en caso de que le hubiera puesto un valor diferente

ALTER table Clientesalter column RFC char(13)

*/

Create Table Ventas(

Id_Venta char(10),No_Factura char(10),Id_Cte char(3),Descto numeric(5,2),Fecha datetime,Docto_Expedido char(1),Lugar_Exp char(18),Forma_Pago char(2),Cta_Banco char(4),P_IVA numeric(5,2),Fecha_Venc datetime,

Page 3: 2) BD - Ferreteria

Id_Agente char(3),)

Create Table Agentes(

Id_Agente char(3),Nombre char(60),

)

Create Table Bancos(

Id_Banco char(2),Descripcion char(20),Telefono char(10),Calle char(35),Colonia char(30),Ciudad char(18),Estado char(15),CP char(6),

)

Create Table Compras(

Id_Compra char(10),No_Factura char(10),Id_Prov char(3),Fecha datetime,Lugar_Exp char(15),Forma_Pago char(2),Descto numeric(5,2),Cta_Banco char(4),Fecha_Venc datetime,P_IVA numeric(5,2),Id_Agente char(3),Docto_Expedido char(1),

)

/*EJECUCION 3---------------------------------------------------------------------------------*//*

Los datos de la tabla que yo habìa hecho ya remplazaremos con los datos que dio el profe

INSERT INTO Articulos values('CAJACLAVOS','CLAVOS',420.30,'CAJ','BODEGA1',50,'CO',737.50,551.90,???,'?',

100, 20, 60)

INSERT INTO Articulos values('CABLENUM12','CABLEADO ELECTRICO

NUM12',105.00,'CAJ','BODEGA2',25,'HI',737.50,551.90,???,'?', ????, ????, ????)

INSERT INTO Articulos values('HIDROROTOPLAS34','HIDROBOMBA

ROTOPLAS',428.67,'PZ','????',25,'HI',737.50,551.90,???,'?', ????, ????, ????)

INSERT INTO Articulos values('HIDROROTOPLAS34','HIDROBOMBA

ROTOPLAS',428.67,'PZ','????',25,'HI',737.50,551.90,???,'?', ????, ????, ????)

INSERT INTO Articulos

Page 4: 2) BD - Ferreteria

values('HIDROROTOPLAS34','HIDROBOMBA ROTOPLAS',428.67,'PZ','????',25,'HI',737.50,551.90,???,'?', ????, ????, ????)*/

/*DATOS PROVISTOS POR EL PROFE....Grpos, Unidades y Articulos*/

INSERT INTO Gruposvalues('01','MAT. ELECTRICO')

INSERT INTO Gruposvalues('02','PINTURAS')

INSERT INTO Gruposvalues('03','HERRAMIENTAS')

INSERT INTO Unidadesvalues('01','metro','mt')

INSERT INTO Unidadesvalues('02','caja','caja')

INSERT INTO Unidadesvalues('03','pieza','pza')

INSERT INTO Unidades values('04','kilogramo','kg')

INSERT INTO Articulosvalues('1','Cable Electrico No12',8,10,12,'02','A4',10,'01',100,'2',50,5,7,'02')

INSERT INTO Articulosvalues('2','Lata 18 Lts Rojo',126,180,240,'04','B2',12,'02',18,'2',7,2,5,'03')

INSERT INTO Articulosvalues('3','Llave Perica No4',80,120,90,'03','A14',8,'03',1,'1',5,2,3,'03')

INSERT INTO Articulosvalues('4','Tubo PVC 4 pulgadas',60,90,140,'01','B6',15,'04',6,'2',15,4,6,'03')

INSERT INTO Articulosvalues('5','Lata 1 Lts Azul', 35, 45, 68,'04','A7',20,'02',1,'1',15,5,8,'04')

INSERT INTO Articulosvalues('6','Juego llaves Allen',120,160,270,'03','A3',4,'03',1,'1',3,1,2,'03')

/*-------------------------------------------------------------------------*//*-------------------------------------------------------------------------*//*-------------------------------------------------------------------------*/

INSERT INTO Clientes values('JCR','PERC123837H9T','JASSO CONSTRUCTORES','BLVD FCO

IMADERO','GUADALUPE','25750','MONCLOVA','COAHUILA','8666334652',10000,'[email protected]','JOSE LUIS SANCHEZ ORTIZ','123345647991345648','12/10/2012','YVS',128)

INSERT INTO Clientes values('CJI','CJIM983436G9W','CONSTRUCTORA JIMENEZ','BLVD.

B.JUAREZ

Page 5: 2) BD - Ferreteria

','GUADALUPE','25750','MONCLOVA','COAHUILA','8666358467',50000,'[email protected]','HUMBERTO RAMIREZ SALAS','539871315471379413','15/03/2012','FRM',324)

INSERT INTO Clientes values('HIP','HINP731568K6C','HINOJOSA PREMEZCLADOS','LIB. CARLOS SALINAS DE

GORTARI','OCCIDENTAL','28930','FRONTERA','COAHUILA','8666329436',35000,'[email protected]','GUILLERMO DURAN ESPINOSA','671365482634428167','16/10/2012','HOP',60)

INSERT INTO Clientes values('DIA','DIAZ387648Y4S','ELECTRONICA DIAZ','VENUSTIANO

CARRANZA','CENTRO','25000','MONCLOVA','COAHUILA','8666351158',28000,'[email protected]','VICENTE RUIZ JARAMILLO','834561397781314516','16/10/2012','MLD',55)

INSERT INTO Clientes values('HVE','RPES164557A1Q','HERRERIA VELEZ','RAMOS

ARIZPE','REVOLUCION','25630','SAN BUENAVENTURA','COAHUILA','8661308462',300,'[email protected]','DANIEL BUENTELLO PEREZ','729435913349135441','24/09/2012','DSC',85)

INSERT INTO Agentes values('YVS','YUVISELA VELAZQUEZ SANCHEZ')

INSERT INTO Agentes values('FRM','FRANCISO ROMO MARTINEZ')

INSERT INTO Agentes values('HOP','HUGO OLVERA PEREZ')

INSERT INTO Agentes values('MLD','MONICA LOPEZ DURAN')

INSERT INTO Agentes values('DSC','DANIEL SALAZAR CISNEROS')

INSERT INTO Proveedor values('CEAP673482D6S','CAP','CEMENTOS APASCO S.A.','CARRETERA MTY-SALTILLO

KM.8','PROGRESO','MONTERREY','28690','NUEVO LEON','8181535732','[email protected]','ARMANDO MORALES NUÑES','376254543877351924','BR')

INSERT INTO Proveedor values('STER384657T2D','STR','STEREN DE MEXICO','AV. PINO SUAREZ','LOS

URDIALES','MONTERREY','28730','NUEVO LEON','8181525149','[email protected]','TERESA LOPEZ CASAS','671859325517954682','HS')

INSERT INTO Proveedor values('PHIL149366R6Q','PHI','PHILIPS GLOBAL','AV. MURILLO VIDAL','MITRAS

NORTE','MONTERREY','28740','NUEVO LEON','8181537822','[email protected]','ALFREDO MARTINEZ LIRA','716549351866421384','SR')

INSERT INTO Proveedor values('RTPL934725C2J','RTP','GRUPO ROTOPLAS','AV. LUIS DONALDO COLOSIO','SAN

FRANCISCO','SANTA CATARINA','28790','NUEVO LEON','8181541738','[email protected]','GABRIELA MEJIA ORTIZ','816347532498865617','SC')

Page 6: 2) BD - Ferreteria

INSERT INTO Proveedor values('TODE579324W5L','TOD','ACEROS Y PERFILES TODESA','LIB. CARLOS SALINAS DE

GORTARI','REGIDORES','FRONTERA','25850','COAHUILA','8666348257','[email protected]','NORBERTO GARCIA MUÑOZ','463817689423547896','BX')

INSERT INTO Bancos values('BR','BANCOMER','8666483782','BLVD. EJERCITO

NACIONAL','CHAMIZAL','MONCLOVA','COAHUILA','25843')

INSERT INTO Bancos values('HS','HSBC','8666973654','BLVD. HAROLD R.

PAPE','GUADALUPE','MONCLOVA','COAHUILA','26781')

INSERT INTO Bancos values('SR','SANTANDER','8666482794','BLVD. HAROLD R.

PAPE','GUADALUPE','MONCLOVA','COAHUILA','29574')

INSERT INTO Bancos values('SC','SCOTIABANK

INVERLAT','8666278366','CARRANZA','CENTRO','MONCLOVA','COAHUILA','26837')

INSERT INTO Bancos values('BX','BANAMEX','8666492461','AV.

MONTERREY','GUADALUPE','MONCLOVA','COAHUILA','24832')

INSERT INTO Compras

values('047','8','CAP','29/05/2012','FRONTERA','TA',10.5,'8324','29/08/2012',16,'YVS','T')

INSERT INTO Compras

values('038','47','STR','22/06/2012','CASTAÑOS','CO',12.5,'1379','22/09/2012',16,'FRM','F')

INSERT INTO Compras

values('071','24','PHI','04/10/2012','S.BUENAVENTURA','CO',11.7,'3984','04/12/2012',16,'HOP','T')

INSERT INTO Det_Compra values('047','1',12,3,5.4,'02')

INSERT INTO Det_Compra values('038','2',240,5,9.7,'04')

INSERT INTO Det_Compra values('071','3',90,7,4.1,'03')

INSERT INTO Ofertas values('1','31/12/2012',9)

INSERT INTO Ofertas values('2','31/12/2012',150)

INSERT INTO Ofertas values('3','31/12/2012',85)

Page 7: 2) BD - Ferreteria

INSERT INTO Ventas

values('001','1','JCR',20.32,'14/08/2011','F','SALTILLO','CO','6871',16.0,'14/09/2012','YVS')

INSERT INTO Ventas

values('002','3','CJI',10.5,'01/09/2012','T','TORREON','TA','8439',16.0,'01/10/2012','FRM')

INSERT INTO Ventas

values('003','6','HIP',12.3,'03/10/2012','T','MONCLOVA','TA','5914',16.0,'03/11/2012','HOP')

INSERT INTO Det_Vta values('1',9,12,'001',8.4,'02')

INSERT INTO Det_Vta values('2',6,240,'002',13.2,'04')

INSERT INTO Det_Vta values('3',7,90,'003',7.2,'03')

/*FIN DE EJECUCION 3---------------------------------------------------------------------------------*/

/*QUERY 1*//*1) Realizamos una venta al cliente 5 el dia de hoy, la cual facturamos con la

factura 25, lacual contiene el articulo 4 con 5 unidades y el articulo 6 con 2 unidades*/

Select *From Articulos

INSERT INTO Ventas

values('005','1','CJI',20.32,'28/10/2012','F','MONCLOVA','CO','6871',16.0,'28/11/2012','HOP')

INSERT INTO Det_Vta values('4',5,14,'005',8.4,'03')

INSERT INTO Det_Vta values('6',2,20,'005',8.4,'01')

Update Articulos set Existencia=Existencia-5where Id_Art ='4'

Update Articulos

Page 8: 2) BD - Ferreteria

set Existencia = Existencia-2where Id_Art ='6'

/*2) Cambiar la fecha de vencimiento de la venta cuyo Id_Venta es "X", poner como fecha de vencimiento 15 dias mas

a partir de la fecha actual*/Select *From Ventas /*Update Ventas

set Fecha_Venc = '28/10/2012'where Id_Venta ='005'

*/Update Ventas

set Fecha_Venc = DATEADD(DD ,15,Fecha_Venc)--set Fecha_Venc = DATEADD(DD ,15,GETDATE())--OTRA OPCION, SEGUN EL DIA ACTUALwhere Id_Venta = '005'

/*3) Cambiar el atributo Cuenta_Bco a tamaño 18 de la tabla "Ventas"*/ALTER Table Ventas

ALTER Column Cta_banco char(18)

/*--------------------------------------------------------QUERY 2

1) Mostrar todos los articulos del grupo 022) Modificar el precio de venta de los articulos del grupo 01 aumentandole un 10%3) ¿Cuantos articulos hay en la tabla de "Articulos"4) Muestre descripciòn del articulo, nombre del grupo al que pertenece por cada

articulo5) Muestre la descripcion, unidad(descripcion) de los articulos cuyo precio sea

mayor de $150.006) Cambie la existencia del articulo 2, disminuyala en 3 unidades7) Muestre todos los clientes que tienen cuyo limite de crèdito es mayor que 25008) Cambie el nombre de la unidad "kilogramo", ponga "kilo"9) ¿Cuantos clientes tiene la tabla "Clientes"?10) Ponga un nuevo campo en la tabla "Clientes" con el nombre "Pais" tipo character

de 15*/

/*1)*/Select *

From Articulos Where Id_Grupo = 02

/*2)*/Update Articulos

set Precio_Vta_Menudeo = Precio_Vta_Menudeo+(Precio_Vta_Menudeo *0.10)Where Id_Grupo = 01

Update Articulos set Precio_Vta_Mayoreo = Precio_Vta_Mayoreo+(Precio_Vta_Mayoreo *0.10)Where Id_Grupo = 01

/*Select *

From Articulos *//*3)*/

Page 9: 2) BD - Ferreteria

Select COUNT(Id_Art)From Articulos

/*4)*/Select A.Descripcion, B.Descripcion

From Articulos A, Grupos BWhere A.Id_Grupo = B.Id_Grupo

/*5)*/Select A.Descripcion, B.Descripcion

From Articulos A, Unidades BWhere (A.Id_Unidad = B.Id_Unidad) AND A.Precio_Vta_Menudeo >= 150

/*6*/Update Articulos

set Existencia = 3where Id_Art =2

/*Select *

From Articulos *//*7)*/Select *

From Clientes where Limite_Credito > 2500

/*8)*/

Update Unidades set Descripcion = 'kilo'where Descripcion = 'kilogramo'

/*Select *

From Unidades *//*9)*/Select COUNT(Id_Cte)

From Clientes /*Select *

From Clientes*/ /*10)*/

ALTER Table ClientesADD Pais char(15)

/*Select *

From Clientes *//*10)-CONTINUACION*/Update Clientes

set Pais = 'EU'where Id_Cte = 'JCR'

Update Clientes set Pais = 'ESPAÑA'where Id_Cte = 'CJI'

Update Clientes set Pais = 'ARGENTINA'

Page 10: 2) BD - Ferreteria

where Id_Cte = 'HIP'

Update Clientes set Pais = 'CANADA'where Id_Cte = 'DIA'

Update Clientes set Pais = 'MEXICO'where Id_Cte = 'HVE'

/*Select *

From Clientes */

/*--------------------------------------------------------------------------------*//*QUERY 3--------------------------------------------------------------------------------*/

/*Select *From Ventas

Select *From Det_Vta

Select *From Articulos */

/*1) Calcular el total vendido en el dia y mostrarlo*/

INSERT INTO Ventas

values('006','1','JCR',20.32,'28/10/2012','F','SALTILLO','CO','6871',16.0,'28/11/2012','YVS')

INSERT INTO Ventas

values('007','1','CJI',20.32,'28/10/2012','F','MONCLOVA','CO','6871',16.0,'28/11/2012','HOP')

INSERT INTO Ventas

values('008','1','HIP',20.32,'28/10/2012','F','SALTILLO','TA','6871',16.0,'28/11/2012','FRM')

INSERT INTO Det_Vta values('6',2,14,'006',8.4,'03')

INSERT INTO Det_Vta values('4',8,23,'007',8.4,'01')

INSERT INTO Det_Vta values('5',5,20,'008',8.4,'04')

INSERT INTO Det_Vta values('5',3,20,'007',9.3,'04')

/*Select *From Ventas

Page 11: 2) BD - Ferreteria

Select *From Det_Vta */Select sum(B.Precio*B.Cantidad) AS 'Total venta'

From Ventas A, Det_Vta BWhere A.Fecha = '28/10/2012' AND A.Id_Venta=B.Id_Venta

/*Where A.Fecha = getdate() AND A.Id_Venta=B.Id_Venta*/ --getdate() probablemente no aplique/*SELECT getdate() From Ventas

select getdate()*/

/*2) Mostrar cada una de las ventas con su detalle (No_Factura, Id_Art, Descripcion, Precio unitario(Precio) y Cantidad)*/Select A.Id_Venta, A.No_Factura,B.Id_Art, C.Descripcion, B.Precio, B.Cantidad

From Ventas A, Det_Vta B, Articulos CWhere A.Id_Venta= B.Id_Venta AND B.Id_Art=C.Id_Art

/*3) Muestre cuanto le hemos vendido al cliente "X" en el trasncurso del mes*/Select A.Id_Cte, A.Nombre,SUM(C.Cantidad*C.Precio) AS Total

From Clientes A, Ventas B, Det_Vta CWhere A.Id_Cte ='JCR' AND B.Fecha BETWEEN '01/10/2012' AND GETDATE() AND

A.Id_Cte=B.Id_Cte AND B.Id_Venta=C.Id_Venta Group By A.Id_Cte, A.Nombre

/*4) Muestre el nombre de cada producto, su existencia y sus precios de venta (de articulos cuyo "Precio_Costo" estè entre 50 y 100*/Select Descripcion, Existencia, Precio_Vta_Mayoreo, Precio_Vta_Menudeo, Precio_Costo

From Articulos Where Precio_Costo BETWEEN 50 AND 100

/*PENDIENTES*//*5) Cuantas unidades hemos vendido del articulo "X" y a cuanto asciende su $ dicha venta en el transcurso del mes actual*/

Select *From Det_Vta

Select *From Articulos

/*Select A. Id_Art, C. Descripcion, A.Cantidad, A.Precio, A.Id_Venta, SUM(A.Cantidad), SUM(A.Cantidad*A.Precio)

From Det_Vta A, Ventas B, Articulos CWhere A.Id_Art ='5' AND C.Id_Art=A.Id_Art AND A.Id_Venta=B.Id_Venta AND B.Fecha

BETWEEN '01/10/2012' AND GETDATE()GROUP BY A. Id_Art, C. Descripcion, A.Cantidad, A.Precio, A.Id_Venta

*/

Select SUM(A.Cantidad) AS 'Cantidad de Unidades', SUM(A.Cantidad*A.Precio) AS '$ TOTAL'From Det_Vta A, Ventas BWhere A.Id_Art ='5' AND A.Id_Venta=B.Id_Venta AND B.Fecha BETWEEN '01/10/2012' AND

GETDATE()

/*6) Elimine la factura No "X" y su detalle*/

Select *

Page 12: 2) BD - Ferreteria

From Ventas

Delete Ventas Where No_Factura='3'

/*7) Cuanto es el valor del Inventario actual*/Select *

From Articulos

Select SUM(Precio_Costo*Existencia)From Articulos

--EXTRAS-----------------EXTRAS-----------------EXTRAS-----------------EXTRAS---------------

Select PrecioFrom Det_Vta

Select CantidadFrom Det_Vta

Select sum(Precio)From Det_Vta

Select sum(Cantidad)From Det_Vta

Select (sum(Precio)/sum(Cantidad)) AS DIVISIONFrom Det_Vta

Select (Precio/Cantidad) AS DIVISIONFrom Det_Vta

Select Precio, CantidadFrom Det_Vta

Select Precio, CantidadFrom Det_Vta

Select AVG(A.Precio), AVG(A.Cantidad), SUM(B.Limite_Credito)From Det_Vta A, Clientes B--GROUP BY B.Limite_Credito

Select Limite_Credito From Clientes

Select SUM(Limite_Credito) From Clientes