Вы находитесь на странице: 1из 7

PRACTICA DIRIGIDA DE SQL.

Realizar una base de datos de nombre tienda que se relacione con la actividad de una
pequea empresa que vende artculos (papelera) a clientes.
La empresa debe almacenar informacin de cada uno de sus clientes.
La empresa debe almacenar informacin de los artculos que vende.
El negocio debe almacenar datos de las ventas que realiza
Todas las ventas generan un ticket o nota de venta con su correspondiente detalle que
describe el producto que se vende, la cantidad, el precio y el importe que el producto de
precio X cantidad.

1. Crear base de datos tienda.

create database tienda;


2. Diseo de BD sugerida.


3. Cdigo SQL para crear tablas con sus correspondientes relaciones entre las tablas
que lo requieran:
a. clientes: Tabla con llave primaria rfc
b. productos: Tabla con llave primaria clave_producto
c. ventas: Tabla con llave primaria no_venta y llave fornea rfc
d. detalleventas: Tabla SIN llave primaria y dos forneas: no_venta y
clave_producto.







4. Script SQL para agregar 10 registros a clientes. [10 insert].
Nota slo se muestran 3 registros para efectos de prctica.

delete from clientes;

insert into clientes (rfc, paterno, materno, nombre,
calle_no, colonia, ciudad, telefono)
values ('LALO101010', 'LARES', 'LOPEZ', 'OSVALO',
'20 DE NOVIEMBRE 2010 PTE.', 'CENTRO', 'DURANGO',
'6181345678');

insert into clientes (rfc, paterno, materno, nombre,
calle_no, colonia, ciudad, telefono)
values ('PACO101010', 'PAEZ', 'CORDOVA', 'OSCAR',
'FELIPE PESCADOR', 'CENTRO', 'DURANGO', '6182030409');

insert into clientes (rfc, paterno, materno, nombre,
calle_no, colonia, ciudad, telefono)
values ('GALO101010', 'GARCIA', 'LARES', 'OLGA',
'NEGRETE 1005 NTE.','CENTRO', 'DURANGO', '6181234568');



select * from clientes;

















5. Script SQL para agregar 10 productos [10 insert].
Nota slo se muestran 9 registros para efectos de prctica.

delete from productos;

insert into productos (clave_producto, descripcion, costo)
values ('LIB100X', 'LIBRETA MARCA X', 56.70);

insert into productos (clave_producto, descripcion, costo)
values ('PLU100X', 'PLUMA MARCA X', 5.00);

insert into productos (clave_producto, descripcion, costo)
values ('GOMAX', 'GOMA MARCA X', 2);

insert into productos (clave_producto, descripcion, costo)
values ('LIB100Y', 'LIBRETA MARCA Y', 76.90);

insert into productos (clave_producto, descripcion, costo)
values ('PLU100Y', 'PLUMA MARCA Y', 5.60);

insert into productos (clave_producto, descripcion, costo)
values ('GOMAY', 'GOMA MARCA Y', 4);

insert into productos (clave_producto, descripcion, costo)
values ('LIB100Z', 'LIBRETA MARCA Z', 89.90);

insert into productos (clave_producto, descripcion, costo)
values ('PLU100Z', 'PLUMA MARCA Z', 7.60);

insert into productos (clave_producto, descripcion, costo)
values ('GOMAZ', 'GOMA MARCA Z', 6.50);

select * from productos;









6. Script SQL para agregar 5 ventas incluyendo su detalle. [5 insert]
Nota : slo se agregan 2 ventas incluyendo su detalle para efectos de prctica

delete from detalleventas;

delete from ventas;

-- Primera Venta Incluyendo su Detalle
start transaction;

-- Se agrega una nueva venta
-- El valor a campo total queda pendiente ...
-- deber ser la suma de todos los importes de dicho
-- nmero de venta.
insert into ventas (no_venta, fecha, rfc)
values (100, '2010-03-04','LALO101010');

-- se detalla la venta nmero 100
-- se compraron 2 productos diferentes
-- 5 y 10 cantidades de cada uno
insert into detalleventas (no_venta, clave_producto,
cantidad, precio, importe)
values (100, 'LIB100X', 5, 65.90, cantidad * precio);

insert into detalleventas (no_venta, clave_producto,
cantidad, precio, importe)
values (100, 'PLU100Z', 10, 9.90, cantidad * precio);


commit;













-- Segunda Venta Incluyendo su Detalle
start transaction;

-- Se agrega una nueva venta
-- El valor a campo total queda pendiente ...
-- deber ser la suma de todos los importes de dicho
-- nmero de venta.
insert into ventas (no_venta, fecha, rfc)
values (101, '2010-06-07','GALO101010');

-- se detalla la venta nmero 100
-- se compraron 3 productos diferentes
-- LINRETA, PLUMA Y GOMA DE LA MARCA "Y"
-- 2, 4, y 6 cantidades de cada uno
insert into detalleventas (no_venta, clave_producto,
cantidad, precio, importe)
values (101, 'LIB100Y', 2, 86.90, cantidad * precio);

insert into detalleventas (no_venta, clave_producto,
cantidad, precio, importe)
values (101, 'PLU100Y', 4, 7.90, cantidad * precio);

insert into detalleventas (no_venta, clave_producto,
cantidad, precio, importe)
values (101, 'GOMAY', 6, 6.50, cantidad * precio);


commit;

-- Notas:
-- POR LAS REGLAS DE RELACION O DE INTEGRIDAD REFERENCIAL
-- Es necesario capturar clientes de aquellos que existan en tabla clientes;
-- De igual forma es necesario capturar productos (las clavbes) de aquellos
-- productos que esxistan en tabla productos.}

select * from ventas;

select * from detalleventas;

Las transacciones en base de datos significan que se hace todas las instrucciones o
no se hace nada. Sirve para asegurarse que se realice todas las operaciones para
en caso de que exista algn error, se guarde consistencia en la BD.

7. Script SQL para hacer eliminaciones de registros [5 delete]
Nota: Slo se muestra un delete.

Eliminar datos de un cliente que exista:
delete from clientes
where rfc = ALGO;

8. Script SQL para hacer modificaciones [5 update]
Nota: Slo se muestra un update.

Modificar datos de un ciente.
update clientes
set paterno = nuevo, materno = nuevo
where rfc = 'LALO101010';

9. Script SQL para hacer consultas varias. [10 select]
a. Lista de todos los clientes
b. Lista de productos
c. Los datos de un cliente
d. Datos del costo que tiene un producto en particular
e. Quienes viven en la Cd. de DURANGO
f. Cul es el detalle de una venta en particular por ejemplo la venta 100.
g. Lista de todas las ventas (SIN DETALLE)
h. Lista de los clientes con algn apellido.
i. Lista de los datos de un producto buscados por su descripcin.
j. Informacin de la venta que se la ha hecho a un cliente por ejemplo a
'LALO101010'.

Вам также может понравиться