Skip to content
erDiagram
    CLIENTES ||--o{ FACTURAS : tiene
    FACTURAS ||--o{ VENTAS : incluye
    PRODUCTOS ||--o{ VENTAS : participa
    CATEGORIAS ||--o{ PRODUCTOS : clasifica
    PROVEEDORES ||--o{ PRODUCTOS : suministra

    CLIENTES {
        INT ID_CLIENTE PK
        VARCHAR NOMBRE
        VARCHAR DIRECCION
        VARCHAR TELEFONO
    }

    FACTURAS {
        INT ID_FACTURA PK
        DATE FECHA
        INT ID_CLIENTE FK
    }

    VENTAS {
        INT ID_VENTA PK
        INT ID_FACTURA FK
        INT ID_PRODUCTO FK
        INT CANTIDAD
    }

    PRODUCTOS {
        INT ID_PRODUCTO PK
        VARCHAR DESCRIPCION
        DECIMAL PRECIO
        INT ID_CATEGORIA FK
        INT ID_PROVEEDOR FK
    }

    CATEGORIAS {
        INT ID_CATEGORIA PK
        VARCHAR DESCRIPCION
    }

    PROVEEDORES {
        INT ID_PROVEEDOR PK
        VARCHAR NOMBRE
        VARCHAR DIRECCION
        VARCHAR TELEFONO
    }
sql
CREATE TABLE CLIENTES (
    ID_CLIENTE INT PRIMARY KEY,
    NOMBRE VARCHAR(100),
    DIRECCION VARCHAR(200),
    TELEFONO VARCHAR(20)
);

CREATE TABLE PROVEEDORES (
    ID_PROVEEDOR INT PRIMARY KEY,
    NOMBRE VARCHAR(100),
    DIRECCION VARCHAR(200),
    TELEFONO VARCHAR(20)
);

CREATE TABLE CATEGORIAS (
    ID_CATEGORIA INT PRIMARY KEY,
    DESCRIPCION VARCHAR(100)
);

CREATE TABLE PRODUCTOS (
    ID_PRODUCTO INT PRIMARY KEY,
    DESCRIPCION VARCHAR(200),
    PRECIO DECIMAL(10,2),
    ID_CATEGORIA INT,
    ID_PROVEEDOR INT,
    FOREIGN KEY (ID_CATEGORIA) REFERENCES CATEGORIAS(ID_CATEGORIA),
    FOREIGN KEY (ID_PROVEEDOR) REFERENCES PROVEEDORES(ID_PROVEEDOR)
);

CREATE TABLE FACTURAS (
    ID_FACTURA INT PRIMARY KEY,
    FECHA DATE,
    ID_CLIENTE INT,
    FOREIGN KEY (ID_CLIENTE) REFERENCES CLIENTES(ID_CLIENTE)
);

CREATE TABLE VENTAS (
    ID_VENTA INT PRIMARY KEY,
    ID_FACTURA INT,
    ID_PRODUCTO INT,
    CANTIDAD INT,
    FOREIGN KEY (ID_FACTURA) REFERENCES FACTURAS(ID_FACTURA),
    FOREIGN KEY (ID_PRODUCTO) REFERENCES PRODUCTOS(ID_PRODUCTO)
);

Publicado bajo la licencia MIT.