Tuesday, March 25, 2008

Proyecto Final

Este proyecto fue publicado en sitio de la universidad el dia domingo como fue propuesto por el profesor... pero por varios motivos hasta el dia de hoy lo subo a este sitio... este proyecto ya fue evaluado por el profesor de la clase...

Centro Universitario Tecnológico de UNITEC

Curso: Sistemas de Base de Datos
Sección: 381
Hora: 6:00 p.m.

Número de Tarea o Proyecto: Proyecto Final

Presentado por:

30611349 Rene Velásquez
30611023 Fernando Zelaya

Introducción

El presente informe define a grandes rasgos una base de datos genérica para un sistema que puede ser utilizado tanto en una tienda o almacén, venta de alimentos, farmacias o cualquier venta al detalle de productos de uso común, así como también algunas consultas realizadas para poder ver la versatilidad del modelo de base de datos, al momento de consultarla en busca de información especifica, o llevar control del inventario comprado y vendido.
También se podrá tener un control en línea de la ruta que ha seguido un producto desde el momento en que ingreso al almacén, hasta su venta final, detalles de factura, verificación de ubicaciones del producto, categorización, manejo de rangos máximos y mínimos de producto para reabastecer los distintos almacenes, control de precios, convenios con clientes especiales etc.

Objetivo

Elaborar un esquema de base de datos que facilite el manejo de inventario de productos de forma rápida y eficiente.

1. Definición del Sistema de Gestión de Bases de Datos:

El sistema de Gestión de Bases de Datos debe ser capaz de:

a. Definir una base de datos relacional para la empresa “El Niño Feliz”.
b. Construir una base de datos relacional para la empresa “El Niño Feliz”.
c. Manipular una base de datos relacional para la empresa “El Niño Feliz”.
d. Manejar la información concurrente (multiusuarios).
e. Poseerá independencia entre los programas (aplicaciones) y los datos.
f. Control de redundancia.
g. Realizar una validación de usuario: con nombre de usuario, tipo de usuario y
Contraseña.
h. Dependiendo del tipo de usuario, definirá políticas de acceso y restricciones, el sistema
Dará acceso a diferente información de la base de datos relacional y los recursos
Requeridos.
i. Generar consultas y reportes fijos y variables según requerimientos gerenciales.

2. Definición de la Base de Datos Relacional:

A continuación definiremos la base de datos de la empresa comercial “El Niño Feliz”, la que contendrá las siguientes especificaciones:

El esquema consta de 6 módulos que funcionan interrelacionados entre si para poder manejar de la manera que se desea la información

Modulo de Productos o Inventarios

El modulo principal es el modulo de Productos o inventario por relacionarse este con el resto de los otros 5 módulos, sin los productos todo el esquema no tiene sentido ya que en base a los productos funciona la empresa.

El modulo cuenta con 10 tablas o entidades.

Tabla Productos
La entidad o tabla principal es la de productos, es en ella donde definimos el código, nombre, categoría, precio, medidas, tamaño, estado, fechas de vencimiento, proveedor de dicho producto, si es gravado o no, y los usuarios con autorización para definir lo descrito anteriormente.

Tabla Proveedores
Se relaciona con esta tabla los proveedores donde se les asigna un código, nombre, dirección y datos generales

Tabla Impuestos
También la tabla impuestos para poder definir el tipo de impuesto que pagan los productos o si estos son exentos.

Tabla Medidas
Definimos también las diferente medidas que usaremos las cuales pueden ser libras, onzas, kilos, mg, docenas, cajas, unidades, bolsas, etc.

Tabla Estado Producto
Se define dos tipos de estado de producto, que puede ser activo o inactivo, esto debido a que hay productos de temporada, o que tal vez ya no se desean vender por ser dañinos etc.

Tabla Estado Producto Almacén
También se define un estado de producto dentro del almacén para poder saber cual es el estatus de el producto que esta activo, estos estatus son normal, existencia mínima, agotado. etc.

Tabla Inventario
Para llevar un buen control del producto se necesita un inventario en el cual se incluye una llave compuesta por el código del local y el código del producto para evitar confusiones a la hora de hacer pedidos, se incluye el código del estado del producto en el almacén y la ubicación del producto dentro del almacén que es manejado por las entidades ubicaciones, pasillos y estantes.

Tabla Ubicaciones
Lleva un código de ubicación y la descripción del mismo, un código de pasillo y estante.
Para atomizar más la ubicación de cada producto se define las tablas pasillos y estantes con su respectivo código y descripción.

Modulo de Compras
Este modulo nos ayuda a llevar un control de las compras que realizamos a los proveedores para poder definir que producto necesitamos, generar la orden de compra, darle seguimiento, verificar el estado de la orden de compra, al recibir el producto confirmamos la recepción en el almacén
Verificamos el detalle de recibido y el estado de recibido y podemos verificar el detalle de la orden de compra y el tipo de compra

Tabla Orden de Compra
La tabla principal de este modulo es Orden de compra es aquí donde definimos el movimiento de las compra y el control que se lleva de ellas, asignando un código de orden de compra para evitar repeticiones, también asignamos el código del proveedor, el estatus de la orden de compra, fecha y hora de emisión de la orden, código del almacén y el tipo de compra.

Tabla Compras
Definimos un código del usuario autorizado para ingresar las Órdenes de compras, el numero de la orden de compra y la fecha de autorización.

Tabla Estado de Orden de Compra
Esta tabla solo nos sirve para cambiar o verificar el estatus de alguna orden de compra a la cual no se la ha ingresado, los estatus son: elaborada, anulada, cancelada y vencida.

Tabla de Detalle de Orden de Compra
Nos da un detalle de lo que se compro según algún número de orden especifico, para evitar equivocaciones con órdenes de compra que contengan un mismo producto se define una llave compuesta por el código de producto y el número de orden, también ingresamos la cantidad de producto, precio, tipo de precio, impuesto, descuento y total.

Tabla Tipo de Compra
Se define el código según el tipo de compra que puede ser: contado, crédito o consignación.

Tabla Recepción Almacén
Se Define un numero de recibo como llave primaria, el código del usuario que recibe el producto el numero de orden de compra que se recibe, el código del local al que ingresa el producto, el código del proveedor para saber quien lo vende la fecha de recibido y el estado en que se recibió el producto.

Tabla Estado Recibo
Se define un código para el estatus de recepción, para compararlo contra la orden de compra y verificar si no ha cambiado nada en el pedido del producto estos pueden ser: cancelado, anulado, reimpreso.

Tabla Detalle de Recibido
Se define un número de recibo y el código de producto como llave compuesta para evitar equivocaciones con el producto que puede repetirse en varias ordenes de compra pero el número del recibo no, también se verifica la cantidad del producto recibido, costo, tipo de precio, impuesto, descuento y total.


Modulo Facturación
El núcleo de este modulo es la tabla Facturas la cual asigna un numero de factura único para cada cliente, por lo que este numero de factura es la llave principal a la hora de los reclamos, en este modulo definimos las categorías y subcategoría del producto, locales, zonas y ciudades de distribución del producto, también podemos obtener un detalle de facturas, tipos de precio y tipos de venta.

Tabla Facturas
Definimos el numero de factura, código de cliente si este es de crédito o convenio, código de usuario que genero la factura, código de zona a la que pertenece, código del local donde se genero la venta, fecha y hora, establecemos si la factura es con convenio o no según lo establecido previamente, y que tipo de venta.

Tabla Detalle Factura
Establece las características de los productos facturados número de factura, cantidad de producto, código del producto y el código tipo de precio, impuesto, descuento y total.

Tabla Tipos de Precio
Estable un código según el tipo de precio la descripción puede ser: normal, tercera edad, convenio y oferta, los parámetros son el porcentaje de descuento según el tipo de precio que puede ser de 10 15 20 etc.

Tabla Tipo de Venta
Se defino un código de tipo de venta y su descripción que puede ser: contado, crédito y convenio.

Tabla Local
Se defino el código del local como llave primaria para no repetirlo, descripción que puede ser: local, Almacén principal y bodega Virtual (camiones), la dirección de dicho local.

Tabla Parámetros Local
Se define un código de Subcategoría y código del local como llave compuesta para definir la subcategoría de los productos, y poder establecerles un valor máximo y mínimo de productos en el local.

Tabla Sub. Categoría
Tiene un código de subcategoría como llave primaria y la descripción de cada subcategoría que puede ser: ej. Si es un almacén la categoría puede ser Pantalones y la subcategoría ( para niños, niñas, jeans, de vestir etc.).

Tabla Familia
Tiene el código de la familia o categoría a la que pertenece y la descripción de la misma.
Ej. (Niños, niñas). Y el código de la subcategoría para hacer una mejor distinción del producto que buscamos.

Tabla de Zonas
Se define un código de Zona para un mejor orden de distribución, y la descripción de la zona que puede ser (Zona 1, Zona 2 etc.). También se adjunta el código de la ciudad a la cual pertenece cada zona.

Tabla Ciudades
Se define un código de ciudad y la descripción de la ciudad o nombre de la misma.


Modulo de Clientes
Este modulo nos sirve par ala administración de los clientes en los diferentes locales, para así poder darlas un mejor servicio, y establecer parámetros como estados de cuenta, dirección, tipos de clientes, convenios que se tienen y un plan de puntos que se adquieren por las compras realizadas.

Tabla Clientes
Se define un código de cliente como llave primaria, el nombre, el código tipo de cliente, numero de cuenta, y código estado de cliente que puede ser en mora, cancelado, activo o inactivo.

Tabla Estado de Cuenta
La llave primaria es el número de cuenta, crédito inicial y su límite, y el saldo actual de su cuenta, la mora en día y en lempiras.

Tabla Tipos de Cliente
Se define código de tipo de cliente y la descripción que puede ser: crédito, contado, consignación.

Tabla Direcciones de clientes
Se define un código para cada cliente, su dirección, teléfonos y correo electrónico.

Tabla Convenios
Se define un código para cada convenio, el código del cliente que goza del beneficio del convenio, su fecha de ingreso, y expiración del convenio y que tipo de precio especial tendrá.

Tabla Tipos de Puntos
Se define el código del tipo de puntos y su descripción que puede ser: por ventas, compras, convenios y negociaciones.

Tabla Puntos
Se define el código de los puntos, el código del usuario y código del cliente y los tipos de puntos y la cantidad de los mismos.


Modulo de Usuarios
Describe el tipo de usuario, su nivel de acceso, y las acciones realizadas por el registradas en una bitácora.

Tabla Usuario
Tiene un código para cada usuario, el nombre del usuario el nivel de acceso su contraseña, el estado actual, y la fecha de expiración de la contraseña.

Tabla Estado Usuario
Se define el estado del usuario y su descripción que puedes ser: activo, inactivo y cancelado.

Tabla Niveles
Se definen los niveles de acceso y su descripción que pueden ser: Administrador, gerente, ventas, compras, técnicos.

Tabla Acciones
Se define el código de la acción y su descripción que puedes ser: consultas, inserciones, actualizaciones y borrado.

Tabla Bitácora
Se define el código del usuario, la fecha y hora de ingreso, la fecha y hora de salida, y la acción realizada por el usuario.
Modulo Traslados
Describe el movimiento de la mercadería o productos desde su ingreso en el almacén principal su ubicación dentro de el, en los almacenes y en las bodegas virtuales.

Tabla Traslados
Se define un código para cada traslado, código del producto a trasladar, el código del transportista, código del vehiculo, el código local de origen, entransito, o destino y un código de ubicación de los antes mencionados, la cantidad de producto, fecha y hora de entrada y salida, y el código del usuario que lo recibió.

Tabla Detalle Traslado
Se define un código de traslado una descripción del local de origen, entransito, o destino y una descripción de ubicación de los antes mencionados.

Tabla Transportistas
Se define un código para cada transportista su descripción que es el nombre y datos personales.

Tabla Vehiculo
Se define un código del vehículo descripción del vehículo (camión, etc.), placa, modelo y año.


MODELO RELACIONAL

Modelo Traslados

TRASLADOS (Codigo_Traslado, Codigo_Producto, Codigo_Transportista,
Codigo_Vehiculo, Codigo_Local_Origen, Codigo_Local_EnTransito,
Codigo_Local_Destino, Codigo_Ubicacion_Origen,
Codigo_Ubicacion_EnTransito, Codigo_Ubicacion_Destino, Cantidad,
Fecha_Hora_Salida, Fecha_Hora_Entrega, Codigo_Usuario_Recibe)

TRASLADOS (Codigo_Vehiculo, Codigo_Local_Origen, Codigo_Local_EnTransito,
Codigo_Local_Destino, Codigo_Ubicacion_Origen,
Codigo_Ubicacion_EnTransito, Codigo_Ubicacion_Destino, Cantidad,
Fecha_Hora_Salida, Fecha_Hora_Entrega, Codigo_Usuario_Recibe)

TRASLADOS ( Codigo_Transportista, Codigo_Local_Origen, Codigo_Local_EnTransito,
Codigo_Local_Destino, Codigo_Ubicacion_Origen, Codigo_Ubicacion_EnTransito,
Codigo_Ubicacion_Destino, Cantidad, Fecha_Hora_Salida, Fecha_Hora_Entrega,
Codigo_Usuario_Recibe)

TRASLADOS (Codigo_Traslado, Codigo_Local_Origen, Codigo_Local_EnTransito,
Codigo_Local_Destino, Codigo_Ubicacion_Origen, Codigo_Ubicacion_EnTransito,
Codigo_Ubicacion_Destino, Cantidad, Fecha_Hora_Salida, Fecha_Hora_Entrega,
Codigo_Usuario_Recibe)

TRANSPORTISTAS (Codigo_Transportista, Descripción_Transportista, Datos_Personales)


Modelo Usuarios

PRODUCTOS (Codigo_Producto, Nombre_Producto, Codigo_Familia, Codigo_Estado, Precio,
Tamaño, Fecha_Vencimiento, Codigo_Usuario, Codigo_Usuario_Graba,
Codigo_Usuario_Modifica, Codigo_Usuario)

USUARIOS (Codigo_Usuario, Nombre_Usuario, Password, Estado,
Fecha_Expiracion_Password)

USUARIOS (Codigo_Usuario, Nombre_Usuario, Nivel, Password,
Fecha_Expiracion_Password)

USUARIOS (Codigo_Usuario, Nombre_Usuario, Password,
Fecha_Expiracion_Password)

BITACORA (Codigo_Usuario, Fecha_Hora_Ingreso, Fecha_Hora_Salida,
Accion)

ACCIONES (Codigo_Accion, Descripción_Accion)

Modelo Clientes

FACTURAS (Numero_Facturas, Codigo_Cliente, Codigo_Usuario,
Fecha_Hora, Con_Convenio, Codigo_Convenio,
,Tipo_Puntos)

FACTURAS (Numero_Facturas, Codigo_Cliente, Codigo_Usuario,
Fecha_Hora, Con_Convenio, Codigo_Convenio)

FACTURAS (Numero_Facturas, Codigo_Cliente, Codigo_Usuario,
Fecha_Hora, Con_Convenio, Tipo_Puntos)

CLIENTES (Codigo_Cliente, Nombre_Cliente, Codigo_Tipo_Cliente, Numero_Cuenta,
Codigo_Estado_Cliente)

CLIENTES (Codigo_Cliente, Nombre_Cliente, Codigo_Tipo_Cliente,
Codigo_Estado_Cliente)

DIRECCIONES_CLIENTES (Codigo_Cliente, Direccion, Telefono, E_Mail)

PUNTOS (Codigo_Puntos, Codigo_Usuario_Cliente, Tipo_Puntos, Cantidad_Puntos)


Modelo Compra

COMPRAS (Codigo_Usuario_compra, Numero_Orden_Compra, Fecha_Autorizacion)

ORDEN_COMPRA (Numero_Orden_Compra, Codigo_Proveedor,
Fecha_Hora, Tipo_Compra, Codigo_Local)
ORDEN_COMPRA (Numero_Orden_Compra, Codigo_Proveedor, Estado_Orden,
Fecha_Hora, Codigo_Local)

RECEPCION_ALMACEN (Numero_Recibo, Codigo_Usuario_Recibe,
Numero_Orden_Compra, Codigo_Local, Codigo_Proveedor,
Fecha_Recibo, Estado_Recibo, Codigo_Estado_Recibo)

DETALLE_RECIBO (Numero_Recibo, Codigo_Producto,
Cantidad_Producto_Recibida, Costo, Tipo_Precio, Impuesto,
Descuento, Total)

DETALLE_ORDEN_COMPRA (Numero_Orden_Compra, Codigo_Producto,
Cantidad_Producto, Precio, Tipo_Precio, Impuesto,
Descuento, Total)

Modelo Facturas

FACTURAS (Numero_Facturas, Codigo_Cliente, Codigo_Usuario, Codigo_Zona,
Codigo_Local, Fecha_Hora, Con_Convenio, Codigo_Convenio,
Codigo_Tipo_Venta, Tipo_Puntos)

ZONAS (Codigo_Zona, Descripción_Zona, Codigo_Ciudad)

PARAMETROS_LOCAL (Codigo_Sub_Categoria, Codigo_Local, Valor_Minimo, Valor_Maximo)


FAMILIA (Codigo_Familia, Descripción_Familia, Codigo_Sub_Categoria)

DETALLE_FACTURAS (Numero_Factura, Cantidad_Producto, Codigo_Producto,
Codigo_Tipo_Precio, Precio, Isv, Descuento, Total)


Modelo Productos o Inventario

PRODUCTOS (Codigo_Producto, Nombre_Producto, Codigo_Familia, Codigo_Estado,
Precio, Codigo_Medida, Tamaño, Fecha_Vencimiento,
Codigo_Proveedor, Codigo_Tipo_Impuesto, Codigo_Usuario,
Codigo_Usuario_Graba, Codigo_Usuario_Modifica, Codigo_Usuario)

INVENTARIO (Codigo_Local, Codigo_Producto, Codigo_Estado_Producto_Local,
Codigo_Ubicacion_Cantidad, Numero_Recibo, Codigo_Estado)

INVENTARIO (Codigo_Local, Codigo_Estado_Producto_Local,
Cantidad, Numero_Recibo, Codigo_Estado)

INVENTARIO (Codigo_Local, Codigo_Estado_Producto_Local,
Codigo_Ubicacion_Cantidad, Numero_Recibo,)


ESTADO_PRODUCTO_ALMACEN (Codigo_Estado, Descripción_Estado)

DETALLE_FACTURAS (Numero_Factura, Cantidad_Producto, Codigo_Producto,
Codigo_Tipo_Precio, Precio, Isv, Descuento, Total)

UBICACIONES (Codigo_Ubicacion, Descripción_Ubicacion,
Codigo_Estante)
UBICACIONES (Codigo_Ubicacion, Descripción_Ubicacion, Codigo_Pasillo)


Script de Creación de Tablas

CREATE TABLE [Tabla_Acciones]
([Codigo_Accion] [varchar] (2) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Accion] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Acciones] PRIMARY KEY CLUSTERED
([Codigo_Accion]) ON [PRIMARY] ) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Bitacora]
([Codigo_Usuario] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Fecha_hora_ingreso] [datetime] NOT NULL ,
[Fecha_hora_salida] [datetime] NOT NULL ,
[Accion] [varchar] (2) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Bitacora] PRIMARY KEY CLUSTERED
([Codigo_Usuario]) ON [PRIMARY] ,
CONSTRAINT [FK_Tabla_Bitacora_Tabla_Acciones] FOREIGN KEY ([Accion])
REFERENCES [Tabla_Acciones] ([Codigo_Accion]),
CONSTRAINT [FK_Tabla_Bitacora_Tabla_Usuario] FOREIGN KEY ([Codigo_Usuario]) REFERENCES [Tabla_Usuario] ([Codigo_Usuario])) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Ciudades]
([Codigo_Ciudad] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Ciudad] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[codigo_zona] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Ciudades] PRIMARY KEY CLUSTERED
([Codigo_Ciudad]) ON [PRIMARY] ) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Clientes]
([Codigo_Cliente] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Nombre_Cliente] [varchar] (80) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Tipo_Cliente] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Numero_Cuenta] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Estado_Cliente] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Clientes] PRIMARY KEY CLUSTERED
([Codigo_Cliente]) ON [PRIMARY] ,
CONSTRAINT [FK_Tabla_Clientes_Tabla_Estado_Cuenta1] FOREIGN KEY
([Numero_Cuenta]) REFERENCES [Tabla_Estado_Cuenta] ([Numero_Cuentas]) NOT FOR REPLICATION ,
CONSTRAINT [FK_Tabla_Clientes_Tabla_Tipos_de_Clientes] FOREIGN KEY
([Codigo_Tipo_Cliente]) REFERENCES [Tabla_Tipos_de_Clientes] ([Codigo_Tipo_Cliente]))
ON [PRIMARY]

GO

CREATE TABLE [Tabla_Compras]
([Codigo_usuario_compra] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Numero_orden_compra] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Fecha_autorizacion] [datetime] NOT NULL ,
CONSTRAINT [PK_Tabla_Compras] PRIMARY KEY CLUSTERED
([Codigo_usuario_compra]) ON [PRIMARY] ,
CONSTRAINT [FK_Tabla_Compras_Tabla_Orden_Compra] FOREIGN KEY
([Numero_orden_compra]) REFERENCES [Tabla_Orden_Compra] ([Numero_De_Orden]))
ON [PRIMARY]

GO

CREATE TABLE [Tabla_Convenios] (
[Codigo_Convenio] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Cliente] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Fecha_Ingreso] [datetime] NOT NULL ,
[Fecha_Expiracion] [datetime] NOT NULL ,
[Tipo_Precio] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Convenios] PRIMARY KEY CLUSTERED
([Codigo_Convenio] ) ON [PRIMARY] ) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Detalle_Facturas]
([Numero_Factura] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Cantidad_Producto] [decimal](18, 0) NOT NULL ,
[Codigo_Producto] [varchar] (14) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Tipo_Precio] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Precio] [decimal](18, 2) NOT NULL ,
[Descuento] [decimal](18, 2) NOT NULL ,
[ISV] [decimal](18, 2) NOT NULL ,
[Total] [decimal](18, 2) NULL ,
CONSTRAINT [PK_Tabla_Detalle_Facturas] PRIMARY KEY CLUSTERED
([Numero_Factura], [Cantidad_Producto]) ON [PRIMARY] ,
CONSTRAINT [FK_Tabla_Detalle_Facturas_Tabla_Facturas] FOREIGN KEY
([Numero_Factura]) REFERENCES [Tabla_Facturas] ([Numero_Factura]) NOT FOR
REPLICATION ,
CONSTRAINT [FK_Tabla_Detalle_Facturas_Tabla_Productos] FOREIGN KEY
([Codigo_Producto]) REFERENCES [Tabla_Productos] ([Codigo_producto]),
CONSTRAINT [FK_Tabla_Detalle_Facturas_Tabla_Tipos_de_Precios] FOREIGN KEY
([Codigo_Tipo_Precio]) REFERENCES [Tabla_Tipos_de_Precios] ([Codigo_Tipo_Precio]))
ON [PRIMARY]

GO

CREATE TABLE [Tabla_Detalle_Orden_Compra]
([Numero_De_Orden] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Producto] [varchar] (14) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Cantida_Producto] [numeric](18, 0) NOT NULL ,
[Precio] [decimal](18, 2) NOT NULL ,
[Tipo_Precio] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Impuesto] [decimal](18, 2) NOT NULL ,
[Descuento] [decimal](18, 2) NOT NULL ,
[Total] [decimal](18, 2) NOT NULL ,
CONSTRAINT [PK_Tabla_Detalle_Orden_Compra] PRIMARY KEY CLUSTERED
([Numero_De_Orden], [Codigo_Producto] ) ON [PRIMARY] ,
CONSTRAINT [FK_Tabla_Detalle_Orden_Compra_Tabla_Orden_Compra] FOREIGN KEY
([Numero_De_Orden]) REFERENCES [Tabla_Orden_Compra] ([Numero_De_Orden]),
CONSTRAINT [FK_Tabla_Detalle_Orden_Compra_Tabla_Productos] FOREIGN KEY
([Codigo_Producto]) REFERENCES [Tabla_Productos] ([Codigo_producto])) ON
[PRIMARY]

GO

CREATE TABLE [Tabla_Detalle_Recibido]
([Numero_Recibo] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Producto] [varchar] (14) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Cantida_Producto_Recibida] [numeric](18, 0) NOT NULL ,
[Costo] [decimal](18, 2) NOT NULL ,
[Tipo_Precio] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Impuesto] [decimal](18, 2) NOT NULL ,
[Descuento] [decimal](18, 2) NOT NULL ,
[Total] [decimal](18, 3) NOT NULL ,
CONSTRAINT [PK_Tabla_Detalle_Recibido] PRIMARY KEY CLUSTERED
([Numero_Recibo], [Codigo_Producto]) ON [PRIMARY] ,
CONSTRAINT [FK_Tabla_Detalle_Recibido_Tabla_Productos] FOREIGN KEY
([Codigo_Producto]) REFERENCES [Tabla_Productos] ([Codigo_producto]),
CONSTRAINT [FK_Tabla_Detalle_Recibido_Tabla_Recepcion_Almacen] FOREIGN KEY
([Numero_Recibo]) REFERENCES [Tabla_Recepcion_Almacen] ([Numero_Recibo]) NOT
FOR REPLICATION ) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Detalle_Traslado]
([Codigo_Traslado] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Local_Origen] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Local_Entransito] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Local_Destino] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Ubicacion_Origen] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Ubicacion_Entransito] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Ubicacion_Destino] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Detalle_Traslado] PRIMARY KEY CLUSTERED
([Codigo_Traslado]) ON [PRIMARY] ) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Direcciones_Clientes]
([Codigo_Cliente] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Direccion] [varchar] (80) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Telefono] [varchar] (20) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[e_mail] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [FK_Tabla_Direcciones_Clientes_Tabla_Clientes] FOREIGN KEY
([Codigo_Cliente]) REFERENCES [Tabla_Clientes] ([Codigo_Cliente] )) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Estado_Cuenta]
([Numero_Cuentas] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Credito_Inicial] [decimal](18, 0) NOT NULL ,
[Limite_Credito] [decimal](18, 0) NOT NULL ,
[Saldo_Actual] [decimal](18, 0) NOT NULL ,
[Mora_Dias] [varchar] (2) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Mora_Monetaria] [decimal](18, 0) NOT NULL ,
CONSTRAINT [PK_Tabla_Estado_Cuenta] PRIMARY KEY CLUSTERED
([Numero_Cuentas]) ON [PRIMARY] ) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Estado_Orden_Compra]
([Estado_Orden] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Estado_Orden_Compra] PRIMARY KEY CLUSTERED
([Estado_Orden]) ON [PRIMARY] ) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Estado_Producto]
([Codigo_Estado] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Estado] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Estado_Producto] PRIMARY KEY CLUSTERED
([Codigo_Estado]) ON [PRIMARY] ) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Estado_Producto_Almacen]
([Codigo_Estado] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Estado] [varchar] (80) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Estado_Producto_Almacen] PRIMARY KEY CLUSTERED
([Codigo_Estado]) ON [PRIMARY] ) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Estado_Recibo]
([Codigo_Estado_Recibo] [varchar] (2) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Estado_Recibo] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Estado_Recibo] PRIMARY KEY CLUSTERED
([Codigo_Estado_Recibo]) ON [PRIMARY] ) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Estado_Usuario]
([Estado] [varchar] (1) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion] [varchar] (20) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Estado_Usuario] PRIMARY KEY CLUSTERED
([Estado]) ON [PRIMARY] ) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Estantes]
([Codigo_Estante] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descricpion_Estante] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Estantes] PRIMARY KEY CLUSTERED
([Codigo_Estante]) ON [PRIMARY] ) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Facturas]
([Numero_Factura] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Cliente] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Usuario] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Zona] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Local] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Fecha_Hora] [datetime] NOT NULL ,
[Con_Convenio] [varchar] (2) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Convenio] [varchar] (10) COLLATE Modern_Spanish_CI_AS NULL ,
[Codigo_Tipo_Venta] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Facturas] PRIMARY KEY CLUSTERED
([Numero_Factura]) ON [PRIMARY] ,
CONSTRAINT [FK_Tabla_Facturas_Tabla_Clientes] FOREIGN KEY
([Codigo_Cliente]) REFERENCES [Tabla_Clientes] ([Codigo_Cliente]),
CONSTRAINT [FK_Tabla_Facturas_Tabla_Convenios] FOREIGN KEY
([Codigo_Convenio] ) REFERENCES [Tabla_Convenios] ([Codigo_Convenio] ),
CONSTRAINT [FK_Tabla_Facturas_Tabla_Locales] FOREIGN KEY
([Codigo_Local]) REFERENCES [Tabla_Locales] ([Codigo_Local]),
CONSTRAINT [FK_Tabla_Facturas_Tabla_Tipo_Venta] FOREIGN KEY
([Codigo_Tipo_Venta]) REFERENCES [Tabla_Tipo_Venta] ([Codigo_Tipo_venta]),
CONSTRAINT [FK_Tabla_Facturas_Tabla_Tipos_Puntos] FOREIGN KEY
([Codigo_Tipo_Venta]) REFERENCES [Tabla_Tipos_Puntos] ( [Tipo_Puntos] ),
CONSTRAINT [FK_Tabla_Facturas_Tabla_Zonas] FOREIGN KEY
([Codigo_Zona]) REFERENCES [Tabla_Zonas] ( [Codigo_Zona])) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Familia]
([Codigo_familia] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_familia] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Sub_Categoria] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Familia] PRIMARY KEY CLUSTERED
([Codigo_familia]) ON [PRIMARY] ,
CONSTRAINT [FK_Tabla_Familia_Tabla_Sub_Categoria] FOREIGN KEY
([Codigo_Sub_Categoria]) REFERENCES [Tabla_Sub_Categoria] ([Codigo_Sub_Categoria]))
ON [PRIMARY]

GO

CREATE TABLE [Tabla_Impuestos]
([Codigo_Tipo_Impuesto] [varchar] (1) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Valor_Impuesto] [numeric](18, 0) NOT NULL ,
CONSTRAINT [PK_Tabla_Impuestos] PRIMARY KEY CLUSTERED
([Codigo_Tipo_Impuesto]) ON [PRIMARY]) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Inventario]
([Codigo_Local] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Producto] [varchar] (14) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_estado_Producto_local] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_ubicacion] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Cantidad] [numeric](18, 0) NOT NULL ,
[Numero_recibo] [varchar] (10) COLLATE Modern_Spanish_CI_AS NULL ,
CONSTRAINT [PK_Tabla_Inventario] PRIMARY KEY CLUSTERED
([Codigo_Local], [Codigo_Producto]) ON [PRIMARY] ,
CONSTRAINT [FK_Tabla_Inventario_Tabla_Estado_Producto_Almacen] FOREIGN KEY
([Codigo_estado_Producto_local]) REFERENCES [Tabla_Estado_Producto_Almacen]
([Codigo_Estado]),
CONSTRAINT [FK_Tabla_Inventario_Tabla_Productos] FOREIGN KEY
([Codigo_Producto]) REFERENCES [Tabla_Productos] ([Codigo_producto]),
CONSTRAINT [FK_Tabla_Inventario_Tabla_Ubicaciones] FOREIGN KEY
([Codigo_ubicacion] ) REFERENCES [Tabla_Ubicaciones] ([Codigo_Ubicacion]) ON
UPDATE CASCADE) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Locales]
([Codigo_Local] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Local] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Direccion_Local] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Locales] PRIMARY KEY CLUSTERED
([Codigo_Local]) ON [PRIMARY]) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Medidas]
([Codigo_Medida] [varchar] (2) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Medida] [varchar] (20) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Medidas] PRIMARY KEY CLUSTERED
([Codigo_Medida]) ON [PRIMARY]) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Niveles]
([Nivel] [varchar] (2) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_nivel] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Niveles] PRIMARY KEY CLUSTERED
([Nivel]) ON [PRIMARY]) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Orden_Compra]
([Numero_De_Orden] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Proveedor] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Estado_Orden] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Fecha_Hora] [datetime] NOT NULL ,
[Tipo_Compra] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Local] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Orden_Compra] PRIMARY KEY CLUSTERED
([Numero_De_Orden]) ON [PRIMARY] ,
CONSTRAINT [FK_Tabla_Orden_Compra_Tabla_Estado_Orden_Compra] FOREIGN KEY
([Estado_Orden]) REFERENCES [Tabla_Estado_Orden_Compra] ([Estado_Orden]),
CONSTRAINT [FK_Tabla_Orden_Compra_Tabla_Tipo_Compra] FOREIGN KEY
([Tipo_Compra]) REFERENCES [Tabla_Tipo_Compra] ([Tipo_Compra])) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Parametros_Local]
([Codigo_Sub_Categoria] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Local] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Valor_Minimo] [decimal](18, 0) NOT NULL ,
[Valor_Maximo] [decimal](18, 0) NOT NULL ,
CONSTRAINT [PK_Tabla_Parametros_Local] PRIMARY KEY CLUSTERED
([Codigo_Sub_Categoria], [Codigo_Local]) ON [PRIMARY] ,
CONSTRAINT [FK_Tabla_Parametros_Local_Tabla_Locales] FOREIGN KEY
([Codigo_Local]) REFERENCES [Tabla_Locales] ([Codigo_Local]),
CONSTRAINT [FK_Tabla_Parametros_Local_Tabla_Sub_Categoria] FOREIGN KEY
([Codigo_Sub_Categoria]) REFERENCES [Tabla_Sub_Categoria] ([Codigo_Sub_Categoria]))
ON [PRIMARY]

GO

CREATE TABLE [Tabla_pasillos]
([Codigo_Pasillo] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Pasillo] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_pasillos] PRIMARY KEY CLUSTERED
([Codigo_Pasillo]) ON [PRIMARY]) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Productos]
([Codigo_producto] [varchar] (14) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Nombre_producto] [varchar] (80) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_familia] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Estado] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Precio] [decimal](18, 0) NOT NULL ,
[Codigo_Medida] [varchar] (2) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Tamanio] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Fecha_vencimiento] [datetime] NOT NULL ,
[Codigo_Proveedor] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Tipo_Impuesto] [varchar] (1) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Usuario_graba] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Usuario_modifica] [varchar] (10) COLLATE Modern_Spanish_CI_AS NULL ,
CONSTRAINT [PK_Tabla_Productos] PRIMARY KEY CLUSTERED
([Codigo_producto]) ON [PRIMARY] ,
CONSTRAINT [FK_Tabla_Productos_Tabla_Estado_Producto] FOREIGN KEY
([Codigo_Estado]) REFERENCES [Tabla_Estado_Producto] ([Codigo_Estado]),
CONSTRAINT [FK_Tabla_Productos_Tabla_Familia1] FOREIGN KEY
([Codigo_familia]) REFERENCES [Tabla_Familia] ([Codigo_familia]),
CONSTRAINT [FK_Tabla_Productos_Tabla_Impuestos] FOREIGN KEY
([Codigo_Tipo_Impuesto]) REFERENCES [Tabla_Impuestos] ([Codigo_Tipo_Impuesto]),
CONSTRAINT [FK_Tabla_Productos_Tabla_Medidas] FOREIGN KEY
([Codigo_Medida]) REFERENCES [Tabla_Medidas] ([Codigo_Medida]),
CONSTRAINT [FK_Tabla_Productos_Tabla_proveedores] FOREIGN KEY
([Codigo_Proveedor]) REFERENCES [Tabla_proveedores] ([Codigo_Proveedor]) ON
UPDATE CASCADE ,
CONSTRAINT [FK_Tabla_Productos_Tabla_Usuario] FOREIGN KEY
([Codigo_Usuario_graba]) REFERENCES [Tabla_Usuario] ([Codigo_Usuario] )) ON
[PRIMARY]

GO

CREATE TABLE [Tabla_proveedores]
([Codigo_Proveedor] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Proveedor] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Direccion] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Telefonos] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[E_mail] [varchar] (25) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_proveedores] PRIMARY KEY CLUSTERED
([Codigo_Proveedor]) ON [PRIMARY]) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Puntos]
([Codigo_Punto] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Usuario_Cliente] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Tipo_punto] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Cantidad_puntos] [decimal](18, 0) NULL ,
CONSTRAINT [PK_Tabla_Puntos] PRIMARY KEY CLUSTERED
([Codigo_Punto]) ON [PRIMARY] , CONSTRAINT [FK_Tabla_Puntos_Tabla_Tipos_Puntos]
FOREIGN KEY ([Tipo_punto]) REFERENCES [Tabla_Tipos_Puntos] ([Tipo_Puntos])) ON
[PRIMARY]

GO

CREATE TABLE [Tabla_Recepcion_Almacen]
([Numero_Recibo] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Usuario_Recibe] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Numero_Orden_Compra] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Local] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Proveedor] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Fecha_Recibido] [datetime] NOT NULL ,
[Estado_Recibo] [varchar] (2) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Recepcion_Almacen] PRIMARY KEY CLUSTERED
([Numero_Recibo]) ON [PRIMARY] ,
CONSTRAINT [FK_Tabla_Recepcion_Almacen_Tabla_Estado_Recibo] FOREIGN KEY
([Estado_Recibo]) REFERENCES [Tabla_Estado_Recibo] ([Codigo_Estado_Recibo]),
CONSTRAINT [FK_Tabla_Recepcion_Almacen_Tabla_Orden_Compra] FOREIGN KEY
([Numero_Orden_Compra]) REFERENCES [Tabla_Orden_Compra] ([Numero_De_Orden]))
ON [PRIMARY]

GO

CREATE TABLE [Tabla_Sub_Categoria]
([Codigo_Sub_Categoria] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Sub_Categoria] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Sub_Categoria] PRIMARY KEY CLUSTERED
([Codigo_Sub_Categoria]) ON [PRIMARY]) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Tipo_Compra]
([Tipo_Compra] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Tipo_Compra] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Tipo_Compra] PRIMARY KEY CLUSTERED
([Tipo_Compra]) ON [PRIMARY]) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Tipo_Venta]
([Codigo_Tipo_venta] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Tipo_venta] [varchar] (20) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Tipo_Venta] PRIMARY KEY CLUSTERED
([Codigo_Tipo_venta]) ON [PRIMARY]) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Tipos_de_Clientes]
([Codigo_Tipo_Cliente] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Tipo_Cliente] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Tipos_de_Clientes] PRIMARY KEY CLUSTERED
([Codigo_Tipo_Cliente]) ON [PRIMARY]) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Tipos_de_Precios]
([Codigo_Tipo_Precio] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion] [varchar] (20) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Parametro] [decimal](18, 0) NOT NULL ,
CONSTRAINT [PK_Tabla_Tipos_de_Precios] PRIMARY KEY CLUSTERED
([Codigo_Tipo_Precio]) ON [PRIMARY]) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Tipos_Puntos]
([Tipo_Puntos] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Tipos_Puntos] PRIMARY KEY CLUSTERED
([Tipo_Puntos]) ON [PRIMARY]) ON [PRIMARY]

GO


CREATE TABLE [Tabla_Transportistas]
([Codigo_Transportista] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_transportista] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Datos_Personales] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Transportistas] PRIMARY KEY CLUSTERED
([Codigo_Transportista]) ON [PRIMARY]) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Traslado]
([Codigo_Traslado] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_producto] [varchar] (14) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Transportista] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Vehiculo] [varchar] (4) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Local_origen] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Local_Entransito] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Local_Destino] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Ubicacion_Origen] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Ubicacion_Entransito] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Ubicacion_Destino] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Cantidad] [numeric](18, 0) NOT NULL ,
[Fecha_Hora_Salida] [datetime] NOT NULL ,
[Fecha_Hora_Entrega] [datetime] NULL ,
[Codigo_Usuario_Recibe] [varchar] (10) COLLATE Modern_Spanish_CI_AS NULL ,
CONSTRAINT [PK_Tabla_Traslado] PRIMARY KEY CLUSTERED
([Codigo_Traslado]) ON [PRIMARY] ,
CONSTRAINT [FK_Tabla_Traslado_Tabla_Detalle_Traslado] FOREIGN KEY
([Codigo_Traslado]) REFERENCES [Tabla_Detalle_Traslado] ( [Codigo_Traslado]) NOT
FOR REPLICATION ,
CONSTRAINT [FK_Tabla_Traslado_Tabla_Productos] FOREIGN KEY
([Codigo_producto]) REFERENCES [Tabla_Productos] ([Codigo_producto]),
CONSTRAINT [FK_Tabla_Traslado_Tabla_Transportistas] FOREIGN KEY
([Codigo_Transportista]) REFERENCES [Tabla_Transportistas] ([Codigo_Transportista]) ON
UPDATE CASCADE ,
CONSTRAINT [FK_Tabla_Traslado_Tabla_Vehiculos] FOREIGN KEY
([Codigo_Vehiculo]) REFERENCES [Tabla_Vehiculos] ([Codigo_Vehiculo])) ON
[PRIMARY]

GO

CREATE TABLE [Tabla_Ubicaciones]
([Codigo_Ubicacion] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Ubicacion] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Pasillo] [varchar] (3) COLLATE Modern_Spanish_CI_AS NULL ,
[Codigo_Estante] [varchar] (3) COLLATE Modern_Spanish_CI_AS NULL ,
CONSTRAINT [PK_Tabla_Ubicaciones] PRIMARY KEY CLUSTERED
([Codigo_Ubicacion]) ON [PRIMARY] ,
CONSTRAINT [FK_Tabla_Ubicaciones_Tabla_Estantes] FOREIGN KEY
([Codigo_Estante]) REFERENCES [Tabla_Estantes] ([Codigo_Estante] ),
CONSTRAINT [FK_Tabla_Ubicaciones_Tabla_pasillos] FOREIGN KEY
([Codigo_Pasillo]) REFERENCES [Tabla_pasillos] ([Codigo_Pasillo])) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Usuario]
([Codigo_Usuario] [varchar] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Nombre_usuario] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Nivel] [varchar] (2) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Password] [varchar] (10) COLLATE Modern_Spanish_CS_AS NOT NULL ,
[Estado] [varchar] (1) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Fecha_expiracion_password] [datetime] NOT NULL ,
CONSTRAINT [PK_Tabla_Usuario] PRIMARY KEY CLUSTERED
([Codigo_Usuario]) ON [PRIMARY] ,
CONSTRAINT [FK_Tabla_Usuario_Tabla_Estado_Usuario] FOREIGN KEY
([Estado]) REFERENCES [Tabla_Estado_Usuario] ([Estado]),
CONSTRAINT [FK_Tabla_Usuario_Tabla_Niveles] FOREIGN KEY
([Nivel]) REFERENCES [Tabla_Niveles] ([Nivel])) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Vehiculos]
([Codigo_Vehiculo] [varchar] (4) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Vehiculo] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Placa] [varchar] (7) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Modelo] [varchar] (20) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Año] [varchar] (4) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Vehiculos] PRIMARY KEY CLUSTERED
([Codigo_Vehiculo]) ON [PRIMARY]) ON [PRIMARY]

GO

CREATE TABLE [Tabla_Zonas]
([Codigo_Zona] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Descripcion_Zona] [varchar] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ,
[Codigo_Ciudad] [varchar] (3) COLLATE Modern_Spanish_CI_AS NOT NULL ,
CONSTRAINT [PK_Tabla_Zonas] PRIMARY KEY CLUSTERED
([Codigo_Zona]) ON [PRIMARY] ,
CONSTRAINT [FK_Tabla_Zonas_Tabla_Ciudades] FOREIGN KEY
([Codigo_Ciudad]) REFERENCES [Tabla_Ciudades] ([Codigo_Ciudad])) ON [PRIMARY]

GO
Adicionalmente se adjunto en un Apéndice al presente informe 15 Queries, los cuales sirven como ejemplos a fin de demostrar que estando la Base de Datos cargada con información es funcional.

No comments: