Sunteți pe pagina 1din 7

Se desea crear una base de datos para el control de una refaccionaria.

Todos los productos


existentes de la refaccionaria deben ser catalogados y los datos de inters son: cdigo de
identificacin, nombre, descripcin, costo de compra que solo podr ser visualizado por el
encargado; precio al pblico, precio de descuento especial para clientes frecuentes. Todos
los productos deben de tener un registro de compra y venta, cantidad existente, cantidad de
unidades vendidas, empleado que las vendi, empleado quien las registro.
Existe la opcin de correccin de compras y ventas, devolucin de productos. Para la
devolucin de productos se debe considerar los siguientes campos: venta, compra, factura y
nmero de folio.
Para la compra y venta de productos es necesario considerar el nombre del producto,
cantidad y la forma de pago, que esta puede ser crdito y contado. Las compras a crdito
tienen un cierto lapso de tiempo a pagar.
Es necesario almacenar los datos de los clientes normales y clientes frecuentes, nombre,
direccin, RFC, telfono, aval y el correo electrnico.
Para los proveedores se necesita guardar el razn social,direccin, telfono, RFC, plazos si
existe crdito, fecha de compra, producto adquirido.
Se deben registrar dichas compras a proveedor con los siguientes datos: no. de proveedor,
registro de compra a crdito o de contado, fecha de compra, tipo de producto.

FACTURA
Id factura

Fecha

TotalFact

No Cliente

CLIENTE
No Cliente

Nombre

Direccin

RFC

E-mail

Descuento

No_Compras

Tipo_cliente

COMPRA_CLIENTE
Id producto

No Cliente

cantidad

PRODUCTO
Id_producto

Nombre

Descripcion

PrecioPublico

PrecioDscto

PrecioMaxDescto

Tipo_producto

PROVEE

PROVEEDOR
Id_proveedor

RazonSocial

Direccin

Estado

Id producto

RFC

Id proveedor

cantidad

VENDE
Id producto

Id EmpleadoM
TICKET_VENTA
No Ticket

Total_Pagar

Tipo_Pago

Id_EmpleadoM

No_Cliente

EMPLEADO_MOSTRADOR
Id EmpleadoM

VentasDia

FechaIng

sueldo

Nombre

CORRECION
REPORTE_VENTA
No Venta

Total

No Correcion
Fecha

Id_Producto

ClaveAdmin

No Venta

No_Ticket

REPORTE_COMPRA

EMPLEADO_ENCARG
Id EmpleadoE

Descripcion

Id_EmpleadoM

FechaIng

sueldo

Nombre

No Compra

Total

Fecha

Id_EmpleadoE

Id_Producto

Id_Proveedor

ellebkey@Benihime:~$ mysql -h localhost -u root -p


Enter password:
mysql> create DATABASE Refaccionaria;
mysql> Use Refaccionaria;
Database changed
mysql> create table Producto(Id_Producto varchar(10) not null primary key, Nombre varchar(20),Descripcion varchar(20),PrecioPublic float(10,2),PrecioDscto
float(10,2), PrecioMaxDscto float(10,2) ,Tipo varchar(20));
mysql> create table Proveedor(Id_Proveedor integer not null primary key, RazonSocial varchar(20),Direccion varchar(30),Estado varchar(15),RFC varchar(15));
mysql> create table Cliente(No_Cliente integer not null primary key, Nombre varchar(30),Direccion varchar(30),RFC varchar(15), Email varchar(30), Descuento
varchar(5), Nocompras integer, TipoCliente varchar(15));
mysql> create table Factura(Id_Factura varchar (20)not null primary key,Fecha date,Total_Fac float(10,2),No_Cliente integer references Cliente);
mysql> create table Compra_Cliente(Id_Producto varchar(20) references Producto,No_Cliente integer references Cliente,cantidad integer,primary key
(Id_Producto,No_Cliente));
mysql> create table Empleado_Encargado(Id_EmpleadoE varchar (20),Clave_Admin varchar(20),Fecha_Ingreso date,Sueldo float(10,2),Nombre varchar(20),primary key
(Id_EmpleadoE,Clave_Admin));
mysql> create table Provee(Id_Producto varchar(10)references Producto,Id_Proveedor integer references Proveedor,cantidad integer,primary key
(Id_Producto,Id_Proveedor));
mysql> create table Reporte_Compra(No_Compra integer not null primary key,Total float(10,2),Fecha date,Id_EmpleadoE varchar(20)references
Empleado_Encargado,Id_Producto varchar(20)references Provee,Id_Proveedor integer references Provee);
mysql> create table Empleado_Mostrador(Id_EmpleadoM varchar(20),Ventas_Dia integer,Fecha_Ingreso date,Sueldo float(10,2),Nombre varchar(20), primary key
(Id_EmpleadoM,Ventas_Dia));
mysql> create table Vende(Id_Producto varchar(20) references Producto,Id_EmpleadoM varchar(20)references Empleado_Mostrador,primary key
(Id_Producto,Id_EmpleadoM));
mysql> create table create table Reporte_Venta(No_Venta integer primary key,Total float(10,2),Fecha date,Id_Producto varchar(20) references Venta,Id_empleadoM
varchar(20)references Empleado_Mostrador);
mysql> create table Ticket_Venta(No_Ticket integer primary key,Total_Pagar float(10,2),Tipo_Pago varchar(20),Id_EmpleadoM varchar(20)references
Vende,No_Cliente integer references Cliente);
mysql> create table Correccion(No_Correccion integer primary key,Descripcion varchar(20),No_Venta integer references Reporte_Venta,No_Ticket integer
references Ticket_Venta);
mysql> insert Producto values('GP-149','Filtro Aceite','Nissan Camioneta',50.00,45.00,45.00,'Miscelaneos')
.
.
mysql> insert Producto values('13011-1','Antigongelante 5lts','Todos los Carros',165.00,160.00,150.00,'Aceite');
mysql> select * from Producto;
+-------------+---------------------+------------------+--------------+-------------+----------------+-------------+
| Id_Producto | Nombre
| Descripcion
| PrecioPublic | PrecioDscto | PrecioMaxDscto | Tipo
|
+-------------+---------------------+------------------+--------------+-------------+----------------+-------------+
| GP-149
| Filtro Aceite
| Nissan Camioneta |
50.00 |
45.00 |
45.00 | Miscelaneos |
| Foco Stop
| Universales
|
5.00 |
5.00 |
5.00 | Accesorio
|
| 1034
| Filtro Aire
| VW Sedan
|
50.00 |
45.00 |
45.00 | Miscelaneos |
| GAVW-2
| Balata Delantera
| Tsuru III
|
175.00 |
165.00 |
150.00 | Accesorios |
| M-7389-z
| Balata Trasera
| Tsuru III
|
215.00 |
195.00 |
0.00 | Accesorios |
| J1N4-1438
| Radiador
| Tsuru III
|
1200.00 |
1100.00 |
1000.00 | Suspension |
| RC-624
| Kit Embrague
| Tsuru III
|
900.00 |
850.00 |
800.00 | Accesorio
|
| 620015017
| Anticongelante lt
| Todos los Carros |
45.00 |
40.00 |
40.00 | Aceite
|
| 13011
| Antigongelante 5lts | Todos los Carros |
165.00 |
160.00 |
150.00 | Aceite
|
| 13011-1
+-------------+---------------------+------------------+--------------+-------------+----------------+-------------+
mysql> insert Proveedor values('3','Nissan S.A de C.V','Av Insurgentes s/n','DF','Nme610911l71');
.
.
mysql> insert Proveedor values('31','Castrol S.A de C.V','Av Santa Fe 505','DF','CME-950418-1V9');
mysql> select * from Proveedor;
+--------------+-------------------------+-----------------------+------------+----------------+
| Id_Proveedor | RazonSocial
| Direccion
| Estado
| RFC
|
+--------------+-------------------------+-----------------------+------------+----------------+
|
3 | Nissan S.A de C.V
| Av Insurgentes s/n
| DF
| Nme610911l71
|
25 | Gonher S.A de C.V
| Manuel Ordonez 600
| Nuevo Leon | 8311166z4
|
|
47 | Quaker State S.A de C.V | Plaza Mayorazgo No. 7 | DF
| COL-840703-FV9 |
|
10 | Bardahl S.A de C.V
| Calle 1 Norte 169
| DF
| 211434970016
|
|
31 | Castrol S.A de C.V
| Av Santa Fe 505
| DF
| CME-950418-1V9 |
|
+--------------+-------------------------+-----------------------+------------+----------------+
mysql> insert Cliente values(105,'Joel Barranco Jimenez','Calle Fuente de Morfeo 2','BAJJ921110','rakjo.aniel@gmail.com','No',10,'Normal');
.
.
mysql> insert Cliente values(150,'Edgard Benitez Guerrero','Av Avila Camacho s/n','BGEI651224','cursofei@gmail.com','Si',20,'Frecuente');
mysql> select * from Cliente;
+------------+------------------------------+--------------------------+-------------+------------------------+-----------+-----------+-------------+
| No_Cliente | Nombre
| Direccion
| RFC
| Email
| Descuento | Nocompras | TipoCliente |
+------------+------------------------------+--------------------------+-------------+------------------------+-----------+-----------+-------------+
|
105 | Joel Barranco Jimenez
| Calle Fuente de Morfeo 2 | BAJJ921110 | rakjo.aniel@gmail.com | No
|
10 | Normal
|
112 | Adrian Bautista Hernandez
| Circuito Presidentes
| BAHA9205260 | adriano@hotmailcom.com | No
|
5 | Normal
|
|
123 | Victor Enrique Sanchez Landa | Perote
| SLVE910718 | xtui@hotmail.com
| No
|
7 | Normal
|
|
150 | Edgard Benitez Guerrero
| Av Avila Camacho s/n
| BGEI651224 | cursofei@gmail.com
| Si
|
20 | Frecuente
|
|
+------------+------------------------------+--------------------------+-------------+------------------------+-----------+-----------+-------------+
mysql> insert Factura values(210,'2012-02-27',215.00,123);
mysql> insert Factura values(211,'2012-03-12',315.00,105);
mysql> insert Factura values(212,'2012-03-20',1260.00,150);
mysql> select* from Factura;
+------------+------------+-----------+------------+
| Id_Factura | Fecha
| Total_Fac | No_Cliente |

+------------+------------+-----------+------------+
| 210
| 2012-02-27 |
215.00 |
123 |
| 2012-03-12 |
315.00 |
105 |
| 211
| 2012-03-20 |
1260.00 |
150 |
| 212
+------------+------------+-----------+------------+
mysql> insert Compra_Cliente values('GP-149',123,1);
.
.
mysql> insert Compra_Cliente values('13011-1',150,1);
mysql> select * from Compra_Cliente;
+-------------+------------+----------+
| Id_Producto | No_Cliente | cantidad |
+-------------+------------+----------+
| GP-149
|
123 |
1 |
|
123 |
1 |
| M-7389-z
|
105 |
1 |
| J1N4-1438
|
105 |
2 |
| GAVW-2
|
150 |
1 |
| RC-624
|
150 |
1 |
| 13011-1
+-------------+------------+----------+
mysql> insert Empleado_Encargado values('Jame47','pass0123','2011-01-20',1250.00,'Jose Armando');
mysql> select * from Empleado_Encargado;
+--------------+-------------+---------------+---------+--------------+
| Id_EmpleadoE | Clave_Admin | Fecha_Ingreso | Sueldo | Nombre
|
+--------------+-------------+---------------+---------+--------------+
| Jame47
| pass0123
| 2011-01-20
| 1250.00 | Jose Armando |
+--------------+-------------+---------------+---------+--------------+
mysql> insert Empleado_Mostrador values('CharlyM',10,'2011-06-11',1050.00,'Carlos Arturo');
mysql> insert Empleado_Mostrador values('Sabinux',7,'2011-04-17',900.00,'Sabino Landero');
mysql> insert Empleado_Mostrador values('mecanic02',7,'2010-09-20',1105.00,'Abraham Hernandez');
mysql> select * from Empleado_Mostrador;
+--------------+------------+---------------+---------+-------------------+
| Id_EmpleadoM | Ventas_Dia | Fecha_Ingreso | Sueldo | Nombre
|
+--------------+------------+---------------+---------+-------------------+
| CharlyM
|
10 | 2011-06-11
| 1050.00 | Carlos Arturo
|
7 | 2011-04-17
| 900.00 | Sabino Landero
|
| Sabinux
|
7 | 2010-09-20
| 1105.00 | Abraham Hernandez |
| mecanic02
|
+--------------+------------+---------------+---------+-------------------+
mysql> insert Provee values('GP-149',25,10);
.
.
mysql> insert Provee values('13011',31,20);
mysql> select * from Provee;
+-------------+--------------+----------+
| Id_Producto | Id_Proveedor | cantidad |
+-------------+--------------+----------+
| GP-149
|
25 |
10 |
|
25 |
15 |
| 1034
|
47 |
9 |
| RC-624
|
3 |
14 |
| 620015017
|
10 |
5 |
| GAVW-2
|
31 |
20 |
| 13011
+-------------+--------------+----------+
mysql> insert Reporte_Compra values(200,500.00,'2012-05-20','Jame47','GP-149','25');
.
.
mysql> insert Reporte_Compra values(205,900.00,'2012-05-24','Jame47','13011','31');
mysql> select * from Reporte_Compra;
+-----------+----------+------------+--------------+-------------+--------------+
| No_Compra | Total
| Fecha
| Id_EmpleadoE | Id_Producto | Id_Proveedor |
+-----------+----------+------------+--------------+-------------+--------------+
|
200 |
500.00 | 2012-05-20 | Jame47
| GP-149
|
25 |
201 |
75.00 | 2012-05-20 | Jame47
| 1034
|
25 |
|
202 | 10800.00 | 2012-05-21 | Jame47
| RC-624
|
47 |
|
203 | 12600.00 | 2012-05-22 | Jame47
| 620015017
|
3 |
|
204 |
250.00 | 2012-05-23 | Jame47
| GAVW-2
|
10 |
|
205 |
900.00 | 2012-05-24 | Jame47
| 13011
|
31 |
|
+-----------+----------+------------+--------------+-------------+--------------+
mysql> insert Vende values('GP-149','CharlyM');
.
.
mysql> insert Vende values('13011-1','mecanic02');
mysql> select * from Vende;
+-------------+--------------+
| Id_Producto | Id_EmpleadoM |
+-------------+--------------+
| 13011-1
| mecanic02
|
| Sabinux
|
| GAVW-2
| CharlyM
|
| GP-149
| Sabinux
|
| J1N4-1438
| CharlyM
|
| M-7389-z
| mecanic02
|
| RC-624
+-------------+--------------+
mysql> insert Reporte_Venta values(501,50.00,'2012-02-27','GP-149','CharlyM');.
.
.
mysql> insert Reporte_Venta values(506,1100.00,'2012-03-20','RC-624','mecanic02');
mysql> select * from Reporte_Venta;
+----------+---------+------------+-------------+--------------+

| No_Venta | Total
| Fecha
| Id_Producto | Id_empleadoM |
+----------+---------+------------+-------------+--------------+
|
501 |
50.00 | 2012-02-27 | GP-149
| CharlyM
|
502 | 175.00 | 2012-02-27 | M-7389-z
| CharlyM
|
|
503 | 215.00 | 2012-03-12 | J1N4-1438
| Sabinux
|
|
504 | 100.00 | 2012-03-12 | GAVW-2
| Sabinux
|
|
505 | 160.00 | 2012-03-20 | 13011-1
| mecanic02
|
|
506 | 1100.00 | 2012-03-20 | RC-624
| mecanic02
|
|
+----------+---------+------------+-------------+--------------+
mysql> insert Ticket_Venta values(520,215.00,'Contado','CharlyM','123');
mysql> insert Ticket_Venta values(521,315.00,'Contado','Sabinux','105');
mysql> insert Ticket_Venta values(522,1260.00,'Credito','CharlyM','150');
mysql> select * from Ticket_Venta;
+-----------+-------------+-----------+--------------+------------+
| No_Ticket | Total_Pagar | Tipo_Pago | Id_EmpleadoM | No_Cliente |
+-----------+-------------+-----------+--------------+------------+
|
520 |
215.00 | Contado
| CharlyM
|
123 |
521 |
315.00 | Contado
| Sabinux
|
105 |
|
522 |
1260.00 | Credito
| CharlyM
|
150 |
|
+-----------+-------------+-----------+--------------+------------+
mysql> insert Correccion values(20,'Mal funcionamiento','501','520');
mysql> insert Correccion values(21,'Defectuoso','505','522');
mysql> select * from Correccion;
+---------------+--------------------+----------+-----------+
| No_Correccion | Descripcion
| No_Venta | No_Ticket |
+---------------+--------------------+----------+-----------+
|
20 | Mal funcionamiento |
501 |
520 |
21 | Defectuoso
|
505 |
522 |
|
+---------------+--------------------+----------+-----------+
-------------------------------------------------------------------------------------------------------------------------------Consultas
-------------------------------------------------------------------------------------------------------------------------------1.-Mostrar el nombre de los empleados con mas de 8 ventas en el dia.
mysql> select Nombre,Ventas_Dia from Empleado_Mostrador em where em.ventas_dia > 8;
+---------------+------------+
| Nombre
| Ventas_Dia |
+---------------+------------+
| Carlos Arturo |
10 |
+---------------+------------+
2.-Mostrar las facturas del cliente Edgard Benitez Guerrero.
mysql> select Id_Factura, Fecha, Total_Fac from Factura f, Cliente c where
+------------+------------+-----------+
| Id_Factura | Fecha
| Total_Fac |
+------------+------------+-----------+
| 212
| 2012-03-20 |
1260.00 |
+------------+------------+-----------+

f.No_Cliente = c.No_Cliente and c.Nombre = 'Edgard Benitez Guerrero';

3.-Mostrar las ventas del dia 2012/03/12


mysql> select * from Reporte_Venta rv where rv.Fecha = '2012-03-12';
+----------+--------+------------+-------------+--------------+
| No_Venta | Total | Fecha
| Id_Producto | Id_empleadoM |
+----------+--------+------------+-------------+--------------+
|
503 | 215.00 | 2012-03-12 | J1N4-1438
| Sabinux
|
504 | 100.00 | 2012-03-12 | GAVW-2
| Sabinux
|
|
+----------+--------+------------+-------------+--------------+
4.-Mostrar el total a pagar del ticket numero 520.
mysql> select Total_Pagar from Ticket_Venta tv where tv.No_ticket = 520;
+-------------+
| Total_Pagar |
+-------------+
|
215.00 |
+-------------+
5.-Mostrar los productos que compro el cliente 150.
mysql> select p.Nombre,p.Descripcion from Producto p,Cliente c,Compra_Cliente cc where p.Id_Producto=cc.Id_Producto and c.No_Cliente=cc.No_Cliente and
c.No_Cliente=150;
+---------------------+------------------+
| Nombre
| Descripcion
|
+---------------------+------------------+
| Antigongelante 5lts | Todos los Carros |
| Radiador
| Tsuru III
|
+---------------------+------------------+
6.-Mostrar el nombre del empleado que hizo la Venta numero 505.
mysql> select em.Nombre,rv.Id_EmpleadoM from Empleado_Mostrador em,Reporte_Venta rv where rv.No_Venta=505 and rv.Id_EmpleadoM=em.Id_EmpleadoM;
+-------------------+--------------+
| Nombre
| Id_EmpleadoM |
+-------------------+--------------+
| Abraham Hernandez | mecanic02
|
+-------------------+--------------+
7.-Mostrar en que fecha(s) se el encargado compro el producto GAVW-2.
mysql> select rc.Fecha,p.Id_Producto from Reporte_Compra rc, Producto p, Provee pv where p.Id_Producto=pv.Id_Producto and pv.Id_Proveedor=rc.Id_Proveedor and
rc.Id_producto='GAVW-2';
+------------+-------------+
| Fecha
| Id_Producto |
+------------+-------------+
| 2012-05-23 | GAVW-2
|
+------------+-------------+
8.-Mostrar la cantidad del producto RC-624 que provee 47.
mysql> select cantidad from Provee p where p.Id_producto='RC-624' and p.Id_Proveedor=47;
+----------+
| cantidad |

+----------+
|
9 |
+----------+
9.-Mostrar el nombre del empleado que realizo la Correcion del cliente 123.
mysql> select mr.Nombre from Cliente c,Ticket_Venta tv,Correccion cr,Reporte_Venta rv, Empleado_Mostrador mr where c.No_Cliente=123 and
c.No_Cliente=tv.No_Cliente and tv.No_Ticket=cr.No_Ticket and cr.No_Venta=rv.No_Venta and rv.Id_EmpleadoM=mr.Id_EmpleadoM;
+---------------+
| Nombre
|
+---------------+
| Carlos Arturo |
+---------------+
10.-Mostrar el Numero de Factura del Ticket numero 521.
mysql> select f.Id_Factura from Factura f, Cliente c, Ticket_Venta tv where tv.No_Ticket=521 and f.No_Cliente=c.No_Cliente and tv.No_Cliente=c.No_Cliente;
+------------+
| Id_Factura |
+------------+
| 211
|
+------------+

S-ar putea să vă placă și