# Creando la TABLE

<figure><img src="https://2388471899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT7EGcEJYcU0fHj1mL1yx%2Fuploads%2FP2xBjHD8wIBBX2tCQeFS%2Fimage.png?alt=media&#x26;token=ff4ff0a6-d76e-4a8e-a2c6-66f56e0a20e0" alt=""><figcaption><p>NORMALIZADO</p></figcaption></figure>

### Script de Creación de Base de Datos `BD_VENTAS`

```sql
-- ACTIVAMOS LA BD MASTER
USE master
GO

-- ELIMINAMOS UNA BASE DE DATOS (OPCIONAL)
-- DROP DATABASE BD_VENTAS
-- GO

-- CREAMOS LA BASE DE DATOS
CREATE DATABASE BD_VENTAS
GO

-- USAMOS LA BASE DE DATOS CREADA
USE BD_VENTAS
GO
```

***

#### Tabla: `CATEGORIA`

```sql
-- TABLA CATEGORIA
CREATE TABLE CATEGORIA (
	IDCATEGORIA TINYINT IDENTITY(1,1) NOT NULL,
	CATEGORIA VARCHAR(40) NOT NULL,
	DESCRIPCION VARCHAR(150),
	CONSTRAINT PK_CATEGORIA_IDCATEGORIA PRIMARY KEY(IDCATEGORIA)
)
GO
```

***

#### Tabla: `PRODUCTO`

```sql
-- TABLA PRODUCTO
CREATE TABLE PRODUCTO (
	IDPRODUCTO INT NOT NULL,
	IDCATEGORIA TINYINT NOT NULL,
	PRODUCTO VARCHAR(100) NOT NULL,
	STOCK INT NOT NULL,
	PRECIO DECIMAL(10,2) NOT NULL,
	HABILITADO BIT DEFAULT 1,
	CONSTRAINT PK_PRODUCTO_IDPRODUCTO PRIMARY KEY(IDPRODUCTO),
	CONSTRAINT FK_PRODUCTO_IDCATEGORIA FOREIGN KEY(IDCATEGORIA) REFERENCES CATEGORIA(IDCATEGORIA)
)
GO
```

***

#### Tabla: `CIUDAD`

```sql
-- TABLA CIUDAD
CREATE TABLE CIUDAD (
	IDCIUDAD TINYINT IDENTITY(1,1) NOT NULL,
	CIUDAD VARCHAR(40) NOT NULL,
	DESCRIPCION VARCHAR(100),
	CONSTRAINT PK_CIUDAD_IDCIUDAD PRIMARY KEY(IDCIUDAD)
)
GO
```

***

#### Tabla: `CLIENTE`

```sql
-- TABLA CLIENTE
CREATE TABLE CLIENTE (
	IDCLIENTE CHAR(8) NOT NULL,
	IDCIUDAD TINYINT NOT NULL,
	NOMBRES VARCHAR(100) NOT NULL,
	APELLIDOS VARCHAR(100) NOT NULL,
	DIRECCION VARCHAR(150) NOT NULL,
	TELEFONO VARCHAR(15) NOT NULL,
	HABILITADO BIT DEFAULT 1,
	CONSTRAINT PK_CLIENTE_IDCLIENTE PRIMARY KEY(IDCLIENTE),
	CONSTRAINT FK_CLIENTE_IDCIUDAD FOREIGN KEY(IDCIUDAD) REFERENCES CIUDAD(IDCIUDAD)
)
GO
```

***

#### Tabla: `VENDEDOR`

```sql
-- TABLA VENDEDOR
CREATE TABLE VENDEDOR (
	IDVENDEDOR CHAR(8) NOT NULL,
	NOMBRES VARCHAR(100) NOT NULL,
	APELLIDOS VARCHAR(100) NOT NULL,
	SUELDO DECIMAL(10,2) NOT NULL,
	FECHA_INGRESO DATE NOT NULL,
	TELEFONO VARCHAR(15) NOT NULL,
	HABILITADO BIT DEFAULT 1,
	SUPERVISOR CHAR(8),
	CONSTRAINT PK_VENDEDOR_IDVENDEDOR PRIMARY KEY(IDVENDEDOR),
	CONSTRAINT FK_VENDEDOR_SUPERVISOR FOREIGN KEY(SUPERVISOR) REFERENCES VENDEDOR(IDVENDEDOR)
)
GO
```

***

#### Tabla: `VENTA`

```sql
-- TABLA VENTA
CREATE TABLE VENTA (
	NROVENTA INT IDENTITY(1,1) NOT NULL,
	IDVENDEDOR CHAR(8) NOT NULL,
	IDCLIENTE CHAR(8) NOT NULL,
	FECHA_HORA DATETIME DEFAULT GETDATE(),
	CONSTRAINT PK_VENTA_NROVENTA PRIMARY KEY(NROVENTA),
	CONSTRAINT FK_VENTA_IDVENDEDOR FOREIGN KEY(IDVENDEDOR) REFERENCES VENDEDOR(IDVENDEDOR),
	CONSTRAINT FK_VENTA_IDCLIENTE FOREIGN KEY(IDCLIENTE) REFERENCES CLIENTE(IDCLIENTE)
)
GO
```

***

#### Tabla: `DETALLE_VENTA`

```sql
-- TABLA DETALLE_VENTA
CREATE TABLE DETALLE_VENTA (
	NROVENTA INT NOT NULL,
	IDPRODUCTO INT NOT NULL,
	CANTIDAD INT NOT NULL,
	PRECIO DECIMAL(10,2) NOT NULL,
	CONSTRAINT PK_DETALLE_VENTA PRIMARY KEY(NROVENTA, IDPRODUCTO),
	CONSTRAINT FK_DETALLE_VENTA_NROVENTA FOREIGN KEY(NROVENTA) REFERENCES VENTA(NROVENTA),
	CONSTRAINT FK_DETALLE_VENTA_IDPRODUCTO FOREIGN KEY(IDPRODUCTO) REFERENCES PRODUCTO(IDPRODUCTO)
)
GO
```

***

#### Tabla: `DEVOLUCION`

```sql
-- TABLA DEVOLUCION
CREATE TABLE DEVOLUCION (
	NRODEVOLUCION INT IDENTITY(1,1) NOT NULL,
	IDVENDEDOR CHAR(8) NOT NULL,
	NROVENTA INT NOT NULL,
	FECHA_HORA DATETIME DEFAULT GETDATE(),
	CONSTRAINT PK_DEVOLUCION_NRODEVOLUCION PRIMARY KEY(NRODEVOLUCION),
	CONSTRAINT FK_DEVOLUCION_IDVENDEDOR FOREIGN KEY(IDVENDEDOR) REFERENCES VENDEDOR(IDVENDEDOR),
	CONSTRAINT FK_DEVOLUCION_NROVENTA FOREIGN KEY(NROVENTA) REFERENCES VENTA(NROVENTA)
)
GO
```

***

#### Tabla: `DETALLE_DEVOLUCION`

```sql
-- TABLA DETALLE_DEVOLUCION
CREATE TABLE DETALLE_DEVOLUCION (
	NRODEVOLUCION INT NOT NULL,
	IDPRODUCTO INT NOT NULL,
	CANTIDAD INT NOT NULL,
	CONSTRAINT PK_DETALLE_DEVOLUCION PRIMARY KEY(NRODEVOLUCION, IDPRODUCTO),
	CONSTRAINT FK_DETALLE_DEVOLUCION_NRODEVOLUCION FOREIGN KEY(NRODEVOLUCION) REFERENCES DEVOLUCION(NRODEVOLUCION),
	CONSTRAINT FK_DETALLE_DEVOLUCION_IDPRODUCTO FOREIGN KEY(IDPRODUCTO) REFERENCES PRODUCTO(IDPRODUCTO)
)
GO
```

***

<figure><img src="https://2388471899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FT7EGcEJYcU0fHj1mL1yx%2Fuploads%2FyHppDuNWr1s1tJzCnQh3%2Fimage.png?alt=media&#x26;token=2c935873-e7b5-4786-87fc-cce7da5a7103" alt=""><figcaption><p>SQL</p></figcaption></figure>

***
