0% encontró este documento útil (0 votos)
1 vistas5 páginas

Base de Datos de Cliente

La base de datos 'inventario' está diseñada conforme a las normativas venezolanas de facturación, incluyendo campos obligatorios como RIF del cliente, descripción de productos, y consideraciones de IVA y moneda. Se establecen relaciones entre las tablas 'almacen', 'clientes' y 'ventas' para mantener la integridad referencial, permitiendo un control eficiente del inventario y la generación de facturas. El script SQL proporcionado permite crear la base de datos y sus tablas, cumpliendo con los requisitos establecidos.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
1 vistas5 páginas

Base de Datos de Cliente

La base de datos 'inventario' está diseñada conforme a las normativas venezolanas de facturación, incluyendo campos obligatorios como RIF del cliente, descripción de productos, y consideraciones de IVA y moneda. Se establecen relaciones entre las tablas 'almacen', 'clientes' y 'ventas' para mantener la integridad referencial, permitiendo un control eficiente del inventario y la generación de facturas. El script SQL proporcionado permite crear la base de datos y sus tablas, cumpliendo con los requisitos establecidos.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

La base de datos "inventario" se diseña considerando las normativas venezolanas para

facturación (Providencia Administrativa SNAT/2024/000102 y normas previas como la


Providencia 0257/2008, actualizadas por el SENIAT). Esto incluye campos obligatorios
para facturas como RIF del cliente, descripción de productos, cantidades, precios, IVA
(alícuota estándar del 16%), totales, fecha, y consideraciones para moneda (Bs o USD, dada
la permisividad en divisas extranjeras en Venezuela). Los "factores externos" en ventas y
facturación se contemplan con campos para IVA, moneda y tasa de cambio (influenciada
por regulaciones del BCV). Para clientes, se incluye RIF (obligatorio para contribuyentes) y
datos básicos para identificación fiscal.

Las tablas están relacionadas mediante claves primarias y foráneas para mantener
integridad referencial: "ventas" referencia a "clientes" y "almacen" para asociar ventas con
clientes y productos. La tabla "ventas" actúa como detalle de líneas de factura, permitiendo
múltiples ítems por número de factura (agrupados por "numero_factura"), lo que permite
control de inventario y generación de facturas completas sin necesidad de tablas
adicionales, cumpliendo con el requisito de solo 3 tablas.

Campo Tipo Restricciones Descripción

Identificador único del


id_almacen INT PK, AUTO_INCREMENT
producto

nombre VARCHAR(100) NOT NULL Nombre del producto

Descripción detallada
descripcion TEXT
requerida en facturas

stock INT DEFAULT 0 Cantidad disponible

precio_unitario DECIMAL(10,2) NOT NULL Precio base del producto


IVA estándar en
alicuota_iva DECIMAL(5,2) DEFAULT 16.00
Venezuela
unidad_medida VARCHAR(50) Unidad de medida
Tabla: clientes (Datos de clientes)

Incluye datos fiscales obligatorios como RIF para validación tributaria y facturación.

Campo Tipo Restricciones Descripción

id_cliente INT PK, AUTO_INCREMENT Identificador del cliente

razon_social VARCHAR(200) NOT NULL Nombre o razón social

RIF o Cédula (requerido


rif VARCHAR(20) UNIQUE, NOT NULL
por SENIAT)

direccion TEXT NOT NULL Domicilio fiscal

telefono VARCHAR(20) Teléfono de contacto

email VARCHAR(100) Correo electrónico


Tabla: ventas (Datos de facturas)
Esta tabla almacena datos de ventas/facturas, considerando factores externos como IVA,
moneda y tasa de cambio. Cada fila representa un ítem de una factura; múltiples filas con el
mismo "numero_factura" forman una factura completa. Esto permite deducir stock de
"almacen" y generar facturas con totales calculados.

Campo Tipo Restricciones Descripción


PK,
id_venta INT Identificador de la venta
AUTO_INCREMENT

numero_factura VARCHAR(20) NOT NULL Número de factura

fecha DATE NOT NULL Fecha de emisión

id_cliente INT FK Cliente asociado

id_almacen INT FK Producto vendido

cantidad INT CHECK (>0) Cantidad vendida

precio_unitario DECIMAL(10,2) NOT NULL Precio al momento de la venta

subtotal DECIMAL(10,2) NOT NULL cantidad × precio

monto_iva DECIMAL(10,2) NOT NULL IVA calculado

total DECIMAL(10,2) NOT NULL Total por línea

moneda ENUM('BS','USD') DEFAULT 'BS' Tipo de moneda


tasa_cambio DECIMAL(10,2) DEFAULT 1.00 Tasa de cambio
Script SQL para Crear la Base de Datos
Puedes ejecutar este script en phpMyAdmin (incluido en WampServer o XAMPP) para
crear la base de datos y tablas. Asegúrate de que MySQL esté corriendo en localhost.

-- Crear la base de datos

CREATE DATABASE IF NOT EXISTS inventario CHARACTER SET utf8mb4 COLLATE


utf8mb4_general_ci;

USE inventario;

-- Tabla almacen

CREATE TABLE IF NOT EXISTS almacen (

id_almacen INT AUTO_INCREMENT PRIMARY KEY,

nombre VARCHAR(100) NOT NULL,

descripcion TEXT,

stock INT DEFAULT 0,

precio_unitario DECIMAL(10,2) NOT NULL,

alicuota_iva DECIMAL(5,2) DEFAULT 16.00,

unidad_medida VARCHAR(50)

);

-- Tabla clientes

CREATE TABLE IF NOT EXISTS clientes (

id_cliente INT AUTO_INCREMENT PRIMARY KEY,

razon_social VARCHAR(200) NOT NULL,

rif VARCHAR(20) UNIQUE NOT NULL,

direccion TEXT NOT NULL,

telefono VARCHAR(20),

email VARCHAR(100)

);
-- Tabla ventas

CREATE TABLE IF NOT EXISTS ventas (

id_venta INT AUTO_INCREMENT PRIMARY KEY,

numero_factura VARCHAR(20) NOT NULL,

fecha DATE NOT NULL,

id_cliente INT NOT NULL,

id_almacen INT NOT NULL,

cantidad INT NOT NULL CHECK (cantidad > 0),

precio_unitario DECIMAL(10,2) NOT NULL,

subtotal DECIMAL(10,2) NOT NULL,

monto_iva DECIMAL(10,2) NOT NULL,

total DECIMAL(10,2) NOT NULL,

moneda ENUM('BS', 'USD') DEFAULT 'BS',

tasa_cambio DECIMAL(10,2) DEFAULT 1.00,

FOREIGN KEY (id_cliente) REFERENCES clientes(id_cliente) ON DELETE CASCADE,

FOREIGN KEY (id_almacen) REFERENCES almacen(id_almacen) ON DELETE RESTRICT

);

-- Ejemplo de inserción (opcional, para testing)

INSERT INTO almacen (nombre, descripcion, stock, precio_unitario, unidad_medida) VALUES


('Tornillo', 'Tornillo de acero 5cm', 100, 2.50, 'unidad');

INSERT INTO clientes (razon_social, rif, direccion) VALUES ('Empresa XYZ', 'J-12345678-9', 'Caracas,
Venezuela');

INSERT INTO ventas (numero_factura, fecha, id_cliente, id_almacen, cantidad, precio_unitario,


subtotal, monto_iva, total) VALUES ('FAC-0001', '2026-01-23', 1, 1, 10, 2.50, 25.00, 4.00, 29.00);

También podría gustarte