Está en la página 1de 10

DESCRIPCIN DEL SISTEMA El propsito general del proyecto es la creacin de un sistema informtico para un almacn que se dedica a la venta

artculos personales y para el hogar. Dicho almacn podr as almacenar la informacin de sus clientes. Productos, vendedores, ventas y pagos si las ventas son de crdito; tambin podr disponer de esta informacin de manera ms rpida, confiable y gil. Como modelo de datos se realizara el modelo de bases de datos de datos que ser debidamente diseado empleando las normalizaciones requeridas para su ptimo funcionamiento. En este modelo se relacionara entidades como productos, clientes, ventas, empleados entre otras, el cual le permitir tener la informacin de su negocio siempre disponible de una manera gil, tambin le permitir al usuario final llevar un control sistematizado de todos los movimientos que se realizan en su almacn. MODELO ENTIDAD RELACIN Producto #cod_pro Cliente
#cedula *nombre *apellido *direccin *telfono *celular *marca *descripcin *valor *existencia

Venta
#cod_v *fecha *ced_cli *ced_vend *tipo_v

Ven/Pro
#cod_v #cod_p *cantidad

Abono
#cod_abon *cod_v *nombre *fecha *ced_vend *valor

Vendedor
#cedula *nombre *apellido *direccin *telfono

Tema 2 y 3: Modelo Relacional y normalizacin PASAR EL MODELO ENTIDAD RELACION A MODELO RELACIONAL Cliente (cedula, nombre, apellido, direccin, telfono, celular, deuda) CP: cedula 1FN: No hay arreglos como valores, nombres nicos por cada fila. 2FN: Tiene un nico valor como clave principal. 3FN: No hay dependencia transitiva.

Producto (cod_pro, marcar, descripcin, valor, existencia) CP: cod_pro 1FN: No hay arreglos como valores, nombres nicos por cada fila. 2FN: Tiene un nico atributo como clave principal. 3FN: No hay dependencia transitiva. Vendedor (cod_vend, nombre, apellido, direccin, telfono) CP: cod_vend 1FN: No hay arreglos como valores, nombres nicos por cada fila. 2FN: Tiene un nico valor como clave principal. 3FN: No hay dependencia transitiva. Venta (cod_v, fecha, cedula, cod_vend, tipo_v) CP: cod_v CE: ced_cli, ced_vend 1FN: No hay arreglos como valores, nombres nicos por cada fila. 2FN: Tiene un nico valor como clave principal. 3FN: No hay dependencia transitiva. Ven/Pro (cod_v, cod_pro, cantidad) CP: cod_v, cod_pro 1FN: No hay arreglos como valores, nombres nicos por cada fila. 2FN: los atributos que no son clave dependen totalmente de ella. 3FN: No hay dependencia transitiva. Abono (cod_abon, desripcion, fecha, cod_v, cod_vend) CP: cod_abon CE: cod_v, ced_vend 1FN: No hay arreglos como valores, nombres nicos por cada fila. 2FN: Tiene un nico valor como clave principal. 3FN: No hay dependencia transitiva.

Tema 4: Implementacin IMPLEMENTACIN EN MODELO RELACIONAL EN SQL SERVER

TABLAS Cliente:

TBLCLIENTE
Nombre de columna CEDULA NOM_CLI APELLIDOS DIRECCION TELE CELULAR DEUDA Tipo comprimido varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) float Aceptacin de valores NULL No No S S No S S

Vendedor:

TBLVENDEDOR
Nombre de columna COD_VEND NOM_VEND APELLIDOS DIRECCION TELE Tipo comprimido int varchar(50) varchar(50) varchar(50) varchar(50) Aceptacin de valores NULL No No S S No

Producto

TBLPRODUCTO
Nombre de columna COD_PRO MARCA DESCRPCION VALOR EXISTENCIA Tipo comprimido int varchar(50) varchar(50) int int Aceptacin de valores NULL No S S No No

Venta

TBLVENTA
Nombre de columna COD_V CEDULA COD_VEND FECHA TIPO Tipo comprimido int varchar(50) int datetime varchar(50) Aceptacin de valores NULL No S S No S

Ven_pro
TBLVEN_PRO
Nombre de columna COD_V COD_PRO CANTIDAD Tipo comprimido int int int Aceptacin de valores NULL No No No

Abono

TBLABONO
Nombre de columna COD_ABON COD_V DESCRPCION FECHA COD_VEND Tipo comprimido int int varchar(50) datetime int Aceptacin de valores NULL No S S No S

Tema 5: Reglas de Integridad COMANDOS PARA CREAR LA BASE DE DATOS


CREATE DATABASE DBalmacen USE DBalmacen CREATE TABLE TBLPRODUCTO( COD_PRO INT,

MARCA VARCHAR(50), DESCRPCION VARCHAR(50), VALOR int NOT NULL, EXISTENCIA INT NOT NULL, CHECK(EXISTENCIA >= 10 AND EXISTENCIA < 500000), PRIMARY KEY(COD_PRO), ) CREATE TABLE TBLCLIENTE( CEDULA VARCHAR(50), NOM_CLI VARCHAR(50)NOT NULL, APELLIDOS VARCHAR (50), DIRECCION VARCHAR(50), TELE VARCHAR(50) NOT NULL, CELULAR VARCHAR(50), DEUDA FLOAT, PRIMARY KEY(CEDULA)) CREATE TABLE TBLVENDEDOR( COD_VEND INT, NOM_VEND VARCHAR(50)NOT NULL, APELLIDOS VARCHAR (50), DIRECCION VARCHAR(50), TELE VARCHAR(50) NOT NULL, PRIMARY KEY(COD_VEND)) CREATE TABLE TBLVENTA( COD_V INT, CEDULA VARCHAR(50), COD_VEND INT, FECHA DATETIME DEFAULT GETDATE()NOT NULL, TIPO VARCHAR(50), PRIMARY KEY(COD_V), FOREIGN KEY(COD_VEND)REFERENCES TBLVENDEDOR(COD_VEND)ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY(CEDULA)REFERENCES TBLCLIENTE(CEDULA)ON DELETE CASCADE ON UPDATE CASCADE) CREATE TABLE TBLVEN_PRO( COD_V INT, COD_PRO INT, CANTIDAD INT NOT NULL, CHECK(CANTIDAD > 0), PRIMARY KEY(COD_V,COD_PRO), FOREIGN KEY(COD_PRO)REFERENCES TBLPRODUCTO(COD_PRO)ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY(COD_V)REFERENCES TBLVENTA(COD_V)ON DELETE CASCADE ON UPDATE CASCADE ) CREATE TABLE TBLABONO( COD_ABON INT, COD_V INT, DESCRPCION VARCHAR(50), FECHA DATETIME DEFAULT GETDATE()NOT NULL, COD_VEND INT, PRIMARY KEY(COD_ABON), FOREIGN KEY(COD_V)REFERENCES TBLVENTA(COD_V)ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY(COD_VEND)REFERENCES TBLVENDEDOR(COD_VEND))

INSERT INTO TBLPRODUCTO INSERT INTO TBLPRODUCTO INSERT INTO TBLPRODUCTO AZUL',120000,10000) INSERT INTO TBLPRODUCTO INSERT INTO TBLPRODUCTO

VALUES(10,'CAMISA','PAT PRIMO',60000,6000) VALUES(11,'PANTALON','lEVIS',80000,50000) VALUES(12,'CHAQUETA','COSTA VALUES(13,'FALDA','PAT PRIMO',40000,30000) VALUES(14,'CHORT','PAT PRIMO',30000,20000)

INSERT INTO TBLCLIENTE VALUES(101,'ANDRES','CARVAJAL RIOS','CALLE12', '1012', '202563', 0) INSERT INTO TBLCLIENTE VALUES(201,'LUIS','PEREZ LOIZA','CALLE13','2326', '213696',0) INSERT INTO TBLCLIENTE VALUES(301,'ALVARO','CANO RUIZ', 'CALLE125','2589', '452635',200000) INSERT INTO TBLCLIENTE VALUES(401,'DAVID',' ANDRADE CORTS','CALLE145','4587','789865',20000) INSERT INTO TBLCLIENTE VALUES(402,'DAVID',' ANDRADE CORTS','CALLE145','4587','789865',20000) INSERT INTO TBLVENDEDOR VALUES(101,'ANDRES','CARVAJAL RIOS','CALLE12', '1012') INSERT INTO TBLVENDEDOR VALUES(201,'RAUL','PEREZ LOIZA','CALLE13','2326') INSERT INTO TBLVENDEDOR VALUES(301,'PEDRO','CANO RUIZ', 'CALLE125', '452635') INSERT INTO TBLVENDEDOR VALUES(401,'LUISA',' ANDRADE CORTS','CALLE145','789865') INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO INTO TBLVENTA TBLVENTA TBLVENTA TBLVENTA VALUES(1,101, VALUES(2,101, VALUES(3,201, VALUES(4,401, 201,GETDATE(),'CONTADO') 301, GETDATE(),'CONTADO') 301,GETDATE(),'CREDITO') 101,GETDATE(),'CREDITO')

TBLVEN_PRO TBLVEN_PRO TBLVEN_PRO TBLVEN_PRO TBLVEN_PRO TBLVEN_PRO TBLVEN_PRO TBLVEN_PRO TBLVEN_PRO TBLVEN_PRO TBLVEN_PRO TBLVEN_PRO TBLVEN_PRO TBLABONO TBLABONO TBLABONO TBLABONO TBLABONO TBLABONO

VALUES(1,10,10) VALUES(2,11,10) VALUES(1,12,10) VALUES(2,12,10) VALUES(3,10,10) VALUES(4,14,10) VALUES(2,10,10) VALUES(3,12,10) VALUES(3,11,10) VALUES(4,11,10) VALUES(4,13,10) VALUES(1,13,10) VALUES(1,14,10)

VALUES(1,1,'EFECTIVO',GETDATE(),101) VALUES(2,2,'EFECTIVO',GETDATE(),201) VALUES(3,1,'EFECTIVO',GETDATE(),301) VALUES(4,3,'EFECTIVO',GETDATE(),301) VALUES(5,4,'EFECTIVO',GETDATE(),301) VALUES(6,1,'EFECTIVO',GETDATE(),101)

SELECT * FROM TBLABONO

RELACIONES

TBLVEN_PRO
COD_V COD_PRO CANTIDAD

TBLVENTA *
COD_V CEDULA COD_VEND FECHA TIPO

TBLCLIENTE
CEDULA NOM_CLI APELLIDOS DIRECCION TELE CELULAR DEUDA

TBLPRODUCTO
COD_PRO MARCA DESCRPCION VALOR EXISTENCIA

TBLABONO *
COD_ABON

TBLVENDEDOR *
COD_VEND NOM_VEND APELLIDOS DIRECCION TELE

COD_V DESCRPCION FECHA COD_VEND

Tema 6: diccionario de datos (DD )

Diccionario de Datos
Projectname Projectauthor Projectdescription Date of report Tablas de la base de datos DBalmacen dbo TBLCLIENTE DBalmacen dbo TBLVENDEDOR DBalmacen dbo TBLVENTA DBalmacen dbo TBLVEN_PRO DBalmacen dbo TBLABONO DBalmacen dbo TBLPRODUCTO

Tema 7: Documentar el diseo de la base de datos

Especificacin de reglas del negocio Mantener un inventario de los productos que se manejan en el almacn. Llevar un registro exacto de las ventas que se realizan a cada cliente y lo que ha comprado. Evitar bsquedas extenuantes al momento de realizar una venta a crdito o registrar un abono. Disminuir el ndice de prdidas de productos. Realizar cruces de informacin dinmicos, con el fin de saber que se est cobrando y que no se ha facturado aun. Controlar las salida de dichos productos con su precio de venta Tener el control de la cantidad productos en existencia

Diccionario de datos. Restricciones de integridad. Exixtencia del producto solo entre 10 500000 CHECK(EXISTENCIA >= 10 AND EXISTENCIA < 500000), El nombre del cliente es requerido NOM_CLI VARCHAR(50)NOT NULL, La fecha de la venta es la actual o del sistema FECHA DATETIME DEFAULT GETDATE()NOT NULL, La cantidad vendida de productos debe ser mayor que cero CHECK(CANTIDAD > 0), Derivaciones. 1. 2. 3. 4. 5. Seleccionar todos los datos de los productos que ha comprado un cliente. Seleccionar la suma de las ventas a crdito de un cliente. Seleccionar la suma de los abonos de un cliente. Seleccionar el nmero de compras por cliente. Seleccionar el nmero de ventas realizadas por un vendedor

Documentacin heredada del diseo conceptual Un cliente involucrado en varias ventas y la venta es para un solo cliente El vendedor registra ventas y la venta solo es registrada por un vendedor Una venta involucra varios productos y un producto puede estar involucrado en varias Ventas. Una venta puede generar varios pagos y el abono debe corresponder a una venta. Un abono lo debe registrar un vendedor y el vendedor recibe varios abonos La tabla ven_pro o detalle venta que sale de la relacin de muchos a muchos entre ventas y productos ya que una venta se hace para varios productos y un producto est en varias ventas

Restricciones de integridad referencial. Las claves principales y externas de cada tabla: Cliente (cedula, nombre, apellido, direccin, telfono, celular, deuda) CP: cedula Producto (cod_pro, marcar, descripcin, valor, existencia) CP: cod_pro Vendedor (cod_vend, nombre, apellido, direccin, telfono) CP: cod_vend Venta (cod_v, fecha, cedula, cod_vend, tipo_v) CP: cod_v CE: ced_cli, ced_vend Ven/Pro (cod_v, cod_pro, cantidad) CP: cod_v, cod_pro Abono (cod_abon, desripcion, fecha, cod_v, cod_vend) CP: cod_abon CE: cod_v, cod_vend Las actualizaciones y borrados de registros son en cascada: FOREIGN KEY(COD_VEND)REFERENCES TBLVENDEDOR(COD_VEND) ON DELETE CASCADE ON UPDATE CASCADE, Las claves principales y externas no aceptan valores null. Los valores de clave externa deben corresponder con un valor de clave principal Cedula clientes 101 201 301 401 402 Las ventas son para los clientes registrados, si llega un cliente nuevo a comprar primero se registra el cliente. Cod_V 1 2 3 4 fecha 2011-03-17 2011-03-17 2011-03-17 2011-03-17 cod cli 101 101 201 401

También podría gustarte