Tuesday, March 25, 2008

Diagrama ER Modulo Clientes


Diagrama ER Modulo Traslados


Diagrama ER Modulo Usuarios


Diagrama ER Modulo Facturas


Diagrama ER Modulo Productos o Inventario


Modelo ER Modulo Compras


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.

Sunday, January 20, 2008

Avance I Proyecto Sistemas de DB

Este es el primer avance del proyecto: Sistemas de Control de Empresa Comercial, realizado por Rene Velasquez y Fernando Zelaya.








CENTRO UNIVERSITARIO TECNOLÓGICO






SISTEMAS DE BASES DE DATOS


TAREA
AVANCE I DEL PROYECTO:
SISTEMA DE CONTROL DE EMPRESA COMERCIAL


ING.: OMAR FIGUEROA



ALUMNOS: RENE VELASQUEZ
FERNANDO ALBERTO ZELAYA CALERO

CUENTAS : 30611349
30611023

SECCIÓN: 345



TEGUCIGALPA M.D.C., 20 DE ENERO DE 2008









Tarea Avance I del Proyecto: Sistema de Control de Empresa Comercial.

Introducción:

La empresa comercial “El Niño Feliz” es una empresa destinada a la venta de ropa al mayoreo para niños comprendidos entre 1 y 10 años de edad, la cual necesita tecnificar sus sistemas de información, ya que en estos momentos la información actualizada no se encuentra disponible a cada uno de sus empleados, especialmente a aquellos que tienen el poder de tomar decisiones en la empresa.

Motivo por el cual el sistema general de información de la empresa comercial “El Niño Feliz” debe implementar un Sistema de Gestión de Bases de Datos que sea capaz de administrar una base de datos relacional en tiempo real.

Contenido del Informe:

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. Poseer un catalogo (Metadatos) amplio de información con sus respectivos
formatos y restricciones.
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, 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:


a. Tablas (Ficheros) y sus características:

Clientes: Esta tabla brindará la información sobre los clientes que la empresa tendrá, tanto clientes regulares como ocasionales, que compran mercancía al mayoreo en esta empresa.

Esta tabla esta constituida por los campos (registro del fichero):

Nombre Tipo Tamaño

Campos: Cliente_Id Integer 20
Cliente_Nom Char 50
Cliente_Tel Char 15
Cliente_Dir Char 60
Cliente_FechaIngre Fecha default
Cliente_Lim_Credi Num 12
Cliente_FechaSal Fecha default
Cliente_TipoCont Num 2

Factura: Esta tabla brindará la información sobre las facturas que la empresa tendrá, y sus caracteristicas.

Esta tabla esta constituida por los campos (registro del fichero):

Nombre Tipo Tamaño

Campos: Factura_Id Num 10
Cliente_Id Integer 20
Factura_Fecha Fecha default
Factura_Destino Char 60
TipoFac_Id Num 1
Factura_Trans Char 60


Productos: Esta tabla brindará la información sobre los productos que la empresa tendrá, y sus caracteristicas.

Esta tabla esta constituida por los campos (registro del fichero):

Nombre Tipo Tamaño

Campos: Producto_Id Integer 20
Producto_Nombre Char 50
Producto_Precio Integer 10
Producto_Gravado Num 1
Producto_Existencia Num 3

Detalle_Factura: Esta tabla brindará la información sobre los detalles de las facturas que la empresa emitirá, y sus caracteristicas.

Esta tabla esta constituida por los campos (registro del fichero):

Nombre Tipo Tamaño

Campos: Factura_Id Num 10
DetFactura_Id Num 10
Producto_Id Integer 20
DetFactura_Cant Num 3
Tipo_Precio Num 1

Proveedores: Esta tabla brindará la información sobre los proveedores que la empresa tendrá, tanto regulares como ocasionales que le venden mercancía a esta empresa.

Esta tabla esta constituida por los campos (registro del fichero):

Nombre Tipo Tamaño

Campos: Prov_Id Integer 20
Prov_Nom Char 50
Prov_Tel Char 15
Prov_Dir Char 60
Prov_FechaIngre Fecha default
Prov_Lim_Credi Num 10


Inventario: Esta tabla brindará la información sobre las existencias de productos que la empresa tendrá en sus distintas bodegas y tiendas, y sus caracteristicas.

Esta tabla esta constituida por los campos (registro del fichero):

Nombre Tipo Tamaño

Campos: InvBodega_Id Integer 10
InvTienda_Id Integer 10
InvProducto_Exist Num 3
InvRuta_Id Integer 3
CrearBodega_Id Num 3
CrearTienda_Id Num 3

Usuarios: Esta tabla brindará los tipos de usuarios que la empresa tendrá y sus permisos de acceso a la información, y sus caracteristicas.

Esta tabla esta constituida por los campos (registro del fichero):

Nombre Tipo Tamaño

Campos: Usuario_Id Integer 3
Tienda_Id Integer 10
Producto_Existencia Num 3

b. Tipos de Usuarios: A continuación definiremos los tipos de usuarios que la base de datos de empresa comercial “El Niño Feliz” tendrá y sus características de acceso:

Administrador: tendrá acceso total a la base de datos, este tipo de usuarios podrá consultar, ingresar, modificar y borrar información de la base de datos, además podrá tener acceso a los informes tanto en pantalla como impresos.

Gerencial: tendrá acceso al total de la información en la base de datos, este tipo de usuarios podrá consultar, ingresar, modificar y borrar información de la base de datos, además podrá tener acceso a los informes tanto en pantalla como impresos, a fin de tomar decisiones para la empresa.

Supervisor: tendrá acceso al total de la información en la base de datos, este tipo de usuarios podrá consultar información de la base de datos, además podrá tener acceso a los informes tanto en pantalla como impresos, a fin de verificar inventario, rutas, pedidos.

Vendedor: tendrá acceso a la información de la base de datos, este tipo de usuarios podrá únicamente consultar la información, ingresar información a la parte de facturación del sistema.

c. Facturación: el sistema será capaz de facturar a los diversos clientes varias facturas en tiempo real y varios productos en cada factura y a la vez descargarlo de inventario.

d. Reportes: usara un programa reporteador (ejemplo Cristal Report), que generará reportes fijos, para control de inventario para tiendas, bodegas, contabilidad, gerencia y otros usuarios que los soliciten según privilegios ya establecidos.

e. Almacén: el sistema será capaz de manejar cantidades mínimas y máximas de existencia de productos en almacén, bodega y rutas en transito, generando alertas cuando estas estén en sus limites.

f. Comercial: mantendrá contablemente en tiempo real los precios, cantidades y movimientos de los productos, manejando los tipos de convenios comerciales tanto con clientes como con proveedores.

Wednesday, January 09, 2008

Proyecto sistemas de BD

Se ingresaran los avances del proyecto de la clase de Sistemas de Bases de Datos... trabajo realizado junto con el joven Rene Velasquez...