





Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
La estructura de bases de datos para un sistema de ventas, incluyendo tablas como cliente, compra, cuenta2, lista_compras, personas, productos, proveedor y vendedor. Se detallan las columnas de cada tabla, las restricciones y los disparadores que se utilizan para actualizar la información de las tablas. Además, se muestra cómo se relacionan las tablas entre sí.
Tipo: Ejercicios
1 / 9
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
-- Volcado SQL de phpMyAdmin -- versión 5.1. -- https://www.phpmyadmin.net/ -- -- Servidor: 127.0.0.1: -- Tiempo de generación: 25-01-2023 a las 17:02: -- Versión del servidor: 5.7. -- Versión de PHP: 7.4. ESTABLECER SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; INICIAR TRANSACCIÓN; ESTABLECER zona_horaria = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT /; /!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS /; /!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION /; /!40101 ESTABLECER NOMBRES utf8mb4 */; -- -- Base de datos: tienda
--
-- -- Estructura de tabla para la tabla cliente
-- DROP TABLE SI EXISTE cliente
; CREAR TABLA SI NO EXISTE cliente
( id_persona
int(11) NO NULO, CLAVE PRIMARIA (id_persona
) ) MOTOR = InnoDB JUEGO DE CARACTERES PREDETERMINADO = latin1; -- -- Volcado de datos para la tabla cliente
-- INSERTAR EN VALORES cliente
(id_persona
) (1);
-- -- Estructura de tabla para la tabla compra
--
DROP TABLE SI EXISTE compra
; CREAR TABLA SI NO EXISTE compra
( no_compra
int(11) NO NULO, id_cliente
int(11) POR DEFECTO NULO, fecha fecha
DEFAULT NULL, total_compra
flotante DEFAULT NULL, CLAVE PRIMARIA (no_compra
), CLAVE id_cliente
(id_cliente
) ) MOTOR = InnoDB JUEGO DE CARACTERES PREDETERMINADO = latin1; -- -- Volcado de datos para la tabla compra
-- INSERTAR EN compra
(no_compra
, id_cliente
, fecha
, total_compra
) VALORES (1, 1, '2022-02-02', 0), (2, 1, '2021-09-08', 0), (3, 1, '2003-09-09', 0), (4, 1, '2002-01-05', 0), (5, 1, '2012-01-05', 24.9); -- -- Disparadores compra
-- SOLTAR GATILLO SI EXISTE inicio_compra
; DELIMITADOR $$ CREAR DISPARADOR inicio_compra
ANTES DE INSERTAR EN compra
PARA CADA FILA COMIENZO Establecer new.total_compra=0; Fin $$ DELIMITADOR ;
-- -- Estructura de tabla para la tabla cuenta
-- DROP TABLE SI EXISTE cuenta
; CREAR TABLA SI NO EXISTE cuenta
( id
int(11) NO NULO, correo
varchar(50) POR DEFECTO NULO, mancha contraseña
, CLAVE PRIMARIA (id
) ) MOTOR = MyISAM JUEGO DE CARACTERES PREDETERMINADO = latin1;
SOLTAR TABLA SI EXISTE lista_compras
; CREAR TABLA SI NO EXISTE lista_compras
( no_compra
int(11) NO NULO, id_producto
int(11) NO NULO, cantidad
int(11) DEFAULT NULL, total
flotante DEFAULT NULL, CLAVE PRIMARIA (no_compra
,id_producto
), CLAVE id_producto
(id_producto
) ) MOTOR = InnoDB JUEGO DE CARACTERES PREDETERMINADO = latin1; -- -- Volcado de datos para la tabla lista_compras
-- INSERTAR EN lista_compras
(no_compra
, id_producto
, cantidad
, total
) VALORES (1, 1, 10, 124,5), (2, 1, 2, 24.9), (3, 1, 2, 24.9), (4, 1, 2, 24.9), (5, 1, 2, 24.9); -- -- Disparadores lista_compras
-- SOLTAR GATILLO SI EXISTE actualiza_compra1
; DELIMITADOR $$ CREAR DISPARADOR actualiza_compra1
DESPUÉS DE INSERTAR EN lista_compras
PARA CADA FILA COMIENZO DECLARAR flotación total; seleccione total en ntotal de lista_compras donde no_compra=new.no_compra; actualizar compra set total_compra=ntotal donde no_compra=new.no_compra; Fin $$ DELIMITADOR ; SOLTAR GATILLO SI EXISTE actualiza_compra2
; DELIMITADOR $$ CREAR DISPARADOR actualiza_compra2
DESPUÉS DE ACTUALIZAR EN lista_compras
PARA CADA FILA COMIENZO DECLARAR nprecio flotante; SELECT precio_venta en nprecio de productos donde id=new.id_producto; UPDATE compra SET total_compra=new.cantidad*nprecio donde compra.no_compra=new.no_compra; Fin $$ DELIMITADOR ; SOLTAR GATILLO SI EXISTE actualiza_monto
;
CREAR DISPARADOR actualiza_monto
ANTES DE ACTUALIZAR EN lista_compras
PARA CADA FILA COMIENZAR DECLARAR monto flotante; DECLARAR total_compra float; DECLARAR cant_productos int; SELECCIONE precio_venta EN monto de productos donde id=new.id_producto; ACTUALIZAR lista_compras set total=new.cantidadmonto donde id=new.id_producto; FIN $$ DELIMITADOR ; SOLTAR GATILLO SI EXISTE actualiza_stock
; DELIMITADOR $$ CREAR DISPARADOR actualiza_stock
ANTES DE ACTUALIZAR EN lista_compras
PARA CADA FILA COMIENZAR ACTUALIZAR productos SET stock=stock- new.cantidad donde productos.id=new.id_producto; FIN $$ DELIMITADOR ; SOLTAR GATILLO SI EXISTE agregar_stock
; DELIMITADOR $$ CREAR DISPARADOR agregar_stock
ANTES DE INSERTAR EN lista_compras
PARA CADA FILA COMIENZAR DECLARAR cant_productos int; SELECCIONE stock en cant_productos de productos donde id=new.id_producto; ACTUALIZAR productos set stock=cant_productos-new.cantidad donde id=new.id_producto; FIN $$ DELIMITADOR ; SOLTAR GATILLO SI EXISTE inicia_lista_compra
; DELIMITADOR $$ CREAR DISPARADOR inicia_lista_compra
ANTES DE INSERTAR EN lista_compras
PARA CADA FILA Comenzar DECLARAR precio_producto float; select precio_venta into precio_producto from productos donde id=new.id_producto; set new.total=new.cantidadprecio_producto; FIN $$ DELIMITADOR ;
-- -- Estructura de tabla para la tabla personas
--
productos
INSERT INTO productos
(id
, nombre
, precio_venta
, stock
) VALORES (1, 'galletas', 12.45, 30);
-- -- Estructura de tabla para la tabla proveedor
-- DROP TABLE SI EXISTE proveedor
; CREAR TABLA SI NO EXISTE proveedor
( id
int(11) NO NULO, nombre
varchar(50) CONJUNTO DE CARACTERES utf8 DEFAULT NULL, direccion
varchar(50) CONJUNTO DE CARACTERES utf8 DEFAULT NULL, RFC
varchar(50) CONJUNTO DE CARACTERES utf8 POR DEFECTO NULO, CLAVE PRIMARIA (id
) ) MOTOR = InnoDB JUEGO DE CARACTERES PREDETERMINADO = latin1;
-- -- Estructura de tabla para la tabla registro_ventas
-- DROP TABLE SI EXISTE registro_ventas
; CREAR TABLA SI NO EXISTE registro_ventas
( id_registro
int(11) NO NULO, id_vendedor
int(11) POR DEFECTO NULO, no_compra
int(11) POR DEFECTO NULO, CLAVE PRIMARIA (id_registro
), CLAVE id_vendedor
(id_vendedor
), CLAVE no_compra
(no_compra
) ) MOTOR = InnoDB JUEGO DE CARACTERES PREDETERMINADO = latin1;
-- -- Estructura de tabla para la tabla vendedor
-- DROP TABLE SI EXISTE vendedor
; CREAR TABLA SI NO EXISTE vendedor
( id_persona
int(11) NO NULO, fecha_contratacion
fecha DEFAULT NULL,
CLAVE PRIMARIA (id_persona
) ) MOTOR = InnoDB JUEGO DE CARACTERES PREDETERMINADO = latin1; -- -- Restricciones para tablas volcadas -- -- -- Filtros para la tabla cliente
-- ALTER TABLA cliente
AÑADIR RESTRICCIÓN cliente_ibfk_1
CLAVE EXTRANJERA (id_persona
) REFERENCIAS personas
(id
), AÑADIR RESTRICCIÓN cliente_ibfk_2
CLAVE EXTRANJERA (id_persona
) REFERENCIAS personas
(id
); -- -- Filtros para la tabla compra
-- ALTERAR TABLA compra
AGREGAR RESTRICCIÓN compra_ibfk_1
CLAVE EXTRANJERA (id_cliente
) REFERENCIAS cliente
(id_persona
), AÑADIR RESTRICCIÓN compra_ibfk_2
CLAVE EXTRANJERA (id_cliente
) REFERENCIAS cliente
(id_persona
); -- -- Filtros para la tabla distribuye
-- ALTER TABLA distribuye
AÑADIR RESTRICCIÓN distribuye_ibfk_1
CLAVE EXTRANJERA (id_proveedor
) REFERENCIAS proveedor
(id
), AGREGAR RESTRICCIÓN distribuye_ibfk_2
CLAVE EXTRANJERA (id_producto
) REFERENCIAS productos
(id
); -- -- Filtros para la tabla lista_compras
-- ALTERAR TABLA lista_compras
AÑADIR RESTRICCIÓN lista_compras_ibfk_1
CLAVE EXTRANJERA (no_compra
) REFERENCIAS compra
(no_compra
), AGREGAR RESTRICCIÓN lista_compras_ibfk_2
CLAVE EXTRANJERA (id_producto
) REFERENCIAS productos
(id
); -- -- Filtros para la tabla registro_ventas
-- ALTERAR TABLA registro_ventas